:root{
  --ink:#10100f;
  --ink-soft:#191816;
  --paper:#f3efe7;
  --paper-2:#e8dfd2;
  --muted:#6d685f;
  --line:rgba(16,16,15,.17);
  --light-line:rgba(243,239,231,.18);
  --max:1380px;
  --serif:Georgia,"Times New Roman",serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.5}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
.container{width:min(var(--max),calc(100% - 56px));margin-inline:auto}
.skip-link{position:fixed;top:-80px;left:18px;z-index:5000;background:#fff;color:#000;padding:10px 14px}.skip-link:focus{top:10px}
.eyebrow{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;font-weight:750}
.section{padding:118px 0;border-top:1px solid var(--line);scroll-margin-top:112px}
.section-title{font-family:var(--serif);font-weight:400;font-size:clamp(3.2rem,6vw,7rem);line-height:.9;letter-spacing:-.055em;margin:0}
.section-head{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:end;margin-bottom:60px}
.section-head-tight{margin-bottom:48px}
.section-intro{max-width:560px;font-size:1rem;color:#504b44;margin:0 0 5px}
.text-link{display:inline-flex;align-items:center;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:750}
.text-link-light{color:var(--paper)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;border:1px solid var(--ink);font-size:.74rem;font-weight:750;letter-spacing:.15em;text-transform:uppercase;transition:background .22s ease,color .22s ease,border-color .22s ease}
.btn-dark{background:var(--ink);color:var(--paper)}.btn-dark:hover{background:transparent;color:var(--ink)}
.btn-light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn-light:hover{background:transparent;color:var(--paper)}
.btn-outline-light{background:transparent;color:var(--paper);border-color:rgba(243,239,231,.7)}.btn-outline-light:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}

/* guest spot ribbon + header */
.announcement{position:fixed;inset:0 0 auto 0;height:34px;z-index:1100;background:var(--ink);color:var(--paper);border-bottom:1px solid rgba(255,255,255,.1)}
.announcement a{height:100%;display:flex;align-items:center;justify-content:center;gap:20px;padding:0 18px;font-size:.62rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap}
.announcement a span+span::before{content:"/";margin-right:20px;color:rgba(243,239,231,.35)}
.announcement strong{font-weight:800;border-bottom:1px solid rgba(243,239,231,.7)}
.site-header{position:fixed;inset:34px 0 auto 0;z-index:1000;background:rgba(243,239,231,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:1.15rem}.brand img{width:42px;height:42px;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:30px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:750}
.nav-links>a:not(.nav-cta):not(.instagram-link){position:relative}
.nav-links>a:not(.nav-cta):not(.instagram-link)::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:.2s}.nav-links>a:not(.nav-cta):not(.instagram-link):hover::after{right:0}
.nav-cta{padding:11px 15px;border:1px solid var(--ink)}
.instagram-link{width:24px;height:24px;display:grid;place-items:center}.instagram-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6}
.nav-toggle{display:none;border:0;background:transparent;padding:10px}.nav-toggle span{display:block;width:25px;height:1.5px;background:var(--ink);margin:5px 0}

/* homepage hero */
.hero-v2{padding-top:106px;display:grid;grid-template-columns:42% 58%;background:var(--ink);color:var(--paper)}
.hero-v2-copy{padding:clamp(58px,9vh,105px) clamp(32px,5vw,74px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0}
.hero-v2-logo{width:min(345px,76%);margin-bottom:38px;filter:drop-shadow(0 18px 28px rgba(0,0,0,.25))}
.hero-v2-kicker{font-size:.68rem;font-weight:750;letter-spacing:.24em;text-transform:uppercase;margin-bottom:19px;color:rgba(243,239,231,.64)}
.hero-v2-style{font-family:var(--serif);font-size:clamp(1.55rem,2.35vw,2.8rem);line-height:1.13;letter-spacing:-.025em;max-width:590px;margin:0 0 18px}
.hero-v2-place{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(243,239,231,.55);margin:0 0 34px}
.hero-actions{display:flex;flex-wrap:wrap;gap:11px}
.hero-v2-image{position:relative;overflow:hidden;height:700px;min-height:0;max-height:700px;background:#2a2622;}
..hero-v2-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transition:transform .7s ease;
}
.hero-v2-image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,16,15,.18),transparent 30%,rgba(16,16,15,.03))}
.hero-v2-image span{position:absolute;right:26px;bottom:23px;z-index:2;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;background:rgba(16,16,15,.84);padding:10px 12px}

/* selected work */
.section-work{background:var(--paper)}
.editorial-work-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(4,minmax(150px,15vw));gap:13px}
.editorial-work-grid figure{margin:0;overflow:hidden;background:#d8d0c5}
.editorial-work-grid img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.editorial-work-grid figure:hover img{transform:scale(1.025)}
.work-a{grid-column:1/8;grid-row:1/3}.work-b{grid-column:8/13;grid-row:1/3}.work-c{grid-column:1/5;grid-row:3/5}.work-d{grid-column:5/9;grid-row:3/5}.work-e{grid-column:9/13;grid-row:3/5}
.feature-foot{display:flex;justify-content:flex-end;margin-top:27px}

/* about */
.about-v2{background:#e9e0d4}
.about-v2-grid{display:grid;grid-template-columns:1.05fr .72fr;gap:10vw;align-items:center}
.about-v2-copy .eyebrow{margin-bottom:25px}.about-v2-copy h2{font-family:var(--serif);font-size:clamp(3.2rem,5.9vw,7rem);font-weight:400;line-height:.91;letter-spacing:-.055em;margin:0 0 34px;max-width:850px}
.about-v2-copy p{font-size:1.05rem;color:#4d4942;max-width:670px;margin:0 0 16px}
.about-v2-meta{display:flex;gap:30px;flex-wrap:wrap;margin-top:34px;padding-top:23px;border-top:1px solid var(--line);font-size:.69rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700}
.about-v2-meta a{border-bottom:1px solid currentColor}
.about-v2-photo{overflow:hidden;aspect-ratio:4/5;background:#121316}.about-v2-photo img{width:100%;height:100%;object-fit:cover;object-position:center 26%;filter:saturate(.82) contrast(1.02)}

/* available designs */
.available-v2{background:var(--ink);color:var(--paper);border-top-color:var(--light-line)}
.available-v2 .section-intro{color:rgba(243,239,231,.66)}
.available-grid-v2{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 16px}
.design-card-v2{min-width:0}.design-card-v2.hidden-design{display:none}
.design-card-v2 a{display:block}.design-art{background:#e9e0d4;aspect-ratio:4/5;display:grid;place-items:center;overflow:hidden;padding:26px}
.design-art img{width:100%;height:100%;object-fit:contain;transition:transform .4s ease}.design-card-v2:hover .design-art img{transform:scale(1.035)}
.design-caption{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:13px 2px 0;font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(243,239,231,.66)}
.design-caption span:first-child{font-family:var(--serif);font-size:1rem;letter-spacing:0;color:var(--paper)}
.design-caption span:nth-child(2){text-align:left}.design-caption span:last-child{color:var(--paper);opacity:0;transform:translateX(-4px);transition:.2s}.design-card-v2:hover .design-caption span:last-child{opacity:1;transform:none}
.available-actions-v2{margin-top:46px;display:flex;justify-content:space-between;align-items:center;gap:22px;flex-wrap:wrap}

/* guest */
.guest-statement{padding:108px 0;background:var(--paper);border-top:1px solid var(--line);scroll-margin-top:112px;overflow:hidden}
.guest-top{display:flex;justify-content:space-between;gap:20px;font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;font-weight:750;color:#4f4b45}
.guest-statement h2{font-family:var(--sans);font-size:clamp(5rem,15vw,14rem);font-weight:850;line-height:.78;letter-spacing:-.075em;margin:52px 0 64px;white-space:nowrap}
.guest-bottom{display:grid;grid-template-columns:1fr 1fr auto;gap:32px;align-items:end;border-top:1px solid var(--ink);padding-top:24px}
.guest-bottom div span{display:block;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#625d55;margin-bottom:7px}.guest-bottom strong{font-size:1rem;letter-spacing:.04em}

/* FAQ */
.faq-v2{background:#ebe3d8}.faq-list{max-width:920px;margin-left:auto}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;text-align:left;background:none;border:0;padding:23px 0;font-size:1rem;color:var(--ink)}
.faq-q span:last-child{font-size:1.45rem;font-weight:300;transition:.25s}.faq-item.open .faq-q span:last-child{transform:rotate(45deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}.faq-a>div{overflow:hidden}.faq-a p{margin:0 0 24px;color:#59554f;max-width:760px}.faq-item.open .faq-a{grid-template-rows:1fr}

.final-cta-v2{background:var(--ink);color:var(--paper);padding:128px 0;text-align:center;border-top:1px solid var(--light-line)}
.final-cta-v2 h2{font-family:var(--serif);font-size:clamp(4.6rem,10vw,10.5rem);font-weight:400;line-height:.82;letter-spacing:-.07em;margin:20px 0 34px}.final-cta-v2 p{color:rgba(243,239,231,.67);max-width:550px;margin:0 auto 34px;font-size:1rem}
.site-footer{padding:42px 0;background:var(--ink);color:var(--paper);border-top:1px solid var(--light-line)}
.footer-grid{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap}.footer-brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:1.3rem}.footer-brand img{width:44px}.footer-meta{text-align:right;color:rgba(243,239,231,.52);font-size:.72rem;line-height:1.85}.footer-meta a{text-decoration:underline;text-underline-offset:3px}

/* inner page hero */
.page-hero-v2{padding:190px 0 78px;background:var(--paper)}
.page-hero-v2 h1{font-family:var(--serif);font-size:clamp(5rem,11vw,11rem);font-weight:400;line-height:.8;letter-spacing:-.07em;margin:15px 0 0}.page-hero-v2 p{max-width:690px;color:#555149;font-size:1.02rem;margin:36px 0 0}
.portfolio-section{padding-top:58px}.filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:34px}.filter-btn{border:1px solid var(--line);background:transparent;padding:10px 13px;font-size:.67rem;letter-spacing:.11em;text-transform:uppercase}.filter-btn.active,.filter-btn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.portfolio-masonry{columns:3 330px;column-gap:14px}.portfolio-card{break-inside:avoid;margin:0 0 14px;background:#ddd3c5;overflow:hidden;cursor:zoom-in}.portfolio-card img{width:100%;height:auto;transition:transform .5s ease}.portfolio-card:hover img{transform:scale(1.018)}.portfolio-card.hidden{display:none}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:2500;display:none;align-items:center;justify-content:center;padding:30px}.lightbox.open{display:flex}.lightbox img{max-width:min(1200px,94vw);max-height:91vh;object-fit:contain}.lightbox button{position:absolute;top:17px;right:22px;background:none;border:0;color:#fff;font-size:2.2rem;font-weight:200}

/* booking */
.booking-hero{padding-bottom:64px}.booking-layout-v2{display:grid;grid-template-columns:.7fr 1.3fr;gap:9vw;align-items:start;padding-bottom:120px}.booking-aside-v2{position:sticky;top:138px;padding-top:15px}.booking-aside-v2 h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,4.8vw,5.4rem);line-height:.94;letter-spacing:-.045em;margin:20px 0 25px}.booking-aside-v2>p{color:#575249;max-width:510px}.booking-note-v2{border-top:1px solid var(--line);padding-top:19px;margin-top:28px}.booking-note-v2 span{display:block;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;font-weight:750;margin-bottom:7px}.booking-note-v2 p{font-size:.91rem;color:#5e5951;margin:0}
.booking-form-v2{display:block}.booking-form-v2 fieldset{border:0;border-top:1px solid var(--ink);padding:27px 0 49px;margin:0}.booking-form-v2 legend{float:left;width:100%;display:flex;gap:14px;align-items:baseline;font-family:var(--serif);font-size:2.05rem;line-height:1;margin:0 0 30px;padding:0}.booking-form-v2 legend span{font-family:var(--sans);font-size:.62rem;letter-spacing:.15em;font-weight:800;color:#777168}.booking-form-v2 legend+*{clear:both}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 20px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}label{font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;font-weight:750}
input,select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid #918a81;padding:12px 0 11px;outline:none;border-radius:0}textarea{min-height:118px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--ink)}
.file-box-v2{border:1px solid #9d958a;padding:21px;background:rgba(255,255,255,.17);gap:10px}.file-box-v2 input{border:0;padding:5px 0 16px}.file-box-v2 label:not(:first-child){margin-top:7px}.form-help{font-size:.72rem;color:#6e685f;margin-top:1px}
.form-consent{display:grid;gap:15px;padding:8px 0 25px}.check-row{display:flex;gap:10px;align-items:flex-start}.check-row input{width:auto;margin-top:4px}.check-row label{font-size:.78rem;text-transform:none;letter-spacing:0;font-weight:400;color:#57524b}.form-submit .btn{width:100%}.privacy-mini{font-size:.7rem;color:#746e65;line-height:1.6;margin-top:10px}

/* thank you / 404 */
.thanks-page{background:var(--ink)}.thanks-v2{min-height:100svh;background:var(--ink);color:var(--paper);display:grid;place-items:center;text-align:center;padding:170px 24px 80px}.thanks-inner{max-width:760px}.thanks-inner>img{width:min(210px,46vw);margin:0 auto 38px}.thanks-v2 h1{font-family:var(--serif);font-size:clamp(5rem,12vw,10rem);font-weight:400;line-height:.8;letter-spacing:-.07em;margin:18px 0 30px}.thanks-v2 p{max-width:590px;margin:0 auto 30px;color:rgba(243,239,231,.66)}.thanks-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}

@media (max-width:1050px){
  .hero-v2{grid-template-columns:1fr;min-height:auto}.hero-v2-copy{min-height:65vh;padding-top:78px}.hero-v2-logo{width:min(300px,60%)}.hero-v2-image{height:66vh;min-height:500px}
  .editorial-work-grid{grid-template-rows:repeat(4,minmax(150px,22vw))}
  .about-v2-grid{grid-template-columns:1fr 1fr;gap:7vw}.available-grid-v2{grid-template-columns:repeat(2,1fr)}
  .guest-statement h2{font-size:clamp(5rem,17vw,11rem)}
  .booking-layout-v2{grid-template-columns:1fr;gap:60px}.booking-aside-v2{position:static}.booking-aside-v2 h2{max-width:740px}
}
@media (max-width:780px){
  .container{width:min(100% - 30px,var(--max))}.section{padding:82px 0}.section-head{grid-template-columns:1fr;gap:20px;margin-bottom:40px}.section-title{font-size:clamp(3.2rem,16vw,5.6rem)}
  .announcement{height:32px}.announcement a{justify-content:space-between;gap:8px;font-size:.55rem;padding:0 12px}.announcement a span:nth-child(3){display:none}.announcement a span+span::before{margin-right:8px}.site-header{top:32px}.nav{height:66px}.site-header .container{width:calc(100% - 22px)}.brand span{display:none}.brand img{width:39px;height:39px}.nav-toggle{display:block;z-index:1002}.nav-links{position:fixed;inset:32px 0 0;background:var(--paper);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:70px 34px;gap:22px;font-family:var(--serif);font-size:2rem;letter-spacing:-.02em;text-transform:none;font-weight:400;transform:translateX(100%);transition:.3s ease;z-index:1001}.nav-links.open{transform:translateX(0)}.nav-cta{padding:0;border:0}.instagram-link{width:auto;height:auto}.instagram-link svg{width:28px;height:28px}
  .hero-v2{padding-top:98px}.hero-v2-copy{min-height:60vh;padding:62px 24px 54px}.hero-v2-logo{width:min(260px,70%);margin-bottom:30px}.hero-v2-style{font-size:clamp(1.55rem,7vw,2.2rem)}.hero-v2-place{font-size:.62rem}.hero-actions{width:100%}.hero-actions .btn{flex:1;min-width:145px}.hero-v2-image{height:58vh;min-height:430px}
  .editorial-work-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:8px}.editorial-work-grid figure{grid-column:auto;grid-row:auto;aspect-ratio:3/4}.editorial-work-grid .work-a{grid-column:1/-1;aspect-ratio:4/3}.editorial-work-grid .work-d{grid-column:1/-1;aspect-ratio:4/3}
  .about-v2-grid{grid-template-columns:1fr;gap:44px}.about-v2-copy h2{font-size:clamp(3.1rem,15vw,5.2rem)}.about-v2-photo{order:-1;aspect-ratio:4/5;max-height:650px}.about-v2-meta{gap:18px}
  .available-grid-v2{grid-template-columns:1fr 1fr;gap:28px 8px}.design-art{padding:13px}.design-caption{grid-template-columns:auto 1fr;padding-top:10px}.design-caption span:last-child{display:none}
  .guest-statement{padding:82px 0}.guest-top{font-size:.58rem}.guest-statement h2{font-size:clamp(4.2rem,22vw,8rem);margin:43px 0 48px}.guest-bottom{grid-template-columns:1fr;gap:21px}.guest-bottom .btn{width:100%;margin-top:6px}
  .faq-list{margin-left:0}.final-cta-v2{padding:96px 0}.footer-meta{text-align:left}
  .page-hero-v2{padding:150px 0 57px}.page-hero-v2 h1{font-size:clamp(4.5rem,22vw,8rem)}.portfolio-section{padding-top:44px}.portfolio-masonry{columns:2 150px;column-gap:8px}.portfolio-card{margin-bottom:8px}
  .form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.booking-form-v2 fieldset{padding-bottom:41px}.booking-form-v2 legend{font-size:1.8rem}.booking-layout-v2{padding-bottom:80px}
}
@media (max-width:480px){
  .announcement a span:nth-child(2)::before{display:none}.announcement a span:first-child{display:none}
  .hero-v2-logo{width:min(230px,78%)}.hero-v2-image{height:52vh;min-height:390px}.hero-v2-image span{right:14px;bottom:14px}
  .available-grid-v2{grid-template-columns:1fr}.design-art{aspect-ratio:5/5.6;padding:20px}.available-actions-v2 .btn{width:100%}
  .portfolio-masonry{columns:1}.filters{gap:6px}.filter-btn{padding:9px 11px;font-size:.62rem}
  .thanks-actions .btn{width:100%}
}

/* ---------- V3 mobile polish ---------- */
html,body{max-width:100%;overflow-x:hidden}
.nav-toggle span{transition:transform .22s ease,opacity .22s ease}

@media (max-width:780px){
  /* Keep the fixed chrome predictable on small screens */
  .announcement{height:32px}
  .site-header{top:32px}
  .nav{height:66px}

  /* Full-screen mobile menu starts BELOW the header, never behind it */
  .nav-links{
    position:fixed;
    top:98px;
    right:0;
    bottom:0;
    left:0;
    min-height:calc(100dvh - 98px);
    padding:18px 24px 32px;
    background:var(--paper);
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    transform:translateX(100%);
    visibility:hidden;
    pointer-events:none;
    transition:transform .28s ease,visibility .28s ease;
    z-index:1001;
    font-family:var(--serif);
    font-size:clamp(1.9rem,9vw,2.65rem);
    line-height:1;
    letter-spacing:-.035em;
    text-transform:none;
    font-weight:400;
  }
  .nav-links.open{transform:translateX(0);visibility:visible;pointer-events:auto}
  .nav-links>a{
    width:100%;
    min-height:72px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 2px;
    border-bottom:1px solid var(--line);
  }
  .nav-links>a:first-child{border-top:1px solid var(--line)}
  .nav-links>a:not(.nav-cta):not(.instagram-link)::after{display:none}
  .nav-links .instagram-link{width:100%;height:auto}
  .nav-links .instagram-link::after{
    content:"Instagram";
    display:block;
    font-family:var(--serif);
    font-size:1em;
    letter-spacing:-.035em;
  }
  .nav-links .instagram-link svg{order:2;width:25px;height:25px}
  .nav-links .nav-cta{
    min-height:58px;
    margin-top:22px;
    padding:0 18px;
    justify-content:center;
    border:1px solid var(--ink);
    background:var(--ink);
    color:var(--paper);
    font-family:var(--sans);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
  }
  .nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.25px) rotate(45deg)}
  .nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}

  /* Home hero: slightly tighter and cleaner on phones */
  .hero-v2-copy{min-height:auto;padding:58px 24px 52px}
  .hero-v2-logo{width:min(205px,62vw);margin-bottom:26px}
  .hero-v2-style{font-size:clamp(1.65rem,7.4vw,2.2rem);line-height:1.08}
  .hero-v2-place{margin-bottom:27px}
  .hero-v2-image{height:56vh;min-height:390px}

  /* Editorial headings should feel large, but never collide with the viewport */
  .section-title{font-size:clamp(3.05rem,14.3vw,5.25rem);line-height:.94}
  .about-v2-copy h2{font-size:clamp(3rem,13.8vw,5rem);line-height:.94}

  /* Guest spot: fit the whole city name on one line */
  .guest-statement{padding:72px 0 78px;overflow:visible}
  .guest-top{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start;font-size:.56rem;line-height:1.35}
  .guest-top span:last-child{text-align:right}
  .guest-statement h2{
    max-width:100%;
    margin:36px 0 42px;
    font-size:clamp(2.65rem,13.5vw,5rem);
    line-height:.9;
    letter-spacing:-.065em;
    white-space:normal;
    overflow-wrap:normal;
  }
  .guest-bottom{grid-template-columns:1fr;gap:22px;padding-top:22px}
  .guest-bottom div span{margin-bottom:5px}
  .guest-bottom strong{display:block;font-size:.95rem;line-height:1.35}
  .guest-bottom .btn{width:100%;min-height:56px;margin-top:4px}

  /* More breathing room around available designs */
  .available-grid-v2{gap:24px 9px}
  .design-art{padding:14px}

  /* Form/page headings */
  .page-hero-v2 h1{font-size:clamp(4.2rem,19vw,7rem);line-height:.86}

  /* Footer stacks naturally */
  .footer-grid{grid-template-columns:1fr;gap:25px}
  .footer-meta{text-align:left}
}

@media (max-width:480px){
  .container{width:calc(100% - 32px)}
  .announcement a{padding-inline:16px}
  .site-header .container{width:calc(100% - 28px)}
  .nav-links{padding-inline:20px}
  .hero-v2-copy{padding-inline:20px}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .hero-actions .btn{min-width:0;padding-inline:10px}
  .hero-v2-image{height:51vh;min-height:350px}
  .section{padding:72px 0}
  .section-head{margin-bottom:34px}
  .section-title{font-size:clamp(2.85rem,13.8vw,4.6rem)}
  .guest-statement h2{font-size:clamp(2.55rem,13vw,4.6rem)}
  .guest-top{grid-template-columns:1fr;gap:7px}
  .guest-top span:last-child{text-align:left}
  .guest-bottom strong{font-size:.9rem}
  .available-grid-v2{grid-template-columns:1fr}
  .design-art{aspect-ratio:1/1.08;padding:18px}
  .booking-form-v2 legend{font-size:1.65rem}
}

/* ---------- V4 editable-content support ---------- */
#guest-spots:empty{display:none}
#guest-spots .guest-statement + .guest-statement{border-top:1px solid var(--line)}
body.no-announcement .site-header{top:0}
body.no-announcement .hero-v2{padding-top:72px}
body.no-announcement .page-hero-v2{padding-top:156px}
@media (max-width:780px){
  body.no-announcement .site-header{top:0}
  body.no-announcement .nav-links{top:66px;min-height:calc(100dvh - 66px)}
  body.no-announcement .hero-v2{padding-top:66px}
  body.no-announcement .page-hero-v2{padding-top:118px}
}
/* ---------- Fixed hero heights ---------- */

/* Tablet */
@media (max-width:1050px) and (min-width:781px){
  .hero-v2-image{
    height:520px;
    min-height:0;
    max-height:520px;
  }
}

/* Mobile */
@media (max-width:780px){
  .hero-v2-image{
    height:430px;
    min-height:0;
    max-height:430px;
  }
}

/* Small mobile */
@media (max-width:480px){
  .hero-v2-image{
    height:380px;
    min-height:0;
    max-height:380px;
  }
}
