:root{
  --paper:#f2ece8; --paper2:#e7ddd5; --ink:#151311; --muted:#71675f;
  --line:rgba(21,19,17,.14); --cream:#faf7f4; --accent:#b69b86;
  --shadow:0 28px 80px rgba(69,48,34,.14);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%;height:auto}
.progress{position:fixed;left:0;top:0;width:100%;height:2px;z-index:100;background:transparent}.progress span{display:block;height:100%;width:0;background:var(--ink)}
.floating-nav{position:fixed;right:24px;top:22px;z-index:90;display:flex;gap:5px;padding:6px;background:rgba(248,244,240,.72);backdrop-filter:blur(18px);border:1px solid rgba(21,19,17,.08);border-radius:999px;box-shadow:0 10px 40px rgba(40,30,22,.08)}.floating-nav a{font-size:11px;text-transform:uppercase;letter-spacing:.11em;padding:9px 12px;border-radius:999px;transition:.3s}.floating-nav a:hover,.floating-nav a.active{background:var(--ink);color:#fff}
.section{position:relative;min-height:100vh;padding:clamp(70px,8vw,120px) clamp(24px,6vw,100px);overflow:hidden;border-bottom:1px solid var(--line)}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.22em;font-weight:600}.section-no{font-family:Georgia,serif;font-size:14px;font-style:italic;opacity:.55;border-bottom:1px solid var(--ink);padding-bottom:8px;min-width:36px}.section-head{display:flex;align-items:flex-start;gap:30px;max-width:1200px;margin:0 auto 60px}.section-head h2,.package-intro h2,.contact-left h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,6.5vw,96px);line-height:.94;font-weight:400;letter-spacing:-.045em;margin:16px 0 0}.section-head h2 em,.contact-left h2 em{font-weight:400;color:var(--muted)}

.hero{padding:0;min-height:100svh;display:flex;align-items:flex-end}.hero-image-wrap{position:absolute;inset:0}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(239,232,226,.95) 0%,rgba(239,232,226,.64) 45%,rgba(239,232,226,.12) 76%),linear-gradient(0deg,rgba(239,232,226,.72),transparent 50%)}.hero-copy{position:relative;z-index:3;max-width:920px;padding:0 clamp(26px,7vw,120px) 10vh}.brand{font-family:Georgia,"Times New Roman",serif;font-size:clamp(100px,18vw,270px);font-weight:400;letter-spacing:-.08em;line-height:.72;margin:28px 0 32px}.spark{font-size:.19em;vertical-align:top;margin-left:.08em}.hero-tagline{font-family:Georgia,serif;font-size:clamp(20px,2vw,32px);line-height:1.26;max-width:760px;margin:0 0 36px}.text-link{display:inline-flex;gap:16px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.18em;border-bottom:1px solid currentColor;padding-bottom:6px}.shadow-art{position:absolute;mix-blend-mode:multiply;opacity:.5;pointer-events:none}.shadow-art-a{width:min(55vw,700px);left:-14vw;bottom:-18vw;transform:rotate(-8deg)}

.process-section{background:#f4efeb;isolation:isolate}.process-section::before{content:"";position:absolute;inset:0;background:url("assets/p02_img04.jpeg") center center/cover no-repeat;opacity:.10;filter:grayscale(.15);z-index:0;pointer-events:none}.process-section::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(244,239,235,.90),rgba(244,239,235,.76) 45%,rgba(244,239,235,.92));z-index:0;pointer-events:none}.process-section .section-head,.process-section .process-grid{position:relative;z-index:2}.process-grid{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,3vw,42px);max-width:1320px;margin:0 auto;align-items:start}.process-card{display:flex;flex-direction:column;gap:14px;min-width:0}.step-label{display:flex;align-items:baseline;gap:12px}.step-label span{font-size:11px;letter-spacing:.12em;opacity:.5}.step-label h3{font-family:Georgia,serif;font-size:32px;font-weight:400;margin:0}.step-copy{margin:0 0 4px;max-width:36ch;min-height:4.7em;font-size:14px;line-height:1.58;color:var(--muted)}.media{margin:0;padding:13px;background:rgba(255,255,255,.45);border:1px solid rgba(21,19,17,.1);box-shadow:var(--shadow);border-radius:26px;overflow:hidden}.process-media{width:100%;aspect-ratio:986/538;display:flex;align-items:center;justify-content:center}.process-media img{width:100%;height:100%;object-fit:contain;border-radius:18px}

.packages-section{background:linear-gradient(180deg,#1d1a17 0%,#26211d 100%);color:#f7f1ec;min-height:auto;padding-top:110px;padding-bottom:120px}.package-intro{max-width:1320px;margin:0 auto 52px;display:grid;grid-template-columns:44px minmax(140px,.4fr) 2fr 1fr;align-items:end;gap:24px}.package-intro h2{font-size:clamp(54px,7vw,104px);grid-column:3;line-height:.9;margin:0}.package-intro .eyebrow{grid-column:2}.package-intro .section-no{grid-column:1;grid-row:1}.package-note{grid-column:4;align-self:end;font-family:Georgia,serif;font-style:italic;font-size:18px;line-height:1.4;color:#c9bdb4;margin:0 0 4px}.package-stage{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1fr 1.18fr 1fr;align-items:center;gap:18px}.package-card{position:relative;background:#efe7df;color:#171411;border-radius:30px;padding:34px 34px 38px;min-height:610px;box-shadow:0 24px 70px rgba(0,0,0,.24);transition:transform .35s ease,box-shadow .35s}.package-card:hover{transform:translateY(-7px);box-shadow:0 34px 90px rgba(0,0,0,.3)}.package-card.featured{min-height:690px;background:#f9f5f1;padding:44px 42px 46px;border:1px solid rgba(255,255,255,.7);transform:translateY(-10px)}.package-card.featured:hover{transform:translateY(-18px)}.package-card.featured:after{content:"";position:absolute;inset:12px;border:1px solid rgba(21,19,17,.15);border-radius:22px;pointer-events:none}.featured-tag{position:absolute;right:28px;top:28px;font-size:10px;text-transform:uppercase;letter-spacing:.17em;padding:7px 10px;border:1px solid rgba(21,19,17,.18);border-radius:99px}.package-top{display:flex;gap:10px;align-items:center;margin-bottom:42px}.package-top p{font-family:Georgia,serif;font-size:30px;margin:0}.package-star{font-size:17px}.price{display:flex;align-items:flex-start;gap:8px;margin-bottom:5px}.price small{font-size:12px;letter-spacing:.14em;margin-top:12px}.price strong{font-family:Georgia,serif;font-weight:400;font-size:clamp(64px,5vw,88px);letter-spacing:-.06em;line-height:1}.guest-count{padding:15px 0 25px;border-bottom:1px solid rgba(21,19,17,.14);font-size:13px;text-transform:uppercase;letter-spacing:.13em}.guest-count b{font-family:Georgia,serif;font-size:22px;font-weight:400;letter-spacing:0}.package-card ul{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:15px}.package-card li{font-size:14px;line-height:1.45;padding-left:20px;position:relative}.package-card li:before{content:"✦";position:absolute;left:0;top:1px;font-size:9px}.package-foot{max-width:1320px;margin:34px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.16);font-family:Georgia,serif;font-style:italic;color:#cbbfb6;font-size:17px;text-align:center}

.gallery-section{background:#eee7e1;padding-bottom:160px}.gallery-head{margin-bottom:40px}.art-grid{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;gap:22px;align-items:start}.art-item{margin:0;background:rgba(255,255,255,.62);padding:14px;border:1px solid rgba(21,19,17,.09);box-shadow:0 16px 45px rgba(69,48,34,.08);border-radius:26px;transition:transform .35s ease}.art-item:hover{transform:translateY(-6px) rotate(.4deg)}.art-item img{width:100%;height:auto;object-fit:contain;border-radius:17px}.art-item.wide{grid-column:span 5}.art-item.medium{grid-column:span 4}.art-item.tall{grid-column:span 3}.art-item.square{grid-column:span 4}.art-item.compact{grid-column:span 3}.art-item:nth-child(2){margin-top:80px}.art-item:nth-child(3){margin-top:18px}.art-item:nth-child(4){margin-top:-25px}.art-item:nth-child(6){margin-top:55px}.art-item:nth-child(8){margin-top:-10px}.gallery-shadow{width:min(55vw,780px);right:-15vw;bottom:-15vw;opacity:.26;transform:rotate(15deg)}

.contact-section{background:#f5f0ec;display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center;isolation:isolate}.contact-section::before{content:"";position:absolute;inset:0;background:url("assets/p05_img01.jpeg") right center/cover no-repeat;opacity:.09;filter:grayscale(.15);z-index:0;pointer-events:none}.contact-section::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,240,236,.98) 0%,rgba(245,240,236,.88) 45%,rgba(245,240,236,.58) 100%);z-index:0;pointer-events:none}.contact-left,.contact-card{position:relative;z-index:2}.booking-flow{display:grid;gap:24px;margin-top:50px;max-width:700px}.booking-flow>div{display:grid;grid-template-columns:46px 1fr;gap:18px;padding-top:20px;border-top:1px solid var(--line)}.booking-flow span{font-family:Georgia,serif;font-style:italic;color:var(--muted)}.booking-flow p{margin:0;line-height:1.55}.contact-card{background:#191715;color:#fff;border-radius:34px;padding:52px;box-shadow:var(--shadow);min-height:440px;display:flex;flex-direction:column}.contact-card .eyebrow{color:#bfb3aa;margin-bottom:60px}.contact-card>a{font-family:Georgia,serif;font-size:clamp(24px,2.3vw,38px);margin:6px 0}.thank-you{margin-top:auto;font-family:Georgia,serif;font-size:clamp(54px,5vw,80px);letter-spacing:-.04em;display:flex;align-items:flex-start;gap:9px}.thank-you span{font-size:.2em;margin-top:10px}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}.reveal.delay-1{transition-delay:.12s}.reveal.delay-2{transition-delay:.24s}.reveal.delay-3{transition-delay:.36s}.zoom-soft{transform:scale(1.035);transition:opacity 1.1s ease,transform 1.8s cubic-bezier(.2,.7,.2,1)}.zoom-soft.visible{transform:scale(1)}
@media (max-width:1000px){.floating-nav{display:none}.process-grid{grid-template-columns:1fr 1fr}.process-card:first-child{grid-column:1/-1;max-width:760px}.process-card:first-child .media{margin-top:0}.step-copy{min-height:auto}.package-intro{grid-template-columns:40px 1fr}.package-intro .eyebrow{grid-column:2}.package-intro h2{grid-column:1/-1}.package-note{grid-column:1/-1}.package-stage{grid-template-columns:1fr;max-width:720px}.package-card,.package-card.featured{min-height:auto;transform:none}.package-card.featured:hover{transform:translateY(-7px)}.art-item.wide,.art-item.medium,.art-item.tall,.art-item.square,.art-item.compact{grid-column:span 6}.contact-section{grid-template-columns:1fr}.contact-card{min-height:360px}}
@media (max-width:650px){.section{padding:72px 20px}.hero-copy{padding:0 22px 9vh}.brand{font-size:26vw}.hero-tagline{font-size:20px}.section-head{gap:14px}.section-head h2,.contact-left h2{font-size:13vw}.process-grid{grid-template-columns:1fr}.process-card:first-child{grid-column:auto;max-width:none}.step-copy{min-height:auto}.package-intro{display:block}.package-intro .section-no{display:inline-block;margin-bottom:22px}.package-intro h2{font-size:14vw;margin:14px 0 22px}.package-note{margin-top:16px}.package-card,.package-card.featured{padding:30px 26px;border-radius:24px}.price strong{font-size:18vw}.featured-tag{position:static;display:inline-block;margin-bottom:20px}.art-grid{gap:14px}.art-item.wide,.art-item.medium,.art-item.tall,.art-item.square,.art-item.compact{grid-column:span 12;margin-top:0}.art-item{padding:10px;border-radius:20px}.contact-card{padding:32px 25px}.contact-card .eyebrow{margin-bottom:35px}.booking-flow>div{grid-template-columns:34px 1fr}.thank-you{font-size:15vw}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.zoom-soft{opacity:1!important;transform:none!important;transition:none!important}.package-card,.art-item{transition:none!important}}

/* Official iStetiks logo */
.brand-logo { width: min(720px, 72vw); margin: 14px 0 12px; }
.brand-logo img { display:block; width:100%; height:auto; object-fit:contain; }
.fixed-brand{position:fixed;left:24px;top:22px;z-index:95;display:block;width:132px;line-height:0;filter:drop-shadow(0 4px 12px rgba(255,255,255,.28));}
.fixed-brand img{display:block;width:100%;height:auto;object-fit:contain;}
@media (max-width:760px){
  .brand-logo{width:min(520px,84vw);}
  .fixed-brand{left:16px;top:16px;width:96px;}
}


/* Guest experience strip beneath the three process steps */
.guest-experience{
  position:relative;z-index:2;max-width:1320px;margin:54px auto 0;padding:28px 32px 30px;
  background:rgba(255,255,255,.42);border:1px solid rgba(21,19,17,.10);border-radius:28px;
  backdrop-filter:blur(12px);box-shadow:0 18px 50px rgba(69,48,34,.08);
}
.guest-experience-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding-bottom:18px;border-bottom:1px solid rgba(21,19,17,.11)}
.guest-experience-head .eyebrow{margin:0}
.guest-experience-head p{margin:0;max-width:520px;text-align:right;font-family:Georgia,serif;font-size:17px;line-height:1.45;color:var(--muted);font-style:italic}
.guest-experience-row{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:22px;padding-top:24px}
.guest-experience-item{display:flex;align-items:center;gap:12px;white-space:nowrap}
.guest-experience-item span{width:34px;height:34px;border:1px solid rgba(21,19,17,.16);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:12px;color:var(--muted);background:rgba(250,247,244,.55)}
.guest-experience-item p{margin:0;font-family:Georgia,serif;font-size:clamp(17px,1.55vw,22px);line-height:1.2}
.guest-experience-line{height:1px;background:linear-gradient(90deg,rgba(21,19,17,.09),rgba(21,19,17,.28),rgba(21,19,17,.09));min-width:30px}
@media (max-width:1000px){
  .guest-experience{margin-top:42px;padding:24px}
  .guest-experience-head{display:block}.guest-experience-head p{margin-top:8px;text-align:left}
  .guest-experience-row{grid-template-columns:1fr;gap:12px}
  .guest-experience-line{width:1px;height:18px;margin-left:16px;background:linear-gradient(180deg,rgba(21,19,17,.09),rgba(21,19,17,.28),rgba(21,19,17,.09))}
  .guest-experience-item{white-space:normal}
}
@media (max-width:650px){
  .guest-experience{margin-top:34px;padding:22px 20px;border-radius:22px}
  .guest-experience-head p{font-size:15px}
  .guest-experience-item p{font-size:18px}
}

/* Layered editorial keychain carousel */
.gallery-section{
  overflow:hidden;
  padding-bottom:130px;
  background:
    radial-gradient(circle at 50% 52%, rgba(255,255,255,.72), rgba(255,255,255,0) 42%),
    #eee7e1;
}
.keychain-carousel{max-width:1500px;margin:12px auto 0;position:relative;z-index:2;user-select:none;-webkit-user-select:none}
.carousel-stage{
  position:relative;
  height:clamp(390px,48vw,650px);
  width:100%;
  outline:none;
  touch-action:pan-y;
  cursor:grab;
  perspective:1400px;
}
.carousel-stage.is-dragging{cursor:grabbing}
.carousel-card{
  --x:0px;--scale:1;--opacity:1;--z:1;--tilt:0deg;--parallax-x:0px;--parallax-y:0px;
  position:absolute;
  left:50%;top:50%;
  width:clamp(235px,32vw,470px);
  aspect-ratio:1/1;
  margin:0;
  transform:translate(-50%,-50%) translateX(var(--x)) scale(var(--scale)) rotateY(var(--tilt));
  transform-origin:center;
  opacity:var(--opacity);
  z-index:var(--z);
  transition:transform .72s cubic-bezier(.2,.72,.18,1),opacity .56s ease,filter .56s ease;
  filter:saturate(.86) brightness(.96);
  pointer-events:none;
  will-change:transform,opacity;
}
.carousel-card.is-active{filter:none;pointer-events:auto}
.carousel-card.is-far{pointer-events:none}
.carousel-image{
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  padding:clamp(14px,2vw,26px);
  border-radius:clamp(24px,2.5vw,38px);
  overflow:hidden;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(21,19,17,.09);
  box-shadow:0 28px 70px rgba(69,48,34,.13);
  transform:translate(var(--parallax-x),var(--parallax-y));
  transition:transform .26s ease-out,box-shadow .5s ease;
}
.carousel-card.is-active .carousel-image{box-shadow:0 34px 90px rgba(69,48,34,.2)}
.carousel-image img{width:100%;height:100%;object-fit:contain;border-radius:clamp(16px,1.7vw,26px);pointer-events:none}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:2px}
.carousel-arrow{
  width:58px;height:58px;border-radius:50%;
  border:1px solid rgba(21,19,17,.55);
  color:var(--ink);background:rgba(250,247,244,.72);
  backdrop-filter:blur(12px);
  font:400 24px/1 Georgia,serif;
  display:grid;place-items:center;
  cursor:pointer;
  transition:transform .25s ease,background .25s ease,border-color .25s ease;
}
.carousel-arrow:hover{transform:translateY(-2px);background:#fff;border-color:var(--ink)}
.carousel-arrow:active{transform:translateY(0) scale(.96)}
.carousel-status{min-width:82px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px;letter-spacing:.16em;color:var(--muted)}
.carousel-status i{display:block;width:20px;height:1px;background:rgba(21,19,17,.26)}
.carousel-current{color:var(--ink)}
.carousel-hint{text-align:center;margin:15px 0 0;font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}

@media (max-width:1000px){
  .carousel-stage{height:clamp(370px,66vw,590px)}
  .carousel-card{width:clamp(230px,46vw,420px)}
}
@media (max-width:650px){
  .gallery-section{padding-bottom:90px}
  .carousel-stage{height:390px;margin-inline:-20px;width:calc(100% + 40px)}
  .carousel-card{width:min(72vw,300px)}
  .carousel-arrow{width:50px;height:50px;font-size:21px}
  .carousel-controls{gap:16px}
  .carousel-hint{margin-top:12px}
}
@media (prefers-reduced-motion:reduce){
  .carousel-card,.carousel-image,.carousel-arrow{transition:none!important}
}

.site-footer{background:#191715;color:#bfb3aa;padding:22px 32px;text-align:center;border-top:1px solid rgba(255,255,255,.08)}.site-footer p{margin:0;font-size:12px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:650px){.site-footer{padding:20px}.site-footer p{font-size:10px;letter-spacing:.06em}}
