
@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,400;6..96,500;6..96,600&family=Manrope:wght@300;400;500;600&display=swap');

:root{
  --bg:#101113; --bg2:#15171a; --paper:#f1ece6; --muted:#9b9691;
  --line:rgba(241,236,230,.12); --champ:#c8ae8e; --champ2:#dfcdb8;
  --ink:#131416; --max:1360px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--paper);
  background:
    radial-gradient(circle at 17% 4%,rgba(200,174,142,.055),transparent 28%),
    radial-gradient(circle at 83% 16%,rgba(145,135,139,.04),transparent 26%),
    linear-gradient(180deg,#111214 0%,#15171a 36%,#101113 100%);
  font-family:Manrope,Arial,sans-serif;
  font-weight:300;
  overflow-x:hidden;
}
body.no-scroll{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{max-width:100%;display:block}
.wrap{width:min(var(--max),calc(100% - 8vw));margin:auto}
.section{padding:110px 0}
.eyebrow{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:#aa9179}
.serif,h1,h2,h3{font-family:'Bodoni Moda',Georgia,serif;font-weight:500}
.muted{color:var(--muted)}

.site-header{
  position:sticky;top:0;z-index:80;height:98px;
  border-bottom:1px solid var(--line);
  background:rgba(15,16,18,.82);backdrop-filter:blur(18px);
}
.header-inner{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.main-nav{display:flex;gap:26px;align-items:center;font-size:12px;color:#d3ccc6}
.main-nav a:hover{color:var(--champ2)}
.nav-group{position:relative}
.nav-group>button{border:0;background:none;color:inherit;cursor:pointer;padding:18px 0}
.nav-drop{
  position:absolute;top:52px;left:-18px;min-width:280px;padding:12px;
  background:rgba(18,19,22,.98);border:1px solid var(--line);
  box-shadow:0 20px 60px rgba(0,0,0,.28);
  opacity:0;transform:translateY(-8px);pointer-events:none;transition:.25s
}
.nav-group:hover .nav-drop,.nav-group:focus-within .nav-drop{opacity:1;transform:none;pointer-events:auto}
.nav-drop a{display:block;padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.05)}
.nav-drop a:last-child{border:0}
.brand{text-align:center;line-height:.94}
.brand .k{display:block;font-size:10px;letter-spacing:.55em;color:#baa795}
.brand .d{
  display:block;font-family:'Bodoni Moda',Georgia,serif;font-size:35px;
  background:linear-gradient(105deg,#f2ece6,#c8ae8e,#e9e2dc);
  -webkit-background-clip:text;background-clip:text;color:transparent
}
.brand .s{display:block;margin-top:6px;font-size:7px;letter-spacing:.25em;color:#857c74}
.header-right{justify-self:end;display:flex;align-items:center;gap:16px;font-size:12px}
.btn{
  min-height:48px;padding:0 22px;border-radius:999px;
  border:1px solid rgba(241,236,230,.18);
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  cursor:pointer;transition:.25s;background:transparent;color:var(--paper)
}
.btn.primary{background:linear-gradient(115deg,#f2ece6,#d7c6b6);color:#151618;border:0}
.btn:hover{transform:translateY(-2px)}
.menu-btn{display:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:none;color:white;cursor:pointer}

.mobile-menu{
  position:fixed;inset:0;z-index:100;background:linear-gradient(145deg,#1c1e22,#0e0f11);
  display:none;padding:24px
}
.mobile-menu.open{display:block}
.mobile-top{display:flex;justify-content:space-between;align-items:center}
.mobile-links{margin-top:44px;display:grid}
.mobile-links a{
  font-family:'Bodoni Moda',Georgia,serif;font-size:34px;
  padding:15px 0;border-bottom:1px solid var(--line)
}
.mobile-sub{padding-left:18px!important;font-size:21px!important;color:#aaa39d!important}
.close-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:none;color:#fff;font-size:24px}

.hero{
  min-height:calc(100vh - 98px);display:grid;grid-template-columns:1.05fr .95fr;
  align-items:center;gap:7vw;padding:70px 0
}
.hero h1{font-size:clamp(68px,8vw,126px);line-height:.88;margin:18px 0 26px;letter-spacing:-.05em}
.hero h1 em{font-style:normal;color:var(--champ2)}
.hero p{max-width:610px;color:#aaa49f;line-height:1.75;font-size:16px}
.hero-actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.hero-image{position:relative;min-height:680px;overflow:hidden;background:#202226}
.hero-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:58% 34%;filter:saturate(.92) contrast(1.02)}
.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(10,11,12,.35))}
.hero-mark{position:absolute;z-index:2;right:28px;bottom:28px;width:86px;height:86px;border-radius:26px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.hero-mark img{position:static;object-fit:cover}

.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-strip div{padding:24px;border-right:1px solid var(--line)}
.trust-strip div:last-child{border:0}
.trust-strip strong{display:block;font-family:'Bodoni Moda',Georgia,serif;font-size:24px;font-weight:500}
.trust-strip span{font-size:11px;color:#817d79}

.section-head{display:grid;grid-template-columns:.35fr 1.65fr;gap:30px;margin-bottom:54px}
.section-head h2{font-size:clamp(48px,6vw,90px);line-height:.96;margin:0}
.section-head h2 em{font-style:normal;color:var(--champ)}
.editorial-list{border-top:1px solid var(--line)}
.editorial-row{
  display:grid;grid-template-columns:.8fr 1.5fr .45fr;gap:28px;align-items:center;
  min-height:126px;border-bottom:1px solid var(--line);transition:.25s
}
.editorial-row:hover{padding-left:12px;background:linear-gradient(90deg,rgba(255,255,255,.017),transparent)}
.editorial-row h3{font-size:36px;margin:0}
.editorial-row p{margin:0;color:#97928e;line-height:1.6}
.editorial-row b{justify-self:end;color:#c8ae8e;font-weight:400}

.media-split{display:grid;grid-template-columns:1.08fr .92fr;gap:7vw;align-items:center}
.media{min-height:600px;position:relative;overflow:hidden;background:#202226}
.media img,.media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media-copy h2{font-size:clamp(48px,5.7vw,84px);line-height:.98;margin:14px 0 25px}
.media-copy p{color:#9f9a96;line-height:1.75}
.bullet-lines{margin-top:34px;border-top:1px solid var(--line)}
.bullet-lines div{display:grid;grid-template-columns:44px 1fr;padding:16px 0;border-bottom:1px solid var(--line)}
.bullet-lines span{color:#716d69;font-size:10px}
.bullet-lines p{margin:0;color:#b1aaa4}

.gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
.gallery figure{margin:0;min-height:420px;position:relative;overflow:hidden;background:#202226}
.gallery figure:nth-child(1){grid-row:span 2;min-height:860px}
.gallery img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.gallery figcaption{
  position:absolute;left:18px;bottom:16px;background:rgba(12,13,15,.66);
  backdrop-filter:blur(10px);padding:8px 11px;font-size:10px;letter-spacing:.13em;text-transform:uppercase
}

.course-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:center}
.course-visual{min-height:620px;background:#151619;position:relative;overflow:hidden}
.course-visual img,.course-visual video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.course-copy h1,.course-copy h2{font-size:clamp(50px,6vw,92px);line-height:.95;margin:16px 0 22px}
.price-range{font-family:'Bodoni Moda',Georgia,serif;font-size:34px;color:#d9bea1}

.cert-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;align-items:center}
.cert-img{min-height:650px;position:relative;background:#17181a}
.cert-img img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.cert-copy h2{font-size:clamp(46px,5vw,76px);line-height:1}

.faq{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line);padding:0}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:24px 0;font-family:'Bodoni Moda',Georgia,serif;font-size:25px}
summary::-webkit-details-marker{display:none}
details p{color:#98938f;line-height:1.7;max-width:850px;padding:0 0 25px;margin:0}

.breadcrumbs{padding-top:26px;color:#75716e;font-size:11px}
.breadcrumbs a:hover{color:#c8ae8e}
.page-hero{padding:70px 0 50px;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(58px,7vw,106px);line-height:.92;margin:18px 0 18px}
.page-hero p{max-width:760px;color:#a09b97;line-height:1.75}

.price-table{border-top:1px solid var(--line)}
.price-row{display:grid;grid-template-columns:1fr auto;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.price-row span{color:#cfc7c0}
.price-row b{font-weight:500;color:#d9bea1}
.seo-copy{max-width:850px;color:#99948f;line-height:1.8}
.note{padding:22px;border-left:1px solid var(--champ);background:rgba(200,174,142,.035);color:#9b9691;line-height:1.7}

.cta{padding:80px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1.35fr .65fr;gap:5vw;align-items:end}
.cta h2{font-size:clamp(45px,5vw,78px);line-height:.96;margin:10px 0 0}
.cta-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}

.footer{border-top:1px solid var(--line);padding:38px 0 90px}
.footer-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:5vw}
.footer-brand{display:flex;gap:15px;align-items:center}
.footer-brand img{width:64px;height:64px;border-radius:20px}
.footer-brand strong{display:block;font-family:'Bodoni Moda',Georgia,serif;font-size:24px}
.footer-brand span{font-size:9px;letter-spacing:.16em;color:#77726f}
.footer h4{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8d8279}
.footer a{display:block;margin:8px 0;color:#a29c97;font-size:12px}
.footer-bottom{margin-top:34px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:#6f6b68;font-size:10px}

.assistant-fab{
  position:fixed;right:22px;bottom:22px;z-index:70;height:62px;padding:7px 17px 7px 7px;
  border-radius:999px;background:linear-gradient(115deg,#f2ece6,#d7c6b6);color:#151618;
  display:flex;align-items:center;gap:10px;box-shadow:0 20px 52px rgba(0,0,0,.27)
}
.assistant-fab img{width:48px;height:48px;border-radius:50%}
.assistant-fab small{display:block;font-size:8px;color:#68625d}
.assistant-fab strong{display:block;font-size:12px}
.mobile-bar{display:none}

.cursor-halo{
  position:fixed;pointer-events:none;width:500px;height:500px;border-radius:50%;z-index:1;
  background:radial-gradient(circle,rgba(235,229,222,.07),rgba(200,174,142,.035) 30%,transparent 70%);
  filter:blur(80px);opacity:.18;transform:translate(-50%,-50%)
}
.spark-layer{position:fixed;inset:0;pointer-events:none;z-index:1}
.spark{
  position:absolute;width:4px;height:4px;border-radius:50%;background:white;
  box-shadow:0 0 15px rgba(255,255,255,.2);opacity:0;animation:twinkle 8s ease-in-out infinite
}
.spark:before,.spark:after{
  content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent)
}
.spark:before{width:32px;height:1px}
.spark:after{width:1px;height:32px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.45),transparent)}
@keyframes twinkle{0%,74%,100%{opacity:0;transform:scale(.7)}80%{opacity:.6;transform:scale(1)}84%{opacity:.15}88%{opacity:.35}}

@media(max-width:1050px){
  .main-nav{display:none}.header-right .desktop-only{display:none}.menu-btn{display:block}
  .header-inner{grid-template-columns:44px 1fr 44px}.brand{grid-column:2}.header-right{display:contents}.menu-btn{grid-column:3}
  .hero{grid-template-columns:1fr 1fr}.hero h1{font-size:70px}
  .trust-strip{grid-template-columns:1fr 1fr}.gallery figure:nth-child(1){min-height:620px}
  .assistant-fab{width:62px;padding:7px}.assistant-fab span{display:none}
}
@media(max-width:760px){
  .wrap{width:calc(100% - 32px)}.section{padding:76px 0}.site-header{height:82px}
  .brand .d{font-size:25px}.brand .k{font-size:8px}.brand .s{display:none}
  .hero{display:flex;flex-direction:column;padding:38px 0 60px;min-height:auto}
  .hero-image{order:-1;min-height:470px;width:100%}
  .hero h1{font-size:clamp(50px,16vw,76px)}.hero p{font-size:14px}
  .hero-actions{display:grid;grid-template-columns:1fr;width:100%}.btn{width:100%}
  .trust-strip{grid-template-columns:1fr 1fr}.trust-strip div{padding:18px}
  .section-head{grid-template-columns:1fr;gap:18px;margin-bottom:34px}.section-head h2{font-size:42px}
  .editorial-row{grid-template-columns:1fr;gap:8px;padding:22px 0;min-height:0}
  .editorial-row:hover{padding-left:0}.editorial-row h3{font-size:30px}.editorial-row b{justify-self:start}
  .media-split,.course-panel,.cert-grid{grid-template-columns:1fr;gap:34px}
  .media,.course-visual,.cert-img{min-height:440px}
  .gallery{grid-template-columns:1fr}.gallery figure,.gallery figure:nth-child(1){grid-row:auto;min-height:360px}
  .page-hero{padding:48px 0 34px}.page-hero h1{font-size:48px}
  .cta{grid-template-columns:1fr;gap:30px;padding:60px 0}.cta h2{font-size:42px}
  .cta-actions{justify-content:flex-start;display:grid;grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:28px}.footer-bottom{flex-direction:column}
  .assistant-fab{display:none}
  .mobile-bar{
    position:fixed;left:10px;right:10px;bottom:10px;z-index:75;height:58px;
    background:rgba(17,18,20,.88);border:1px solid var(--line);backdrop-filter:blur(18px);
    border-radius:20px;display:grid;grid-template-columns:.7fr 1.3fr;gap:7px;padding:5px
  }
  .mobile-bar a{display:flex;align-items:center;justify-content:center;border-radius:15px;font-size:12px}
  .mobile-bar .book{background:linear-gradient(115deg,#f2ece6,#d7c6b6);color:#151618}
  .cursor-halo,.spark-layer{display:none}
}


.hero-image.hero-portrait{aspect-ratio:4/5;min-height:auto}
.hero-image.hero-portrait img{object-position:center 14%}
.media.media-portrait{min-height:720px;aspect-ratio:4/5}
.media.media-portrait img{object-position:center 12%}
.media.media-portrait-tight img{object-position:center 8%}
.media.media-landmark img{object-position:center center}
@media(max-width:760px){
  .hero-image.hero-portrait{min-height:460px;aspect-ratio:4/5}
  .media.media-portrait{min-height:460px;aspect-ratio:4/5}
}


/* ===== v18 image quality system ===== */
img{image-rendering:auto;-webkit-font-smoothing:antialiased}
.hero-image,.media,.course-visual,.cert-img,.gallery figure{
  overflow:hidden;background:#17181b;
}
.hero-image.hero-portrait{aspect-ratio:3/4;min-height:0}
.hero-image.hero-portrait img{object-fit:cover;object-position:center 16%}

/* Work photos are never forced into an unrelated portrait crop. */
.media.media-work{min-height:0;aspect-ratio:15/16}
.media.media-work img{object-fit:cover;object-position:center center}
.media.media-work-square{aspect-ratio:1/1}
.media.media-landscape{min-height:0;aspect-ratio:16/10}
.media.media-landscape img{object-fit:contain;object-position:center;background:#111214}

/* Education artwork was designed as a square, so show it as a square. */
.course-visual.course-square{min-height:0;aspect-ratio:1/1}
.course-visual.course-square img{object-fit:cover;object-position:center center}

/* Certificates should be readable and not clipped. */
.cert-img.cert-natural{min-height:0;aspect-ratio:4/5;background:#0d0e10}
.cert-img.cert-natural img{object-fit:contain;object-position:center center;padding:10px}

/* Portfolio = natural-ratio masonry. No arbitrary cutting of eyes/faces. */
.gallery{display:block;columns:2;column-gap:14px}
.gallery figure,.gallery figure:nth-child(1){
  display:inline-block;width:100%;min-height:0!important;height:auto!important;
  margin:0 0 14px;break-inside:avoid;position:relative;background:#17181b;
}
.gallery figure img{
  position:static!important;width:100%!important;height:auto!important;object-fit:contain!important;
}
.gallery figcaption{z-index:2}

/* Large images should not be blown past useful source resolution. */
.media-work,.media-landscape,.course-square,.cert-natural{max-width:100%}

@media(max-width:760px){
  .hero-image.hero-portrait{aspect-ratio:3/4;min-height:0}
  .media.media-work,.media.media-work-square{aspect-ratio:auto;min-height:0}
  .media.media-work img{position:static;height:auto;object-fit:contain}
  .media.media-landscape{aspect-ratio:auto;min-height:0}
  .media.media-landscape img{position:static;height:auto}
  .course-visual.course-square{aspect-ratio:1/1;min-height:0}
  .cert-img.cert-natural{aspect-ratio:auto;min-height:0}
  .cert-img.cert-natural img{position:static;height:auto;padding:0}
  .gallery{columns:1}
}


/* v19 — MAX AI concierge */
.ai-concierge{
  display:grid;
  grid-template-columns:120px 1fr auto;
  gap:34px;
  align-items:center;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding-top:52px;
  padding-bottom:52px;
  position:relative;
}
.ai-concierge:before{
  content:'';
  position:absolute;
  inset:18% 8% auto 18%;
  height:140px;
  background:radial-gradient(circle,rgba(200,174,142,.07),transparent 65%);
  filter:blur(45px);
  pointer-events:none;
}
.ai-concierge-mark{
  width:96px;height:96px;border-radius:30px;overflow:hidden;
  box-shadow:0 22px 60px rgba(0,0,0,.26);
  position:relative;z-index:1;
}
.ai-concierge-mark img{width:100%;height:100%;object-fit:cover}
.ai-concierge-copy{position:relative;z-index:1}
.ai-concierge-copy h2{
  margin:7px 0 8px;
  font-size:clamp(36px,4vw,58px);
  line-height:1;
}
.ai-concierge-copy p{
  margin:0;max-width:720px;color:#9f9994;line-height:1.65;font-size:14px
}
.ai-concierge-actions{
  display:flex;flex-direction:column;gap:9px;min-width:190px;
  position:relative;z-index:1
}
.ai-concierge-actions .btn{width:100%}
.assistant-fab{
  transition:transform .25s ease, box-shadow .25s ease;
}
.assistant-fab:hover{
  transform:translateY(-3px);
  box-shadow:0 25px 70px rgba(0,0,0,.34);
}
@media(max-width:900px){
  .ai-concierge{grid-template-columns:90px 1fr}
  .ai-concierge-mark{width:82px;height:82px;border-radius:25px}
  .ai-concierge-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .ai-concierge{grid-template-columns:64px 1fr;gap:18px;padding-top:38px;padding-bottom:38px}
  .ai-concierge-mark{width:64px;height:64px;border-radius:20px}
  .ai-concierge-copy h2{font-size:34px}
  .ai-concierge-actions{display:grid;grid-template-columns:1fr}
}


/* v20 — website booking intake */
.booking-modal{
  position:fixed;inset:0;z-index:150;display:none;
}
.booking-modal.open{display:block}
.booking-backdrop{
  position:absolute;inset:0;
  background:rgba(7,8,10,.78);
  backdrop-filter:blur(14px);
}
.booking-dialog{
  position:absolute;
  top:50%;left:50%;
  width:min(760px,calc(100% - 32px));
  max-height:min(88vh,860px);
  overflow:auto;
  transform:translate(-50%,-50%);
  background:
    radial-gradient(circle at 75% 0%,rgba(200,174,142,.075),transparent 30%),
    linear-gradient(145deg,#191b1e,#101113 72%);
  border:1px solid rgba(241,236,230,.13);
  box-shadow:0 40px 120px rgba(0,0,0,.52);
  padding:48px;
}
.booking-close{
  position:absolute;right:18px;top:18px;
  width:42px;height:42px;border-radius:50%;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
  color:#ddd5ce;font-size:24px;cursor:pointer;
}
.booking-dialog h2{
  margin:10px 0 12px;
  font-size:clamp(42px,5vw,64px);
  line-height:.98;
}
.booking-intro{
  max-width:600px;color:#9c9691;line-height:1.65;margin:0 0 32px;
}
.booking-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.booking-form label{display:grid;gap:8px}
.booking-form label>span{
  font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#8d837b
}
.booking-form input,.booking-form select{
  width:100%;height:56px;
  border:1px solid rgba(241,236,230,.12);
  background:rgba(255,255,255,.025);
  color:#eee8e2;
  padding:0 16px;
  outline:none;
  border-radius:0;
  font:400 14px Manrope,Arial,sans-serif;
}
.booking-form input:focus,.booking-form select:focus{
  border-color:rgba(216,190,160,.52);
  box-shadow:0 0 0 3px rgba(200,174,142,.05);
}
.booking-form select option{background:#18191c;color:#eee8e2}
.booking-wide{grid-column:1/-1}
.booking-consent{
  color:#6f6a66;font-size:10px;line-height:1.55;
}
.booking-submit{width:100%;border-radius:0}
.booking-submit:disabled{opacity:.55;cursor:wait}
.booking-error{
  color:#d7a4a4;font-size:12px;min-height:20px;margin-top:14px;
}
.booking-status-view{
  min-height:430px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
}
.booking-status-view[hidden]{display:none}
.booking-status-icon{
  width:72px;height:72px;border-radius:24px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(145deg,#191a1d,#090a0b);
  border:1px solid rgba(218,191,159,.22);
  font-family:'Bodoni Moda',Georgia,serif;
  font-size:30px;color:#d9bea1;margin-bottom:24px;
}
.booking-status-text{
  max-width:620px;color:#aaa39e;line-height:1.75;font-size:16px;
}
.booking-loader{
  width:100%;height:2px;background:rgba(255,255,255,.05);
  overflow:hidden;margin:30px 0;
}
.booking-loader i{
  display:block;width:38%;height:100%;
  background:linear-gradient(90deg,transparent,#d6b793,transparent);
  animation:bookingScan 1.5s ease-in-out infinite;
}
@keyframes bookingScan{
  from{transform:translateX(-110%)}
  to{transform:translateX(300%)}
}
.booking-result{
  width:100%;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:24px 0;margin:18px 0 26px;
}
.booking-result strong{
  display:block;font-family:'Bodoni Moda',Georgia,serif;
  font-size:30px;font-weight:500;margin-bottom:7px;
}
.booking-result span{color:#b1aaa4;line-height:1.65}
.booking-new{border-radius:0}
@media(max-width:760px){
  .booking-dialog{
    width:calc(100% - 16px);
    max-height:calc(100vh - 16px);
    padding:34px 20px 26px;
  }
  .booking-dialog h2{font-size:38px;padding-right:28px}
  .booking-form{grid-template-columns:1fr}
  .booking-wide{grid-column:auto}
  .booking-form input,.booking-form select{height:54px}
  .booking-close{right:10px;top:10px}
}


/* =========================================================
   v23 — DIAMOND NAVIGATION
   ========================================================= */

.site-header{
  height:92px;
  background:
    linear-gradient(180deg,rgba(16,17,19,.94),rgba(13,14,16,.82));
  border-bottom:1px solid rgba(236,226,216,.075);
  box-shadow:0 16px 50px rgba(0,0,0,.13);
  backdrop-filter:blur(22px) saturate(115%);
}

.header-inner{
  position:relative;
}

.main-nav,
.header-right{
  gap:8px;
}

.main-nav>a,
.nav-group>button,
.header-right>a.desktop-only{
  position:relative;
  isolation:isolate;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:rgba(233,226,220,.72);
  font-size:11px;
  font-weight:500;
  letter-spacing:.035em;
  text-decoration:none;
  transition:
    color .28s ease,
    background .28s ease,
    border-color .28s ease,
    transform .28s cubic-bezier(.2,.8,.2,1),
    text-shadow .28s ease;
  overflow:hidden;
}

.main-nav>a::before,
.nav-group>button::before,
.header-right>a.desktop-only::before{
  content:'';
  position:absolute;
  inset:5px 0;
  z-index:-1;
  border:1px solid transparent;
  border-radius:999px;
  background:
    linear-gradient(rgba(255,255,255,0),rgba(255,255,255,0)) padding-box,
    linear-gradient(
      115deg,
      transparent 5%,
      rgba(232,217,202,.04) 34%,
      rgba(255,246,236,.16) 50%,
      rgba(204,174,144,.06) 66%,
      transparent 95%
    ) border-box;
  opacity:0;
  transition:opacity .28s ease;
}

.main-nav>a::after,
.nav-group>button::after,
.header-right>a.desktop-only::after{
  content:'';
  position:absolute;
  z-index:3;
  top:-55%;
  left:-28%;
  width:22%;
  height:210%;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.08) 18%,
    rgba(255,252,246,.93) 48%,
    rgba(218,192,166,.26) 66%,
    transparent
  );
  filter:blur(.35px);
  opacity:0;
  transform:translateX(-210%) skewX(-17deg);
}

.main-nav>a:hover,
.nav-group>button:hover,
.header-right>a.desktop-only:hover{
  color:#f5eee7;
  background:rgba(255,255,255,.018);
  text-shadow:
    0 0 18px rgba(239,222,205,.18),
    0 0 34px rgba(204,174,144,.08);
}

.main-nav>a:hover::before,
.nav-group>button:hover::before,
.header-right>a.desktop-only:hover::before{
  opacity:1;
}

/* Persistent marker for current page. Set by JS. */
.main-nav .nav-current,
.header-right .nav-current{
  color:#f4ece4;
  background:linear-gradient(
    180deg,
    rgba(255,255,255,.032),
    rgba(255,255,255,.012)
  );
}

.main-nav .nav-current::before,
.header-right .nav-current::before{
  opacity:.8;
}

.main-nav .nav-current .nav-diamond-dot,
.header-right .nav-current .nav-diamond-dot{
  opacity:1;
}

/* Tiny jewel below active item, not a generic underline. */
.nav-diamond-dot{
  position:absolute;
  left:50%;
  bottom:3px;
  width:3px;
  height:3px;
  opacity:0;
  transform:translateX(-50%) rotate(45deg);
  background:#f8eee4;
  box-shadow:
    0 0 5px rgba(255,255,255,.95),
    0 0 11px rgba(225,198,169,.5),
    0 0 22px rgba(203,171,138,.24);
  transition:opacity .25s ease;
}

/* Click flash: one short "diamond facet" sweep. */
.diamond-flash::after{
  opacity:1 !important;
  animation:diamondNavSweep .52s cubic-bezier(.18,.72,.23,1) both;
}

.diamond-flash{
  animation:diamondNavPulse .52s ease both;
}

@keyframes diamondNavSweep{
  0%{
    opacity:0;
    transform:translateX(-230%) skewX(-17deg);
  }
  18%{opacity:.96}
  68%{opacity:.74}
  100%{
    opacity:0;
    transform:translateX(650%) skewX(-17deg);
  }
}

@keyframes diamondNavPulse{
  0%,100%{
    text-shadow:none;
    transform:translateY(0);
  }
  35%{
    color:#fffaf4;
    text-shadow:
      0 0 5px rgba(255,255,255,.9),
      0 0 17px rgba(239,220,199,.48),
      0 0 34px rgba(204,173,140,.23);
    transform:translateY(-1px);
  }
}

/* Services dropdown — less "constructor", more jewelry tray. */
.nav-drop{
  top:56px;
  left:-22px;
  min-width:302px;
  padding:9px;
  border-radius:18px;
  border:1px solid rgba(238,225,213,.11);
  background:
    radial-gradient(circle at 25% 0%,rgba(211,183,155,.065),transparent 34%),
    linear-gradient(150deg,rgba(26,27,30,.98),rgba(13,14,16,.985));
  box-shadow:
    0 32px 90px rgba(0,0,0,.46),
    inset 0 1px 0 rgba(255,255,255,.025);
  backdrop-filter:blur(24px);
  overflow:hidden;
}

.nav-drop::before{
  content:'';
  position:absolute;
  top:0;
  left:12%;
  right:12%;
  height:1px;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(230,205,181,.6),
    transparent
  );
  opacity:.48;
}

.nav-drop a{
  position:relative;
  display:flex;
  align-items:center;
  min-height:43px;
  padding:0 15px;
  border:0;
  border-radius:12px;
  color:rgba(224,217,211,.68);
  font-size:11px;
  letter-spacing:.025em;
  overflow:hidden;
  transition:background .25s ease,color .25s ease,padding-left .25s ease;
}

.nav-drop a::before{
  content:'';
  position:absolute;
  left:0;
  top:50%;
  width:3px;
  height:3px;
  opacity:0;
  transform:translateY(-50%) rotate(45deg);
  background:#f4e6d9;
  box-shadow:0 0 10px rgba(229,198,169,.5);
  transition:opacity .25s ease,left .25s ease;
}

.nav-drop a:hover{
  color:#f7eee7;
  padding-left:23px;
  background:linear-gradient(
    90deg,
    rgba(218,189,160,.075),
    rgba(255,255,255,.012)
  );
}

.nav-drop a:hover::before{
  left:11px;
  opacity:1;
}

/* Primary booking remains stronger, but receives the same facet flash. */
.header-right .btn.primary{
  position:relative;
  overflow:hidden;
  border-color:rgba(236,218,201,.2);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 9px 30px rgba(0,0,0,.12);
}

.header-right .btn.primary::after,
.hero-actions .btn::after,
.ai-concierge-actions .btn::after{
  content:'';
  position:absolute;
  z-index:3;
  top:-55%;
  left:-30%;
  width:20%;
  height:210%;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.12),
    rgba(255,255,255,.9),
    rgba(223,196,169,.22),
    transparent
  );
  opacity:0;
  transform:translateX(-210%) skewX(-17deg);
}

.header-right .btn.primary.diamond-flash::after,
.hero-actions .btn.diamond-flash::after,
.ai-concierge-actions .btn.diamond-flash::after{
  opacity:1;
  animation:diamondNavSweep .52s cubic-bezier(.18,.72,.23,1) both;
}

/* Hamburger becomes a compact jewel/control instead of literal ☰. */
.menu-btn{
  position:relative;
  font-size:0;
  overflow:hidden;
  border-color:rgba(235,222,210,.15);
  background:rgba(255,255,255,.018);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}

.menu-btn::before,
.menu-btn::after{
  content:'';
  position:absolute;
  left:12px;
  width:16px;
  height:1px;
  background:#eee5de;
  transition:transform .28s ease,box-shadow .28s ease;
}

.menu-btn::before{top:16px}
.menu-btn::after{top:24px}

.menu-btn:hover::before,
.menu-btn:hover::after{
  box-shadow:0 0 8px rgba(239,217,196,.4);
}

/* MOBILE OVERLAY */
.mobile-menu{
  padding:22px;
  background:
    radial-gradient(circle at 76% 8%,rgba(211,180,150,.08),transparent 25%),
    radial-gradient(circle at 8% 90%,rgba(255,255,255,.025),transparent 27%),
    linear-gradient(145deg,#17191c,#0b0c0e 72%);
}

.mobile-menu::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background-image:
    radial-gradient(circle at 19% 17%,#fff 0 1px,transparent 1.5px),
    radial-gradient(circle at 82% 29%,#d9b995 0 1px,transparent 1.5px),
    radial-gradient(circle at 70% 72%,#fff 0 .8px,transparent 1.4px),
    radial-gradient(circle at 30% 82%,#d9b995 0 .8px,transparent 1.4px);
}

.mobile-top{
  position:relative;
  z-index:2;
  border-bottom:1px solid rgba(238,226,215,.08);
  padding-bottom:20px;
}

.mobile-links{
  position:relative;
  z-index:2;
  max-width:720px;
  margin:34px auto 0;
}

.mobile-links a{
  position:relative;
  display:flex;
  align-items:center;
  min-height:61px;
  padding:0 18px 0 4px;
  border-bottom:1px solid rgba(236,227,220,.07);
  color:rgba(239,233,227,.76);
  font-family:'Bodoni Moda',Georgia,serif;
  font-size:clamp(28px,7vw,43px);
  font-weight:400;
  letter-spacing:-.025em;
  overflow:hidden;
  transition:
    color .3s ease,
    padding-left .3s cubic-bezier(.2,.8,.2,1),
    background .3s ease;
}

.mobile-links a.mobile-sub{
  min-height:44px;
  padding-left:28px;
  font-family:Manrope,Arial,sans-serif;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(190,181,174,.52);
}

.mobile-links a::before{
  content:'';
  position:absolute;
  left:0;
  top:50%;
  width:4px;
  height:4px;
  opacity:0;
  transform:translateY(-50%) rotate(45deg);
  background:#fff6ed;
  box-shadow:
    0 0 6px rgba(255,255,255,.9),
    0 0 16px rgba(218,188,158,.38);
  transition:opacity .25s ease;
}

.mobile-links a::after{
  content:'';
  position:absolute;
  top:-40%;
  left:-20%;
  width:14%;
  height:180%;
  opacity:0;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.04),
    rgba(255,249,241,.85),
    rgba(221,191,162,.18),
    transparent
  );
  transform:translateX(-220%) skewX(-17deg);
}

.mobile-links a:hover,
.mobile-links a.nav-current{
  color:#fff9f3;
  padding-left:18px;
  background:linear-gradient(
    90deg,
    rgba(211,181,151,.045),
    transparent 66%
  );
}

.mobile-links a.mobile-sub:hover,
.mobile-links a.mobile-sub.nav-current{
  padding-left:38px;
}

.mobile-links a.nav-current::before{
  opacity:1;
}

.mobile-links a.diamond-flash::after{
  opacity:1;
  animation:diamondMobileSweep .58s cubic-bezier(.18,.72,.23,1) both;
}

@keyframes diamondMobileSweep{
  0%{opacity:0;transform:translateX(-220%) skewX(-17deg)}
  15%{opacity:1}
  100%{opacity:0;transform:translateX(950%) skewX(-17deg)}
}

.close-btn{
  border:1px solid rgba(236,224,213,.14);
  background:rgba(255,255,255,.018);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}

@media (prefers-reduced-motion:reduce){
  .diamond-flash,
  .diamond-flash::after,
  .mobile-links a.diamond-flash::after{
    animation:none !important;
  }
}

@media(max-width:760px){
  .site-header{height:78px}
  .mobile-menu{padding:15px 18px 30px}
}



/* =========================================================
   v26 — CLEAN NAV + TRUE DIAMOND CLICK FLASH
   No permanent pills. No active-page capsule.
   ========================================================= */

.main-nav>a,
.nav-group>button,
.header-right>a.desktop-only{
  min-height:auto !important;
  padding:10px 12px !important;
  border-radius:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:rgba(235,229,223,.68) !important;
  text-shadow:none !important;
  overflow:visible !important;
  transition:
    color .22s ease,
    opacity .22s ease,
    transform .22s ease !important;
}

/* Kill the permanent capsule / border layers from v23 */
.main-nav>a::before,
.nav-group>button::before,
.header-right>a.desktop-only::before,
.main-nav>a::after,
.nav-group>button::after,
.header-right>a.desktop-only::after{
  display:none !important;
}

.main-nav>a:hover,
.nav-group>button:hover,
.header-right>a.desktop-only:hover{
  color:#f3ece5 !important;
  background:transparent !important;
  transform:translateY(-1px);
}

/* Current page should be almost invisible — only a slightly brighter text */
.main-nav .nav-current,
.header-right .nav-current{
  background:transparent !important;
  color:rgba(245,238,232,.88) !important;
  box-shadow:none !important;
}

.nav-diamond-dot{
  display:none !important;
}

/* The click flare is a real DOM element inserted by JS */
.diamond-burst{
  position:absolute;
  left:50%;
  top:50%;
  width:4px;
  height:4px;
  z-index:20;
  pointer-events:none;
  transform:translate(-50%,-50%);
}

.diamond-burst .diamond-core{
  position:absolute;
  left:50%;
  top:50%;
  width:5px;
  height:5px;
  transform:translate(-50%,-50%) rotate(45deg) scale(.2);
  background:#fffdf8;
  box-shadow:
    0 0 5px rgba(255,255,255,1),
    0 0 12px rgba(255,244,231,.95),
    0 0 24px rgba(224,198,173,.62),
    0 0 42px rgba(199,169,140,.28);
  animation:diamondCoreFlash .72s cubic-bezier(.18,.77,.2,1) forwards;
}

.diamond-burst .ray{
  position:absolute;
  left:50%;
  top:50%;
  width:1px;
  height:1px;
  transform-origin:0 0;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,.98),
    rgba(238,220,201,.58),
    rgba(238,220,201,0)
  );
  filter:drop-shadow(0 0 3px rgba(255,245,235,.7));
  opacity:0;
  animation:diamondRay .72s cubic-bezier(.18,.72,.22,1) forwards;
}

.diamond-burst .ray.r1{transform:rotate(0deg)}
.diamond-burst .ray.r2{transform:rotate(90deg)}
.diamond-burst .ray.r3{transform:rotate(180deg)}
.diamond-burst .ray.r4{transform:rotate(270deg)}

.diamond-burst .ray.diag1{transform:rotate(45deg);opacity:.55}
.diamond-burst .ray.diag2{transform:rotate(135deg);opacity:.55}
.diamond-burst .ray.diag3{transform:rotate(225deg);opacity:.55}
.diamond-burst .ray.diag4{transform:rotate(315deg);opacity:.55}

/* A very quick pearl-like light over the clicked text itself */
.diamond-click-active{
  color:#fffdf9 !important;
  text-shadow:
    0 0 3px rgba(255,255,255,.95),
    0 0 11px rgba(255,246,235,.72),
    0 0 24px rgba(221,194,168,.34) !important;
  animation:diamondTextFlash .72s ease forwards;
}

@keyframes diamondCoreFlash{
  0%{
    opacity:0;
    transform:translate(-50%,-50%) rotate(45deg) scale(.15);
  }
  16%{
    opacity:1;
    transform:translate(-50%,-50%) rotate(45deg) scale(1.35);
  }
  34%{
    opacity:1;
    transform:translate(-50%,-50%) rotate(45deg) scale(.9);
  }
  100%{
    opacity:0;
    transform:translate(-50%,-50%) rotate(45deg) scale(.2);
  }
}

@keyframes diamondRay{
  0%{
    width:0;
    opacity:0;
  }
  15%{
    width:7px;
    opacity:.95;
  }
  48%{
    width:36px;
    opacity:.52;
  }
  100%{
    width:58px;
    opacity:0;
  }
}

@keyframes diamondTextFlash{
  0%{filter:brightness(1)}
  18%{filter:brightness(1.7)}
  42%{filter:brightness(1.18)}
  100%{filter:brightness(1)}
}

/* Keep dropdown refined but remove "button pill" character */
.nav-drop{
  border-radius:14px !important;
  background:
    radial-gradient(circle at 22% 0%,rgba(215,187,160,.055),transparent 34%),
    linear-gradient(150deg,rgba(24,25,28,.985),rgba(12,13,15,.99)) !important;
}

.nav-drop a{
  border-radius:8px !important;
}

/* Mobile: no selected-page slab either */
.mobile-links a,
.mobile-links a.mobile-sub,
.mobile-links a:hover,
.mobile-links a.nav-current,
.mobile-links a.mobile-sub:hover,
.mobile-links a.mobile-sub.nav-current{
  background:transparent !important;
  box-shadow:none !important;
}

.mobile-links a.nav-current::before{
  opacity:0 !important;
}

.mobile-links a{
  position:relative;
  overflow:visible !important;
}

.mobile-links a::after{
  display:none !important;
}

/* Mobile burst is larger */
.mobile-links .diamond-burst .ray{
  animation-duration:.78s;
}

.mobile-links .diamond-burst .diamond-core{
  width:7px;
  height:7px;
}

@media(max-width:760px){
  .mobile-links a{
    padding-left:4px !important;
  }
  .mobile-links a.mobile-sub{
    padding-left:28px !important;
  }
}

/* Booking button can keep its filled style but gets the same click flash */
.header-right .btn.primary,
.hero-actions .btn,
.ai-concierge-actions .btn{
  position:relative;
  overflow:visible !important;
}

.header-right .btn.primary::after,
.hero-actions .btn::after,
.ai-concierge-actions .btn::after{
  display:none !important;
}

@media (prefers-reduced-motion:reduce){
  .diamond-burst,
  .diamond-click-active{
    display:none !important;
    animation:none !important;
  }
}


/* =========================================================
   v35 CLEAN REBUILD
   ========================================================= */

:root{
  --premium-text:#f0ebe5;
  --premium-muted:#958f89;
  --premium-accent:#d7bea5;
  --premium-line:rgba(235,226,217,.09);
}

/* HEADER */
.premium-header{
  position:sticky;
  top:0;
  z-index:150;
  height:88px;
  background:rgba(13,14,16,.92);
  border-bottom:1px solid var(--premium-line);
  backdrop-filter:blur(16px);
}

.premium-header-inner{
  width:min(1480px,calc(100% - 48px));
  height:100%;
  margin:0 auto;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}

.premium-logo{
  display:flex;
  flex-direction:column;
  align-items:center;
  color:var(--premium-text);
  text-decoration:none;
  line-height:1;
}

.premium-logo-top{
  font-size:7px;
  letter-spacing:.52em;
  margin-left:.52em;
  color:#ab9885;
}

.premium-logo strong{
  margin-top:5px;
  font-family:'Bodoni Moda',Georgia,serif;
  font-size:31px;
  font-weight:500;
  letter-spacing:.04em;
}

.premium-logo-sub{
  margin-top:6px;
  font-size:6px;
  letter-spacing:.3em;
  color:#625d58;
}

.premium-menu-trigger{
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  display:grid;
  place-items:center;
}

.menu-diamond{
  width:19px;
  height:19px;
  position:relative;
  transform:rotate(45deg);
  border:1px solid rgba(225,204,184,.55);
  transition:.3s ease;
}

.menu-diamond i{
  position:absolute;
  background:rgba(225,204,184,.35);
}
.menu-diamond i:nth-child(1){left:50%;top:0;width:1px;height:100%}
.menu-diamond i:nth-child(2){left:0;top:50%;width:100%;height:1px}
.menu-diamond i:nth-child(3){left:25%;top:0;width:1px;height:70%;transform:rotate(-45deg);transform-origin:top}
.menu-diamond i:nth-child(4){right:25%;top:0;width:1px;height:70%;transform:rotate(45deg);transform-origin:top}

.premium-menu-trigger.diamond-flash .menu-diamond{
  animation:diamondFlash .7s cubic-bezier(.2,.8,.2,1);
}
@keyframes diamondFlash{
  0%{transform:rotate(45deg) scale(.95);box-shadow:0 0 0 rgba(255,255,255,0)}
  35%{transform:rotate(155deg) scale(1.18);box-shadow:0 0 10px rgba(255,255,255,.85),0 0 24px rgba(215,190,165,.35)}
  100%{transform:rotate(315deg) scale(1);box-shadow:0 0 0 rgba(255,255,255,0)}
}

/* FULLSCREEN MENU — calm, no giant typography */
.premium-menu{
  position:fixed;
  inset:0;
  z-index:500;
  padding:30px 42px;
  background:#0d0e10;
  display:flex;
  flex-direction:column;
  opacity:0;
  visibility:hidden;
  transition:opacity .28s ease,visibility .28s ease;
}

.premium-menu.open{
  opacity:1;
  visibility:visible;
}

.premium-menu-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.premium-menu-wordmark{
  color:#958a80;
  font-size:11px;
  letter-spacing:.22em;
  text-decoration:none;
}

.premium-menu-close{
  position:relative;
  width:44px;
  height:44px;
  border:1px solid rgba(235,225,215,.12);
  border-radius:50%;
  background:transparent;
  cursor:pointer;
}
.premium-menu-close span{
  position:absolute;
  left:12px;
  right:12px;
  top:21px;
  height:1px;
  background:#ddd5ce;
}
.premium-menu-close span:first-child{transform:rotate(45deg)}
.premium-menu-close span:last-child{transform:rotate(-45deg)}

.premium-menu-nav{
  flex:1;
  width:min(620px,100%);
  margin:auto 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.premium-menu-nav a{
  min-height:58px;
  display:grid;
  grid-template-columns:38px 1fr;
  align-items:center;
  border-bottom:1px solid rgba(236,227,218,.07);
  color:#d8d2cc;
  text-decoration:none;
}

.premium-menu-nav a span{
  font-size:10px;
  color:#625d58;
}

.premium-menu-nav a strong{
  font-family:inherit;
  font-size:16px;
  line-height:1.4;
  font-weight:400;
  letter-spacing:.02em;
}

.premium-menu-footer{
  display:flex;
  justify-content:flex-start;
}

.premium-menu-booking{
  min-width:160px;
  height:46px;
  border:0;
  border-radius:999px;
  background:#e5d6c6;
  color:#18191b;
  font-size:14px;
  cursor:pointer;
}

/* HOME HERO */
.premium-hero-v35{
  width:min(1480px,calc(100% - 72px));
  margin:0 auto;
  padding:56px 0 62px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:68px;
  align-items:center;
}

.premium-hero-copy{
  max-width:760px;
}

.premium-kicker{
  margin-bottom:26px;
  color:#a98f77;
  font-size:9px;
  line-height:1.6;
  letter-spacing:.22em;
}

.premium-hero-v35 h1{
  margin:0;
  font-family:'Bodoni Moda',Georgia,serif;
  font-size:clamp(52px,4.8vw,82px);
  line-height:.97;
  font-weight:400;
  letter-spacing:-.045em;
  color:#f0ebe5;
}

.premium-hero-v35 h1 span{
  display:block;
}

.premium-hero-v35 h1 .accent{
  margin-top:.08em;
  color:#d7bea5;
}

.premium-main-lead{
  max-width:610px;
  margin:28px 0 0;
  color:#a19b95;
  font-size:15px;
  line-height:1.72;
}

.premium-service-line{
  max-width:690px;
  margin-top:20px;
  color:#706a64;
  font-size:9px;
  line-height:1.7;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.premium-hero-actions{
  margin-top:28px;
  display:flex;
  gap:12px;
}

.premium-cta{
  min-height:48px;
  padding:0 22px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:14px;
}

.premium-cta.primary{
  background:#e5d6c6;
  color:#18191b;
}

.premium-cta.ghost{
  border:1px solid rgba(235,226,217,.13);
  color:#d8d1ca;
}

.premium-hero-media{
  display:flex;
  justify-content:flex-end;
}

.premium-hero-frame{
  width:360px;
  height:440px;
  overflow:hidden;
  border:1px solid rgba(235,226,217,.05);
}

.premium-hero-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 13%;
}

/* REMOVE old homepage trust strip defensively */
.trust-strip{
  display:none !important;
}

/* CONTACTS — no giant monogram */
.contact-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:64px;
  align-items:start;
}

.contact-card{
  padding:28px;
  border:1px solid var(--premium-line);
  background:rgba(255,255,255,.012);
}

.contact-card img{
  width:56px;
  height:56px;
  object-fit:contain;
  margin-bottom:28px;
}

.contact-card h2{
  margin:8px 0 12px;
  font-size:28px;
  line-height:1.15;
}

.contact-card p{
  margin:0;
  color:#8d8883;
  line-height:1.65;
}

/* FOOTER — fixed, readable, no collisions */
.footer{
  padding:52px 0 28px;
}

.footer .wrap{
  width:min(1480px,calc(100% - 72px));
  margin:0 auto;
}

.footer-grid{
  display:grid !important;
  grid-template-columns:1.15fr .7fr 1fr !important;
  gap:72px !important;
  align-items:start !important;
}

.footer-brand{
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
}

.footer-brand img{
  width:52px !important;
  height:52px !important;
  flex:0 0 52px !important;
}

.footer-brand strong,
.footer-brand span,
.footer h4,
.footer a{
  font-family:inherit !important;
  font-size:16px !important;
  line-height:1.5 !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
}

.footer-brand strong,
.footer-brand span{
  display:block !important;
}

.footer-brand span{
  color:#77716c !important;
}

.footer-grid > div:not(.footer-brand){
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:9px !important;
}

.footer h4{
  margin:0 0 7px !important;
  color:#d8d1ca !important;
}

.footer a{
  display:block !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  color:#9c9691 !important;
}

.footer-bottom{
  margin-top:38px !important;
  padding-top:18px !important;
  border-top:1px solid var(--premium-line) !important;
  display:flex !important;
  justify-content:space-between !important;
  gap:22px !important;
  color:#6f6a66 !important;
  font-size:13px !important;
  line-height:1.45 !important;
}

.footer-bottom span{
  font-size:13px !important;
}

/* Hide old desktop nav remnants */
.main-nav,
.header-right,
.nav-group,
.menu-btn{
  display:none !important;
}

@media(max-width:900px){
  .premium-hero-v35,
  .contact-layout{
    grid-template-columns:1fr;
  }

  .premium-hero-frame{
    width:320px;
    height:390px;
  }

  .premium-hero-media{
    justify-content:flex-start;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr !important;
    gap:34px 44px !important;
  }

  .footer-brand{
    grid-column:1/-1 !important;
  }
}

@media(max-width:620px){
  .premium-header{
    height:78px;
  }

  .premium-header-inner{
    width:calc(100% - 28px);
  }

  .premium-logo strong{
    font-size:24px;
  }

  .premium-logo-top,
  .premium-logo-sub{
    display:none;
  }

  .premium-menu{
    padding:20px 18px;
  }

  .premium-hero-v35{
    width:calc(100% - 36px);
    padding:36px 0 44px;
    gap:28px;
  }

  .premium-hero-v35 h1{
    font-size:clamp(43px,12vw,61px);
  }

  .premium-main-lead{
    font-size:14px;
  }

  .premium-hero-actions{
    flex-direction:column;
  }

  .premium-cta{
    width:100%;
  }

  .premium-hero-frame{
    width:260px;
    height:320px;
  }

  .contact-layout{
    gap:28px;
  }

  .contact-card{
    padding:22px;
  }

  .footer .wrap{
    width:calc(100% - 32px);
  }

  .footer-grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  .footer-brand{
    grid-column:auto !important;
  }

  .footer-bottom{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:8px !important;
  }
}
