/* ============ FONTS ============ */
@font-face{
  font-family:'Ultion';
  src:url('../assets/fonts/ultion-regular.woff') format('woff');
  font-weight:400; font-style:normal; font-display:swap;
}

@font-face{
  font-family:'Ultion';
  src:url('../assets/fonts/ultion-medium.woff') format('woff');
  font-weight:500; font-style:normal; font-display:swap;
}

@font-face{
  font-family:'Ultion';
  src:url('../assets/fonts/ultion-bold.woff') format('woff');
  font-weight:700; font-style:normal; font-display:swap;
}

@font-face{
  font-family:'Ultion Text';
  src:url('../assets/fonts/ultiontext-bold.woff') format('woff');
  font-weight:700; font-style:normal; font-display:swap;
}

@font-face{
  font-family:'Ultion Text';
  src:url('../assets/fonts/ultiontext-black.woff') format('woff');
  font-weight:900; font-style:normal; font-display:swap;
}

/* ============ TOKENS — sampled from the YAZAN boutique interior ============ */
:root{
  --ivory:      #F1EBE0;   /* wall / open space */
  --cream:      #E8DFCE;   /* secondary panel */
  --stone:      #DACEB8;   /* dividers, deeper panel */
  --taupe:      #6A5F4E;   /* secondary text */
  --taupe-lt:   #BBA98D;   /* secondary text on dark */
  --ink:        #1B1512;   /* near-black, warm */
  --ink-2:      #241C17;
  --line-on-ink:#3E332A;

  --burgundy:      #5C2430; /* sampled from the boutique niches */
  --burgundy-deep: #33141B; /* dark variant for immersive sections */
  --burgundy-lit:  #7C3B34; /* lit / gradient variant */

  --display: 'Ultion', Georgia, serif;
  --display-text: 'Ultion Text', Georgia, serif;
  --sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;

  --ease: cubic-bezier(.22,.61,.36,1);
}

*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;}

a, button, input, textarea{touch-action:manipulation;}

/* ============ ACCESSIBILITY: focus, skip link, reduced motion ============ */
:focus{outline:none;}

:focus-visible{
  outline:none;
  box-shadow:0 0 0 2px var(--ivory), 0 0 0 4px var(--burgundy);
  border-radius:2px;
}

.contact-toggle input:focus-visible + .pill,
.mobile-menu a:focus-visible{
  box-shadow:0 0 0 2px var(--ivory), 0 0 0 4px var(--burgundy);
  outline:none;
}

.skip-link{
  position:absolute;
  left:6px;top:-60px;
  z-index:1000;
  background:var(--ink);
  color:var(--ivory);
  padding:14px 20px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:top .25s var(--ease);
}

.skip-link:focus{top:6px;}

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:0.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.001ms !important;
    scroll-behavior:auto !important;
  }
}

body{
  background:var(--ivory);
  color:var(--ink);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{display:block;max-width:100%;}

a{color:inherit;text-decoration:none;}

button{font-family:inherit;border:none;background:none;cursor:pointer;}

.container{
  width:100%;
  max-width:1400px;
  margin:0 auto;
  padding:0 6vw;
}

@media(min-width:1600px){.container{padding:0 8vw;}}

.eyebrow{
  font-family:var(--sans);
  font-size:11px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--taupe);
}

.eyebrow.on-dark{color:var(--taupe-lt);}

.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity 1s var(--ease), transform 1s var(--ease);
}

.reveal.in{opacity:1;transform:translateY(0);}

.reveal-stag > *{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .9s var(--ease), transform .9s var(--ease);
}

.reveal-stag.in > *{opacity:1;transform:translateY(0);}

.reveal-stag.in > *:nth-child(1){transition-delay:.05s;}

.reveal-stag.in > *:nth-child(2){transition-delay:.16s;}

.reveal-stag.in > *:nth-child(3){transition-delay:.27s;}

.reveal-stag.in > *:nth-child(4){transition-delay:.38s;}

@media (prefers-reduced-motion: reduce){
  .reveal,.reveal-stag > *{opacity:1 !important;transform:none !important;transition:none !important;}
  html{scroll-behavior:auto;}
}

.stitch{
  height:1px;width:100%;
  background-image:repeating-linear-gradient(100deg, var(--taupe) 0 7px, transparent 7px 15px);
  opacity:.5;
}

.stitch.on-dark{background-image:repeating-linear-gradient(100deg, var(--taupe-lt) 0 7px, transparent 7px 15px);}

/* ============ NAV — restrained: mark + single Menu control ============ */
.nav{
  position:fixed;
  top:0;left:0;right:0;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:28px 6vw;
  padding-top:max(28px, calc(env(safe-area-inset-top) + 14px));
  padding-left:max(6vw, calc(env(safe-area-inset-left) + 6vw));
  padding-right:max(6vw, calc(env(safe-area-inset-right) + 6vw));
  transition:padding .5s var(--ease);
}

.nav.scrolled{padding-top:max(18px, calc(env(safe-area-inset-top) + 10px));padding-bottom:18px;}

.nav-logo-link{display:inline-flex;padding:12px;margin:-12px;}

.nav-mark{height:26px;width:26px;transition:filter .5s var(--ease);}

.nav.on-dark .nav-mark{filter:brightness(0) invert(1);}

.nav.scrolled .nav-mark{filter:none;}

.nav-menu-btn{
  font-size:11px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ivory);
  padding:14px 12px;
  margin:-14px -12px;
  transition:color .5s var(--ease), opacity .3s;
}

.nav.scrolled .nav-menu-btn{color:var(--ink);}

.nav-menu-btn:hover{opacity:.6;}

.mobile-menu{
  position:fixed;inset:0;
  background:var(--ivory);
  z-index:150;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:0 8vw;
  padding-left:max(8vw, calc(env(safe-area-inset-left) + 8vw));
  padding-right:max(8vw, calc(env(safe-area-inset-right) + 8vw));
  transform:translateY(-100%);
  visibility:hidden;
  transition:transform .6s var(--ease), visibility 0s linear .6s;
}

.mobile-menu.open{
  transform:translateY(0);
  visibility:visible;
  transition:transform .6s var(--ease), visibility 0s linear 0s;
}

.mobile-menu-close{
  position:absolute;
  top:max(28px, calc(env(safe-area-inset-top) + 20px));right:6vw;
  font-size:11px;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  padding:14px 12px;
  margin:-14px -12px;
}

.mobile-menu a{
  display:block;
  font-family:var(--display);
  font-weight:500;
  font-size:clamp(34px,9vw,58px);
  padding:12px 0;
  border-bottom:1px solid var(--stone);
}

.mobile-menu-foot{
  margin-top:36px;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe);
}

/* ============ HERO — fashion photography leads ============ */
.hero{
  position:relative;
  min-height:100vh;
  min-height:100svh;
  color:var(--ivory);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  background:var(--ink);
}

.hero-media{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:50% 18%;
  background:var(--ink) center/cover;
}

.hero-scrim{
  position:absolute;inset:0;
  background:linear-gradient(0deg, rgba(15,10,8,.62) 0%, rgba(15,10,8,.16) 38%, rgba(15,10,8,.02) 58%, rgba(20,12,10,.12) 100%);
}

.hero-tap-fallback{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  z-index:6;
  width:64px;height:64px;
  border-radius:50%;
  background:rgba(0,0,0,.45);
  color:#fff;
  font-size:20px;
  display:none;
  align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.6);
}

.hero-tap-fallback.show{display:flex;}

.hero-inner{
  position:relative;
  z-index:2;
  padding:0 6vw 64px;
  display:flex;
  flex-direction:column;
  gap:20px;
}

.hero-kicker{
  font-size:11px;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--taupe-lt);
  opacity:0;
  transform:translateY(12px);
  animation:heroIn 1s var(--ease) .3s forwards;
}

.hero-tagline{
  font-family:var(--display);
  font-weight:500;
  font-size:clamp(30px, 5.4vw, 62px);
  line-height:1.05;
  max-width:15ch;
  opacity:0;
  transform:translateY(16px);
  animation:heroIn 1.1s var(--ease) .5s forwards;
}

@keyframes heroIn{to{opacity:1;transform:translateY(0);}}

.hero-stitch-wrap{
  width:min(340px,60vw);
  height:8px;
  opacity:0;
  animation:fadeInOnly .6s ease 1.3s forwards;
}

@keyframes fadeInOnly{to{opacity:1;}}

.hero-stitch-wrap svg path{
  stroke-dasharray:500;
  stroke-dashoffset:500;
  animation:draw 1.3s var(--ease) 1.4s forwards;
}

@keyframes draw{to{stroke-dashoffset:0;}}

.hero-foot{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  margin-top:26px;
  opacity:0;
  animation:fadeInOnly 1s ease 1.2s forwards;
}

.scroll-cue{
  display:flex;align-items:center;gap:10px;
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--taupe-lt);
}

.scroll-cue .line{width:1px;height:30px;background:var(--taupe-lt);position:relative;overflow:hidden;}

.scroll-cue .line::after{
  content:'';position:absolute;left:0;top:-100%;width:100%;height:100%;
  background:var(--ivory);animation:scrollDrop 2.2s ease-in-out infinite;
}

@keyframes scrollDrop{0%{top:-100%;} 60%{top:100%;} 100%{top:100%;}}

@media(max-width:640px){
  .hero-inner{padding:0 6vw 52px;}
}

/* Short / landscape phones — hero must still fit without cramming */
@media(max-height:520px) and (orientation:landscape){
  .hero{min-height:100vh;}
  .hero-inner{padding:0 6vw 22px;gap:10px;}
  .hero-kicker{display:none;}
  .hero-tagline{font-size:clamp(22px,4.4vh,36px);}
  .hero-stitch-wrap{display:none;}
  .hero-foot{margin-top:10px;}
  .scroll-cue{display:none;}
}

/* ============ SECTION SPACING ============ */
.section{padding:min(15vw,140px) 0;}

.section-tight{padding:min(9vw,84px) 0;}

/* ============ INTRO ============ */
.intro-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:40px;
  margin-top:32px;
}

@media(min-width:860px){
  .intro-grid{grid-template-columns:1.5fr 1fr;gap:8vw;align-items:start;}
}

.intro-quote{
  font-family:var(--display-text);
  font-weight:900;
  font-size:clamp(25px,3.8vw,42px);
  line-height:1.24;
  letter-spacing:-.01em;
}

.intro-side{display:flex;flex-direction:column;gap:24px;padding-top:6px;}

.intro-side p{font-size:16px;line-height:1.75;color:var(--ink-2);max-width:42ch;}

.link-arrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  padding:12px 0 15px;border-bottom:1px solid var(--ink);width:fit-content;
  margin:-12px 0 -15px;
  transition:gap .35s var(--ease), border-color .35s var(--ease);
}

.link-arrow svg{width:14px;height:10px;transition:transform .35s var(--ease);}

.link-arrow:hover{gap:16px;}

.link-arrow:hover svg{transform:translateX(3px);}

.link-arrow.on-dark{border-color:var(--ivory);color:var(--ivory);}

/* ============ SELECTED CREATIONS — asymmetric editorial ============ */
.creations-head{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
  gap:24px;margin-bottom:min(6vw,56px);
}

.creations-head h2{
  font-family:var(--display);font-weight:500;
  font-size:clamp(30px,4.4vw,52px);max-width:14ch;margin-top:10px;
}

.creations-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:64px;
}

@media(min-width:900px){
  .creations-layout{
    grid-template-columns:1.15fr .85fr;
    gap:5vw;
    align-items:start;
  }
}

.creation-dominant{position:relative;}

.creation-dominant img{
  width:100%;height:auto;
  transition:transform 1.1s var(--ease);
}

.creation-dominant:hover img{transform:scale(1.015);}

.creation-cap{
  display:flex;justify-content:space-between;align-items:baseline;
  margin-top:16px;
  font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe);
}

.creation-cap .num{color:var(--ink);font-family:var(--display-text);font-weight:700;font-size:12px;letter-spacing:.02em;}

.creation-minor-stack{
  display:flex;
  flex-direction:column;
  gap:48px;
}

.creation-minor{position:relative;}

.creation-minor.offset{margin-top:min(10vw,90px);}

.creation-minor img{width:100%;height:auto;transition:transform 1.1s var(--ease);}

.creation-minor:hover img{transform:scale(1.02);}

.creations-foot{margin-top:min(7vw,64px);display:flex;justify-content:center;}

/* ============ PRIVATE DESIGN EXPERIENCE — burgundy, boutique seating ============ */
.experience{
  background:var(--burgundy-deep);
  color:var(--ivory);
  position:relative;
}

.exp-grid{
  display:grid;grid-template-columns:1fr;gap:56px;align-items:center;
}

@media(min-width:860px){
  .exp-grid{grid-template-columns:.85fr 1.15fr;gap:7vw;}
}

.exp-visual{
  position:relative;
  width:100%;
  max-width:420px;
  margin:0 auto;
}

.exp-arch{
  position:relative;
  aspect-ratio:3/4.1;
  overflow:hidden;
  border-radius:50% 50% 0 0 / 34% 34% 0 0;
  box-shadow:0 40px 80px -20px rgba(0,0,0,.5);
}

.exp-arch img{
  width:100%;height:100%;object-fit:cover;object-position:70% 40%;
}

.exp-visual-cap{
  margin-top:18px;
  font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--taupe-lt);
  text-align:center;
}

.exp-text h2{
  font-family:var(--display);font-weight:500;
  font-size:clamp(28px,4vw,46px);line-height:1.14;margin:14px 0 22px;max-width:15ch;
}

.exp-text > p{font-size:16px;line-height:1.8;color:var(--taupe-lt);max-width:48ch;margin-bottom:8px;}

.exp-steps{display:flex;flex-direction:column;gap:0;margin:34px 0 36px;border-top:1px solid var(--line-on-ink);}

.exp-step{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid var(--line-on-ink);}

.exp-step .t{font-family:var(--display-text);font-weight:900;font-size:14px;color:var(--stone);min-width:78px;letter-spacing:.02em;}

.exp-step .d{font-size:14.5px;color:var(--taupe-lt);line-height:1.6;}

/* ============ THE DESIGNER ============ */
.designer-grid{
  display:grid;grid-template-columns:1fr;gap:40px;align-items:center;
}

@media(min-width:860px){
  .designer-grid{grid-template-columns:.85fr 1.15fr;gap:8vw;}
}

.designer-visual{overflow:hidden;}

.designer-visual img{width:100%;height:auto;display:block;}

.designer-visual-cap{margin-top:14px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);}

.designer-text .name{
  font-family:var(--display);font-weight:500;font-size:clamp(28px,4vw,46px);margin:14px 0 6px;
}

.designer-role{font-size:13px;color:var(--taupe);letter-spacing:.06em;margin-bottom:24px;}

.designer-quote{
  font-family:var(--display-text);font-weight:700;font-size:clamp(18px,2.1vw,24px);
  line-height:1.5;color:var(--ink);max-width:34ch;
  padding-left:20px;border-left:2px solid var(--burgundy);margin-bottom:24px;
}

.designer-bio{font-size:15.5px;line-height:1.75;color:var(--ink-2);max-width:48ch;}

/* ============ APPOINTMENT — arched threshold into the alcove ============ */
.cta-band{
  position:relative;
  overflow:hidden;
  padding:min(15vw,140px) 0 min(11vw,100px);
  background:var(--burgundy);
  color:var(--ivory);
  border-radius:52% 48% 0 0/7vw 7vw 0 0;
  margin-top:-1px;
}

.cta-bg{
  position:absolute;inset:0;
  background-size:cover;
  background-position:50% 30%;
  opacity:.22;
  mix-blend-mode:luminosity;
}

.cta-scrim{
  position:absolute;inset:0;
  background:linear-gradient(180deg, var(--burgundy) 0%, rgba(92,36,48,.86) 40%, var(--burgundy) 100%);
}

.cta-band .container{
  position:relative;z-index:2;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:32px;
}

.cta-band h2{
  font-family:var(--display);font-weight:500;
  font-size:clamp(32px,6vw,66px);line-height:1.08;max-width:16ch;
}

.cta-band p{font-size:15px;color:var(--taupe-lt);max-width:44ch;line-height:1.7;}

.btn-primary{
  display:inline-flex;align-items:center;gap:14px;
  padding:19px 34px;border:1px solid var(--ivory);
  font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ivory);position:relative;overflow:hidden;
  transition:color .45s var(--ease), border-color .45s var(--ease);
}

.btn-primary span{position:relative;z-index:2;}

.btn-primary svg{position:relative;z-index:2;width:15px;height:11px;transition:transform .4s var(--ease);}

.btn-primary::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:0;background:var(--ivory);
  transition:width .45s var(--ease);z-index:1;
}

.btn-primary:hover{color:var(--burgundy);}

.btn-primary:hover::before{width:100%;}

.btn-primary:hover svg{transform:translateX(4px);}

/* ============ FOOTER ============ */
.footer{background:var(--ivory);position:relative;padding-top:min(9vw,84px);}

.footer-pattern{
  position:absolute;left:0;right:0;top:0;height:110px;opacity:.05;
  background-size:320px auto;background-repeat:repeat;pointer-events:none;
}

.footer-top{display:grid;grid-template-columns:1fr;gap:40px;padding-bottom:56px;}

@media(min-width:760px){.footer-top{grid-template-columns:1.3fr 1fr 1fr 1fr;gap:6vw;}}

.footer-mark{height:30px;width:auto;margin-bottom:18px;}

.footer-tag{font-size:13.5px;color:var(--taupe);max-width:30ch;line-height:1.6;}

.footer-col h4{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe);margin-bottom:18px;}

.footer-col a, .footer-col span{display:block;font-size:14.5px;color:var(--ink-2);margin-bottom:4px;padding:8px 0;}

.footer-col a{transition:color .3s;}

.footer-col a:hover{color:var(--burgundy);}

.footer-bottom{
  display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;
  padding:24px 0;border-top:1px solid var(--stone);
  font-size:11px;letter-spacing:.05em;color:var(--taupe);
}

/* ============ MOBILE STICKY CTA ============ */
.sticky-cta{
  position:fixed;left:16px;right:16px;
  bottom:16px;
  bottom:max(16px, calc(env(safe-area-inset-bottom) + 12px));
  z-index:90;
  display:flex;justify-content:center;
  transform:translateY(140%);transition:transform .5s var(--ease);
}

.sticky-cta.show{transform:translateY(0);}

.sticky-cta a{
  width:100%;text-align:center;padding:17px 16px;
  background:var(--ink);color:var(--ivory);
  font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  box-shadow:0 10px 30px rgba(0,0,0,.28);
}

@media(min-width:860px){.sticky-cta{display:none;}}

/* ============ ACCESSIBILITY WIDGET ============ */
.a11y-trigger{
  position:fixed;
  right:0;
  top:50%;
  transform:translateY(-50%);
  z-index:400;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:14px 10px;
  padding-right:max(10px, calc(env(safe-area-inset-right) + 10px));
  background:var(--ivory);
  color:var(--ink);
  border:1px solid var(--stone);
  border-right:none;
  border-radius:8px 0 0 8px;
  box-shadow:-4px 0 16px rgba(27,21,18,.14);
  cursor:pointer;
  transition:background .25s var(--ease);
}

.a11y-trigger:hover{background:var(--cream);}

.a11y-icon{width:20px;height:20px;color:var(--burgundy);display:block;}

.a11y-trigger-label{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-size:10px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}

@media(max-width:640px){
  .a11y-trigger{padding:10px 7px;padding-right:max(7px, calc(env(safe-area-inset-right) + 7px));gap:0;}
  .a11y-trigger-label{display:none;}
}

.a11y-overlay{
  position:fixed;inset:0;z-index:398;
  background:rgba(27,21,18,.4);
  opacity:0;
  transition:opacity .3s var(--ease);
  pointer-events:none;
}

.a11y-overlay.show{opacity:1;pointer-events:auto;}

.a11y-panel{
  position:fixed;
  top:0;right:0;bottom:0;
  z-index:399;
  width:min(380px, 100vw);
  background:var(--ivory);
  color:var(--ink);
  box-shadow:-10px 0 40px rgba(27,21,18,.28);
  transform:translateX(100%);
  visibility:hidden;
  transition:transform .4s var(--ease), visibility 0s linear .4s;
  display:flex;
  flex-direction:column;
  padding-top:env(safe-area-inset-top);
  padding-bottom:env(safe-area-inset-bottom);
  padding-right:env(safe-area-inset-right);
}

.a11y-panel.open{
  transform:translateX(0);
  visibility:visible;
  transition:transform .4s var(--ease), visibility 0s linear 0s;
}

.a11y-panel-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:24px 22px 16px;
  border-bottom:1px solid var(--stone);
}

.a11y-panel-head h2{
  font-family:var(--display);font-weight:500;font-size:22px;margin:0;
}

.a11y-close{
  font-size:20px;line-height:1;padding:11px;margin:-11px;color:var(--ink);
}

.a11y-panel-body{
  padding:20px 22px 32px;
  overflow-y:auto;
  flex:1;
  -webkit-overflow-scrolling:touch;
}

.a11y-group{margin-bottom:24px;}

.a11y-group-label{
  font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--taupe);margin-bottom:12px;
}

.a11y-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 0;font-size:14.5px;
  border-bottom:1px solid var(--stone);
}

.a11y-stepper{display:flex;align-items:center;gap:8px;}

.a11y-stepper button{
  width:38px;height:38px;border:1px solid var(--stone);background:transparent;
  font-size:13px;font-weight:600;color:var(--ink);
}

.a11y-stepper button:disabled{opacity:.35;}

.a11y-stepper span{font-size:11.5px;color:var(--taupe);min-width:36px;text-align:center;}

.a11y-toggle{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  width:100%;
  min-height:44px;
  padding:13px 4px;
  font-size:14.5px;
  text-align:left;
  border-bottom:1px solid var(--stone);
  color:var(--ink);
}

.a11y-toggle-state{
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--taupe);
  flex-shrink:0;
}

.a11y-toggle[aria-pressed="true"] .a11y-toggle-state{color:var(--burgundy);font-weight:600;}

.a11y-toggle[aria-pressed="true"]{color:var(--burgundy);}

.a11y-reset{
  margin-top:16px;width:100%;min-height:44px;
  padding:14px;border:1px solid var(--ink);
  font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  text-align:center;color:var(--ink);
}

.a11y-reset:hover{background:var(--ink);color:var(--ivory);}

.a11y-disclaimer{
  margin-top:20px;font-size:11px;line-height:1.65;color:var(--taupe);
}

/* ---- Functional effect classes, driven by <html> classes ---- */
html.a11y-contrast{
  --ivory:#FFFFFF;
  --cream:#F2F2F2;
  --stone:#8A8A8A;
  --taupe:#333333;
  --taupe-lt:#EDEDED;
  --ink:#000000;
  --ink-2:#000000;
  --burgundy:#8A0021;
  --burgundy-deep:#000000;
  --burgundy-lit:#8A0021;
  --field-border:#333333;
}

html.a11y-grayscale{filter:grayscale(1);}

html.a11y-highlight-links a{
  text-decoration:underline !important;
  text-underline-offset:3px;
  background:rgba(92,36,48,.10);
}

html.a11y-readable-font{
  --display: var(--sans);
  --display-text: var(--sans);
}

html.a11y-spacing :is(p, li, .field label, .privacy-note, .footer-col a, .footer-tag, .exp-step .d, .designer-bio, .intro-side p, .confirm p, textarea, input, .a11y-toggle, .a11y-row){
  letter-spacing:.02em !important;
  word-spacing:.06em !important;
  line-height:1.9 !important;
}

html.a11y-large-cursor, html.a11y-large-cursor *{
  cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24"><path d="M3 2 L3 20 L8 15 L11 21 L14 20 L11 14 L18 14 Z" fill="black" stroke="white" stroke-width="1.2"/></svg>') 2 2, auto !important;
}

html.a11y-text-1 :is(p, li, .field label, .privacy-note, .footer-col a, .footer-tag, .exp-step .d, .designer-bio, .intro-side p, .confirm p, .intro-quote, textarea, input, .eyebrow, .flow-item .fdesc, .space-text p, .a11y-toggle, .a11y-row){
  font-size:1.12em !important;
}

html.a11y-text-2 :is(p, li, .field label, .privacy-note, .footer-col a, .footer-tag, .exp-step .d, .designer-bio, .intro-side p, .confirm p, .intro-quote, textarea, input, .eyebrow, .flow-item .fdesc, .space-text p, .a11y-toggle, .a11y-row){
  font-size:1.25em !important;
}

html.a11y-reduce-motion *, html.a11y-reduce-motion *::before, html.a11y-reduce-motion *::after{
  animation-duration:0.001ms !important;
  animation-iteration-count:1 !important;
  transition-duration:0.001ms !important;
  scroll-behavior:auto !important;
}

html.a11y-keyboard-nav :focus{
  box-shadow:0 0 0 2px var(--ivory), 0 0 0 5px var(--burgundy) !important;
  outline:none !important;
}

/* ============ LANGUAGE / RTL SUPPORT ============ */
html[lang="ar"] body, html[lang="he"] body{
  --display: 'Segoe UI', Tahoma, Arial, sans-serif;
  --display-text: 'Segoe UI', Tahoma, Arial, sans-serif;
  --sans: 'Segoe UI', Tahoma, Arial, sans-serif;
}

html[lang="ar"] body{
  --display: 'Geeza Pro', 'Segoe UI', Tahoma, Arial, sans-serif;
  --display-text: 'Geeza Pro', 'Segoe UI', Tahoma, Arial, sans-serif;
  --sans: 'Segoe UI', Tahoma, Arial, sans-serif;
}

html[lang="he"] body{
  --display: 'Arial Hebrew', 'Segoe UI', Arial, sans-serif;
  --display-text: 'Arial Hebrew', 'Segoe UI', Arial, sans-serif;
  --sans: 'Arial Hebrew', 'Segoe UI', Arial, sans-serif;
}

/* Tracked uppercase Latin letter-spacing reads poorly / breaks joining in Arabic & Hebrew */
[dir="rtl"] .eyebrow,
[dir="rtl"] .nav-menu-btn,
[dir="rtl"] .link-arrow,
[dir="rtl"] .btn-primary,
[dir="rtl"] .btn-submit,
[dir="rtl"] .a11y-trigger-label,
[dir="rtl"] .a11y-group-label,
[dir="rtl"] .a11y-reset,
[dir="rtl"] .a11y-toggle-state,
[dir="rtl"] .field label,
[dir="rtl"] .footer-col h4,
[dir="rtl"] .look-label .name,
[dir="rtl"] .hero-kicker,
[dir="rtl"] .scroll-cue,
[dir="rtl"] .designer-role,
[dir="rtl"] .creation-cap,
[dir="rtl"] .footer-bottom{
  letter-spacing:0;
}

/* Arrow icons (→) should point toward reading-start in RTL */
[dir="rtl"] .link-arrow svg,
[dir="rtl"] .btn-primary svg,
[dir="rtl"] .btn-submit svg{
  transform:scaleX(-1);
}

[dir="rtl"] .link-arrow:hover svg,
[dir="rtl"] .btn-primary:hover svg,
[dir="rtl"] .btn-submit:hover svg{
  transform:scaleX(-1) translateX(4px);
}

/* Skip link & accessibility trigger mirror sides in RTL */
[dir="rtl"] .skip-link{left:auto;right:6px;}

[dir="rtl"] .a11y-trigger{
  right:auto;left:0;
  border-radius:0 8px 8px 0;
  border-right:1px solid var(--stone);
  border-left:none;
  box-shadow:4px 0 16px rgba(27,21,18,.14);
  padding-left:max(10px, calc(env(safe-area-inset-left) + 10px));
  padding-right:10px;
}

[dir="rtl"] .a11y-panel{
  right:auto;left:0;
  box-shadow:10px 0 40px rgba(27,21,18,.28);
  transform:translateX(-100%);
  padding-right:0;
  padding-left:env(safe-area-inset-left);
}

[dir="rtl"] .a11y-panel.open{transform:translateX(0);}

[dir="rtl"] .sticky-cta{left:16px;right:16px;}

/* Language switcher */
.lang-switch{
  display:flex;align-items:center;gap:8px;
  font-size:11px;font-weight:600;letter-spacing:.1em;
}

.lang-switch button{
  padding:8px 6px;color:inherit;opacity:.55;transition:opacity .25s var(--ease);
}

.lang-switch button.active{opacity:1;color:var(--burgundy);}

.lang-switch button:hover{opacity:1;}

.lang-switch .sep{opacity:.35;font-size:10px;}

.nav-right{display:flex;align-items:center;gap:18px;}

.mobile-menu-langs{
  display:flex;gap:18px;margin-top:22px;
  font-family:var(--sans);
  font-size:13px;font-weight:600;letter-spacing:.1em;
}

.mobile-menu-langs button{padding:10px 8px;margin:-10px -8px;opacity:.55;}

.mobile-menu-langs button.active{opacity:1;color:var(--burgundy);}

.footer-legal{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  font-size:11px;color:var(--taupe);
  padding:16px 0 0;
}

.footer-legal a{color:var(--taupe);transition:color .3s;padding:8px 2px;}

.footer-legal a:hover{color:var(--burgundy);}

.footer-legal .dot{opacity:.5;}

:root{
  --ivory:      #F1EBE0;
  --cream:      #E8DFCE;
  --stone:      #DACEB8;
  --taupe:      #6A5F4E;
  --taupe-lt:   #BBA98D;
  --ink:        #1B1512;
  --ink-2:      #241C17;
  --line-on-ink:#3E332A;

  --burgundy:      #5C2430;
  --burgundy-deep: #33141B;
  --burgundy-lit:  #7C3B34;

  --display: 'Ultion', Georgia, serif;
  --display-text: 'Ultion Text', Georgia, serif;
  --sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --ease: cubic-bezier(.22,.61,.36,1);
}

.container{width:100%;max-width:1400px;margin:0 auto;padding:0 6vw;}

.wide{max-width:1680px;margin:0 auto;padding:0 5vw;}

@media(min-width:1700px){.wide{padding:0 6vw;}}

.eyebrow{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--taupe);}

.reveal{opacity:0;transform:translateY(30px);transition:opacity 1.1s var(--ease), transform 1.1s var(--ease);}

.reveal-slow{transition-duration:1.4s;}

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1 !important;transform:none !important;transition:none !important;}
  html{scroll-behavior:auto;}
}

/* ============ NAV ============ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:28px 6vw;transition:padding .5s var(--ease), background .4s var(--ease), box-shadow .4s var(--ease);
  padding-top:max(28px, calc(env(safe-area-inset-top) + 14px));
  padding-left:max(6vw, calc(env(safe-area-inset-left) + 6vw));
  padding-right:max(6vw, calc(env(safe-area-inset-right) + 6vw));
}

.nav.scrolled{padding-top:max(18px, calc(env(safe-area-inset-top) + 10px));padding-bottom:18px;background:rgba(241,235,224,.88);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--stone);}

.nav-mark{height:26px;width:26px;}

.nav-menu-btn{
  font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);
  padding:14px 12px;margin:-14px -12px;transition:opacity .3s;
}

.mobile-menu{
  position:fixed;inset:0;background:var(--ivory);z-index:150;
  display:flex;flex-direction:column;justify-content:center;padding:0 8vw;
  padding-left:max(8vw, calc(env(safe-area-inset-left) + 8vw));
  padding-right:max(8vw, calc(env(safe-area-inset-right) + 8vw));
  transform:translateY(-100%);
  visibility:hidden;
  transition:transform .6s var(--ease), visibility 0s linear .6s;
}

.mobile-menu-close{position:absolute;top:max(28px, calc(env(safe-area-inset-top) + 20px));right:6vw;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;padding:14px 12px;margin:-14px -12px;}

.mobile-menu a{display:block;font-family:var(--display);font-weight:500;font-size:clamp(34px,9vw,58px);padding:12px 0;border-bottom:1px solid var(--stone);}

.mobile-menu a.current{color:var(--burgundy);}

.mobile-menu-foot{margin-top:36px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe);}

/* ============ OPENING ============ */
.opening{
  padding:min(38vw,320px) 0 min(11vw,100px);
  text-align:left;
}

.opening h1{
  font-family:var(--display);
  font-weight:500;
  font-size:clamp(38px,9vw,120px);
  letter-spacing:.01em;
  line-height:1;
}

.opening p{
  margin-top:26px;
  font-size:clamp(15px,1.6vw,18px);
  color:var(--taupe);
  max-width:38ch;
  line-height:1.6;
}

/* ============ LOOK LABEL ============ */
.look-label{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:min(5vw,44px);
}

.look-label .n{
  font-family:var(--display-text);
  font-weight:900;
  font-size:13px;
  letter-spacing:.14em;
  color:var(--burgundy);
}

.look-label .line{flex:1;height:1px;background:var(--stone);}

.look-label .name{
  font-size:11px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--taupe);
}

/* ============ EDITORIAL BLOCKS ============ */
.block{padding:min(9vw,80px) 0;}

.img-full{width:100%;overflow:hidden;}

.img-full img{width:100%;height:auto;display:block;transition:transform 1.4s var(--ease);}

.img-cap{
  margin-top:14px;
  font-size:11px;
  letter-spacing:.08em;
  color:var(--taupe);
}

/* Look 01 layout */
.l1-wide{margin-bottom:min(9vw,80px);}

.l1-wide img{max-height:86vh;object-fit:cover;width:100%;}

.l1-split{
  display:grid;
  grid-template-columns:1fr;
  gap:48px;
  align-items:start;
}

@media(min-width:860px){
  .l1-split{grid-template-columns:.62fr .38fr;gap:5vw;}
}

.l1-portrait img{width:100%;}

.l1-pair{
  display:flex;
  flex-direction:column;
  gap:40px;
}

.l1-pair .item{width:100%;}

@media(min-width:520px) and (max-width:859px){
  .l1-pair{flex-direction:row;}
}

.l1-motion{
  margin-top:min(11vw,100px);
  display:flex;
  justify-content:center;
}

.l1-motion .frame{
  width:min(560px, 74vw);
}

.l1-motion .frame img{width:100%;}

.l1-motion-cap{
  text-align:center;
  margin-top:16px;
  font-size:11px;
  letter-spacing:.1em;
  color:var(--taupe);
}

/* Craft interstitial */
.craft{
  padding:min(13vw,120px) 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.craft-arch{
  width:min(360px, 68vw);
  aspect-ratio:3/4.2;
  overflow:hidden;
  border-radius:50% 50% 0 0 / 34% 34% 0 0;
  box-shadow:0 30px 70px -25px rgba(27,21,18,.35);
}

.craft-arch img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;}

.craft-text{margin-top:28px;max-width:34ch;}

.craft-text p{font-family:var(--display-text);font-weight:700;font-size:clamp(17px,2vw,21px);line-height:1.5;color:var(--ink);}

/* Look 02 layout */
.l2-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:48px;
}

@media(min-width:860px){
  .l2-grid{grid-template-columns:.42fr .58fr;gap:5vw;align-items:start;}
}

.l2-portrait img{width:100%;}

.l2-motion{margin-top:min(14vw,120px);}

.l2-motion img{width:100%;}

.l2-paired{
  margin-top:min(10vw,90px);
}

.l2-paired-inner{max-width:640px;margin:0 auto;}

.l2-paired img{width:100%;}

.l2-paired-cap{text-align:center;margin-top:16px;font-size:11px;letter-spacing:.08em;color:var(--taupe);}

/* hover micro-interaction desktop only */
@media(hover:hover){
  .img-full:hover img, .l1-portrait:hover img, .l1-pair .item:hover img,
  .l2-portrait:hover img, .l2-motion:hover img{
    transform:scale(1.025);
  }
}

/* ============ CLOSING — burgundy threshold ============ */
.cta-band{
  position:relative;
  overflow:hidden;
  padding:min(16vw,150px) 0 min(11vw,100px);
  background:var(--burgundy);
  color:var(--ivory);
  border-radius:52% 48% 0 0/7vw 7vw 0 0;
  margin-top:min(6vw,50px);
}

.cta-band .container{
  position:relative;z-index:2;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:30px;
}

.cta-band h2{
  font-family:var(--display);font-weight:500;
  font-size:clamp(28px,5.6vw,58px);line-height:1.1;max-width:17ch;
  letter-spacing:.005em;
}

.footer-pattern{position:absolute;left:0;right:0;top:0;height:110px;opacity:.05;background-size:320px auto;background-repeat:repeat;pointer-events:none;}

.stitch{height:1px;width:100%;background-image:repeating-linear-gradient(100deg, var(--taupe) 0 7px, transparent 7px 15px);opacity:.5;}

/* ============ NAV ============ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:28px 6vw;transition:padding .5s var(--ease);
  padding-top:max(28px, calc(env(safe-area-inset-top) + 14px));
  padding-left:max(6vw, calc(env(safe-area-inset-left) + 6vw));
  padding-right:max(6vw, calc(env(safe-area-inset-right) + 6vw));
}

.nav-menu-btn{
  font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ivory);
  padding:14px 12px;margin:-14px -12px;transition:color .5s var(--ease), opacity .3s;
}

/* ============ OPENING — full-bleed, architectural, atmospheric ============ */
.opening{
  position:relative;
  min-height:100vh;
  min-height:100svh;
  color:var(--ivory);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  background:var(--ink);
}

.opening-media{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:60% 30%;
  will-change:transform;
}

.opening-scrim{
  position:absolute;inset:0;
  background:linear-gradient(0deg, rgba(15,10,8,.72) 0%, rgba(15,10,8,.2) 40%, rgba(15,10,8,.02) 62%, rgba(20,12,10,.14) 100%);
}

.opening-inner{
  position:relative;z-index:2;
  padding:0 6vw 64px;
  display:flex;flex-direction:column;gap:16px;
}

.opening-inner h1{
  font-family:var(--display);font-weight:500;
  font-size:clamp(32px,7vw,84px);
  line-height:1;
  opacity:0;transform:translateY(16px);
  animation:hIn 1.1s var(--ease) .3s forwards;
}

.opening-inner p{
  font-size:clamp(14px,1.6vw,17px);
  color:var(--taupe-lt);
  max-width:36ch;
  line-height:1.6;
  opacity:0;transform:translateY(14px);
  animation:hIn 1s var(--ease) .55s forwards;
}

@keyframes hIn{to{opacity:1;transform:translateY(0);}}

.scroll-cue{
  display:flex;align-items:center;gap:10px;margin-top:8px;
  font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe-lt);
  opacity:0;animation:fadeOnly 1s ease 1s forwards;
}

@keyframes fadeOnly{to{opacity:1;}}

/* Short / landscape phones */
@media(max-height:520px) and (orientation:landscape){
  .opening{min-height:100vh;}
  .opening-inner{padding:0 6vw 20px;gap:8px;}
  .opening-inner h1{font-size:clamp(26px,6vh,44px);}
  .opening-inner p{display:none;}
  .scroll-cue{display:none;}
}

/* ============ THE SPACE ============ */
.space-grid{
  display:grid;grid-template-columns:1fr;gap:52px;align-items:center;
}

@media(min-width:860px){
  .space-grid{grid-template-columns:.85fr 1.15fr;gap:8vw;}
}

.space-arch{
  position:relative;width:100%;max-width:420px;margin:0 auto;
}

.arch-frame{
  position:relative;aspect-ratio:3/4.1;overflow:hidden;
  border-radius:50% 50% 0 0 / 34% 34% 0 0;
  box-shadow:0 40px 80px -25px rgba(27,21,18,.35);
}

.arch-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;}

.space-text h2{
  font-family:var(--display);font-weight:500;
  font-size:clamp(26px,3.8vw,42px);line-height:1.16;margin:14px 0 20px;max-width:15ch;
}

.space-text p{font-size:16px;line-height:1.8;color:var(--ink-2);max-width:46ch;margin-bottom:14px;}

/* ============ STATEMENT — burgundy immersive band ============ */
.statement{
  background:var(--burgundy-deep);
  color:var(--ivory);
  padding:min(16vw,150px) 0;
  text-align:center;
}

.statement h2{
  font-family:var(--display);font-weight:500;
  font-size:clamp(28px,5.2vw,58px);
  line-height:1.16;
  max-width:20ch;
  margin:0 auto;
}

/* ============ THE EXPERIENCE — flowing sequence ============ */
.exp-flow{max-width:760px;margin:0 auto;}

.exp-head{text-align:center;margin-bottom:min(8vw,72px);}

.exp-head h2{
  font-family:var(--display);font-weight:500;
  font-size:clamp(28px,4.4vw,50px);margin-top:12px;
}

.flow-item{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:28px;
  padding:34px 0;
  border-top:1px solid var(--stone);
  align-items:baseline;
}

.flow-item:last-child{border-bottom:1px solid var(--stone);}

.flow-item .fname{
  font-family:var(--display);font-weight:500;
  font-size:clamp(24px,3.4vw,36px);
  min-width:9ch;
}

.flow-item .fdesc{font-size:15.5px;line-height:1.7;color:var(--ink-2);max-width:44ch;}

/* ============ THE DESIGNER — quiet, philosophy-led ============ */
.designer-quiet{
  max-width:680px;margin:0 auto;text-align:center;
}

.designer-quiet .mark{
  width:34px;height:auto;margin:0 auto 30px;
  opacity:.75;
}

.designer-quiet blockquote{
  font-family:var(--display-text);font-weight:900;
  font-size:clamp(21px,3vw,32px);
  line-height:1.45;color:var(--ink);
  margin-bottom:26px;
}

.designer-quiet p{
  font-size:15.5px;line-height:1.8;color:var(--taupe);
  max-width:50ch;margin:0 auto;
}

.designer-quiet .name{
  margin-top:26px;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);
}

/* ============ CLOSING — burgundy threshold ============ */
.cta-band{
  position:relative;overflow:hidden;
  padding:min(16vw,150px) 0 min(11vw,100px);
  background:var(--burgundy);color:var(--ivory);
  border-radius:52% 48% 0 0/7vw 7vw 0 0;
  margin-top:min(6vw,50px);
}

.cta-band h2{
  font-family:var(--display);font-weight:500;
  font-size:clamp(28px,5.6vw,58px);line-height:1.1;max-width:17ch;
}

.narrow{width:100%;max-width:760px;margin:0 auto;padding:0 6vw;}

/* ============ OPENING — intimate, burgundy-forward ============ */
.opening{
  position:relative;
  min-height:92vh;
  min-height:92svh;
  color:var(--ivory);
  display:flex;flex-direction:column;justify-content:flex-end;
  overflow:hidden;
  background:var(--burgundy-deep);
}

.opening-media{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:60% 35%;
}

.opening-scrim{
  position:absolute;inset:0;
  background:
    linear-gradient(0deg, rgba(51,20,27,.86) 0%, rgba(51,20,27,.42) 40%, rgba(51,20,27,.18) 62%, rgba(51,20,27,.5) 100%);
}

.opening-inner{
  position:relative;z-index:2;
  padding:0 6vw 60px;
  display:flex;flex-direction:column;gap:14px;
}

.opening-inner .eyebrow{
  color:var(--taupe-lt);
  opacity:0;transform:translateY(12px);
  animation:hIn 1s var(--ease) .3s forwards;
}

.opening-inner h1{
  font-family:var(--display);font-weight:500;
  font-size:clamp(27px,6.4vw,72px);
  line-height:1.04;
  opacity:0;transform:translateY(16px);
  animation:hIn 1.1s var(--ease) .48s forwards;
}

/* Short / landscape phones */
@media(max-height:520px) and (orientation:landscape){
  .opening{min-height:100vh;}
  .opening-inner{padding:0 6vw 20px;}
  .opening-inner h1{font-size:clamp(24px,6vh,40px);}
}

/* ============ SECTIONS ============ */
.section{padding:min(13vw,120px) 0;}

.section-tight{padding:min(8vw,72px) 0;}

/* ============ INTRODUCTION ============ */
.intro{text-align:center;}

.intro p{
  font-family:var(--display-text);font-weight:700;
  font-size:clamp(19px,2.4vw,25px);
  line-height:1.55;
  color:var(--ink);
}

.intro p + p{margin-top:18px;color:var(--ink-2);font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.75;}

/* ============ FORM — editorial, not a UI component ============ */
.form-wrap{max-width:640px;margin:0 auto;}

.field-row{
  display:grid;grid-template-columns:1fr;gap:36px;
  margin-bottom:36px;
}

@media(min-width:620px){
  .field-row.two{grid-template-columns:1fr 1fr;gap:5vw;}
}

.field label{
  display:block;
  font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:var(--taupe);margin-bottom:12px;
}

.field input[type="text"],
.field input[type="tel"],
.field input[type="email"],
.field input[type="date"],
.field textarea{
  width:100%;
  border:none;
  border-bottom:1px solid var(--field-border, #827B6E);
  background:transparent;
  padding:13px 2px 14px;
  font-family:var(--sans);
  font-size:17px;
  color:var(--ink);
  outline:none;
  transition:border-color .35s var(--ease);
  -webkit-appearance:none;
  appearance:none;
  border-radius:0;
  min-height:44px;
}

.field input::placeholder, .field textarea::placeholder{color:var(--taupe-lt);}

.field input:focus, .field textarea:focus{border-bottom-color:var(--burgundy);}

.field textarea{resize:none;min-height:96px;line-height:1.6;font-size:16px;}

.contact-toggle{display:flex;gap:10px;flex-wrap:wrap;}

.contact-toggle input{position:absolute;opacity:0;pointer-events:none;}

.contact-toggle .pill{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;
  padding:12px 22px;
  border:1px solid var(--field-border, #827B6E);
  font-size:12.5px;letter-spacing:.04em;
  color:var(--ink-2);
  cursor:pointer;
  transition:background .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease);
}

.contact-toggle input:checked + .pill{
  background:var(--burgundy);border-color:var(--burgundy);color:var(--ivory);
}

.contact-toggle input:focus-visible + .pill{outline:2px solid var(--burgundy);outline-offset:2px;}

.form-submit{
  margin-top:8px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:22px;
}

.btn-submit{
  display:inline-flex;align-items:center;gap:14px;
  padding:19px 36px;
  background:var(--burgundy);
  border:1px solid var(--burgundy);
  font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ivory);
  position:relative;overflow:hidden;
  transition:color .4s var(--ease);
  width:100%;
  justify-content:center;
}

@media(min-width:560px){.btn-submit{width:auto;justify-content:flex-start;}}

.btn-submit span{position:relative;z-index:2;}

.btn-submit svg{position:relative;z-index:2;width:15px;height:11px;transition:transform .4s var(--ease);}

.btn-submit::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:0;background:var(--ink);
  transition:width .4s var(--ease);z-index:1;
}

.btn-submit:hover::before{width:100%;}

.btn-submit:hover svg{transform:translateX(4px);}

.btn-submit:disabled{opacity:.55;cursor:default;}

.checkbox-row{margin-bottom:8px;}

.checkbox-label{
  display:flex;align-items:flex-start;gap:12px;
  cursor:pointer;
  padding:8px 0;
  font-size:13px;line-height:1.65;color:var(--ink-2);
}

.checkbox-label input[type="checkbox"]{
  width:19px;height:19px;
  min-width:19px;
  margin-top:2px;
  accent-color:var(--burgundy);
  cursor:pointer;
}

.checkbox-label input[type="checkbox"]:focus-visible{
  outline:none;
  box-shadow:0 0 0 2px var(--ivory), 0 0 0 4px var(--burgundy);
  border-radius:2px;
}

.checkbox-label a{color:var(--burgundy);text-decoration:underline;text-underline-offset:2px;}

.checkbox-label.invalid{color:var(--burgundy);}

.privacy-note{
  font-size:11.5px;
  line-height:1.6;
  color:var(--taupe);
  max-width:52ch;
}

.link-arrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  padding:12px 0 15px;border-bottom:1px solid var(--ink);width:fit-content;
  margin:-12px 0 -15px;
  transition:gap .35s var(--ease), border-color .35s var(--ease), color .35s var(--ease);
}

/* ============ CONFIRMATION ============ */
.form-wrap{
  transition:opacity .5s var(--ease), transform .5s var(--ease);
  opacity:1;
  transform:translateY(0);
}

.form-wrap.fade-out{
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
}

.form-wrap.hidden{display:none;}

.confirm{
  display:none;
  text-align:center;
  padding:min(9vw,70px) 0 min(4vw,20px);
  opacity:0;
  transform:translateY(12px);
  transition:opacity .7s var(--ease), transform .7s var(--ease);
}

.confirm.show{display:block;}

.confirm.in{opacity:1;transform:translateY(0);}

.confirm-arch{
  position:relative;
  width:64px;height:88px;
  margin:0 auto 30px;
  display:flex;align-items:flex-end;justify-content:center;
  padding-bottom:14px;
}

.confirm-arch svg{position:absolute;inset:0;}

.confirm-arch .mark{position:relative;width:22px;height:auto;opacity:.85;}

.confirm h2{
  font-family:var(--display);font-weight:500;
  font-size:clamp(24px,3.6vw,36px);
  line-height:1.2;margin-bottom:18px;
}

.confirm p{
  font-size:16px;line-height:1.75;color:var(--ink-2);
  max-width:44ch;margin:0 auto;
}

.confirm .confirm-sub{
  margin-top:18px;
  font-size:12.5px;letter-spacing:.03em;color:var(--taupe);
}

.confirm .confirm-return{
  margin:34px auto 0;
  color:var(--burgundy);
  border-color:var(--burgundy);
}

.confirm .confirm-return:hover{border-color:var(--ink);color:var(--ink);}

/* ============ QUIET ENDING ============ */
.ending{
  text-align:center;
  padding:min(15vw,140px) 0 min(9vw,80px);
}

.ending .word{
  height:clamp(30px,5.2vw,54px);
  width:auto;
  margin:0 auto;
}

.ending .sub{
  margin-top:10px;
  font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--taupe);
}

/* ============ FOOTER ============ */
.footer{background:var(--ivory);position:relative;padding-top:min(6vw,56px);}

@font-face{ font-family:'Ultion'; src:url('../assets/fonts/ultion-regular.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap; }

:root{
  --ivory:      #F1EBE0;
  --cream:      #E8DFCE;
  --stone:      #DACEB8;
  --taupe:      #6A5F4E;
  --taupe-lt:   #BBA98D;
  --ink:        #1B1512;
  --ink-2:      #241C17;
  --line-on-ink:#3E332A;
  --burgundy:      #5C2430;
  --burgundy-deep: #33141B;
  --burgundy-lit:  #7C3B34;
  --field-border: #827B6E;

  --display: 'Ultion', Georgia, serif;
  --display-text: 'Ultion Text', Georgia, serif;
  --sans: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --ease: cubic-bezier(.22,.61,.36,1);
}

:focus{outline:none;}

.mobile-menu a:focus-visible{
  box-shadow:0 0 0 2px var(--ivory), 0 0 0 4px var(--burgundy);
  outline:none;
}

.skip-link{
  position:absolute;left:6px;top:-60px;z-index:1000;
  background:var(--ink);color:var(--ivory);
  padding:14px 20px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  transition:top .25s var(--ease);
}

.reveal{opacity:0;transform:translateY(24px);transition:opacity 1s var(--ease), transform 1s var(--ease);}

@media (prefers-reduced-motion: reduce){.reveal{opacity:1 !important;transform:none !important;transition:none !important;}}

.mobile-menu a{display:block;font-family:var(--display);font-weight:500;font-size:clamp(30px,8vw,50px);padding:10px 0;border-bottom:1px solid var(--stone);}

.mobile-menu-foot{margin-top:30px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe);}

.footer-col h3{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe);margin-bottom:18px;}

.footer-bottom{
  display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;
  padding:24px 0 0;border-top:1px solid var(--stone);
  font-size:11px;letter-spacing:.05em;color:var(--taupe);
}

.footer-legal{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:11px;color:var(--taupe);padding:16px 0 24px;}

.footer-legal a.current{color:var(--burgundy);}

/* ============ LEGAL PAGE CONTENT ============ */
.legal-opening{padding:min(30vw,220px) 0 min(6vw,50px);}

.legal-opening h1{font-family:var(--display);font-weight:500;font-size:clamp(34px,6vw,64px);line-height:1.05;}

.legal-opening .updated{margin-top:16px;font-size:12px;letter-spacing:.08em;color:var(--taupe);}

.legal-body{padding:0 0 min(12vw,110px);}

.legal-body section{max-width:720px;margin:0 auto;padding:34px 0;border-top:1px solid var(--stone);}

.legal-body section:first-child{border-top:none;padding-top:0;}

.legal-body h2{font-family:var(--display);font-weight:500;font-size:clamp(20px,2.6vw,26px);margin-bottom:16px;}

.legal-body p{font-size:15.5px;line-height:1.85;color:var(--ink-2);margin-bottom:14px;}

.legal-body p:last-child{margin-bottom:0;}

.legal-body ul{margin:0 0 14px;padding-inline-start:22px;}

.legal-body li{font-size:15.5px;line-height:1.85;color:var(--ink-2);margin-bottom:6px;}

.legal-body a{color:var(--burgundy);text-decoration:underline;text-underline-offset:2px;}

.legal-body strong{font-weight:600;color:var(--ink);}
/* ============ NEW LOOKS (CMS-added, generic template) ============ */
.yazan-look-extra{margin-bottom:min(9vw,80px);}
.yazan-look-extra-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:min(3vw,28px);
  margin-bottom:min(6vw,48px);
}
.yazan-look-extra-img img{width:100%;display:block;}
.yazan-look-extra-desc{
  max-width:60ch;
  font-family:var(--display-text);
  font-weight:700;
  font-size:clamp(17px,2vw,21px);
  line-height:1.5;
  color:var(--ink);
}
