
:root{
  --ink:#0b0908;--ink2:#15110e;--ivory:#f5f0e7;--paper:#ede5d8;
  --gold:#c9a46a;--gold2:#e0bd82;--muted:#a99d8e;--line:rgba(201,164,106,.28);
  --serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.75}
img{display:block;width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
.site-header{position:fixed;top:0;left:0;width:100%;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:25px 4.5vw;color:#fff;transition:.4s}
.site-header.scrolled{background:rgba(11,9,8,.92);backdrop-filter:blur(16px);padding-top:17px;padding-bottom:17px;border-bottom:1px solid rgba(255,255,255,.08)}
.wordmark,.footer-mark{font:600 25px/1 var(--serif);letter-spacing:.16em}.wordmark span,.footer-mark span{font-weight:400;color:var(--gold2)}
.main-nav{display:flex;gap:34px}.main-nav a{font-size:11px;text-transform:uppercase;letter-spacing:.2em;position:relative}.main-nav a:after{content:"";position:absolute;height:1px;width:0;background:var(--gold2);bottom:-8px;left:0;transition:.3s}.main-nav a:hover:after{width:100%}
.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:25px;height:1px;background:#fff;margin:7px}
.hero{height:100svh;min-height:660px;position:relative;background:#000;overflow:hidden}.hero>img{height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),transparent 45%,rgba(0,0,0,.38))}
.hero-actions{position:absolute;left:8.5vw;bottom:8.5vh;display:flex;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;min-width:170px;padding:14px 23px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:500;transition:.3s;cursor:pointer}.btn-light{background:var(--ivory);color:var(--ink)}.btn-outline{border-color:rgba(255,255,255,.6);color:#fff;background:rgba(0,0,0,.12)}.btn:hover{transform:translateY(-2px)}
.scroll-cue{position:absolute;right:4.5vw;bottom:7vh;color:#fff;font-size:9px;letter-spacing:.25em;text-transform:uppercase;display:flex;align-items:center;gap:14px}.scroll-cue span{display:block;width:46px;height:1px;background:var(--gold2)}
.section-pad{padding:120px 7vw}.dark{background:var(--ink);color:var(--ivory)}.eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:10px;color:var(--gold);font-weight:600;margin:0 0 20px}
.display,h2{font:500 clamp(45px,6vw,90px)/.95 var(--serif);letter-spacing:-.025em;margin:0}.display em,h2 em{font-weight:400;color:var(--gold);font-style:italic}
.intro{max-width:1500px;margin:auto}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin-top:70px}.lead{font:400 clamp(23px,2.5vw,35px)/1.35 var(--serif);margin-top:0}.intro-grid>p:last-child{max-width:570px;margin-left:auto}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:60px}.section-heading h2{font-size:clamp(42px,5vw,74px)}.text-link{text-transform:uppercase;letter-spacing:.2em;font-size:10px;border-bottom:1px solid var(--gold);padding-bottom:8px}
.editorial-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-template-rows:420px 420px;gap:18px}.tile{position:relative;overflow:hidden;margin:0}.tile-tall{grid-row:span 2}.tile-wide{grid-column:span 2}.tile img{height:100%;object-fit:cover;transition:transform 1.2s}.tile:hover img,.portfolio-item:hover img{transform:scale(1.035)}figcaption{position:absolute;inset:auto 0 0;padding:45px 24px 22px;background:linear-gradient(transparent,rgba(0,0,0,.78));color:#fff}figcaption span{display:block;color:var(--gold2);font-size:9px;text-transform:uppercase;letter-spacing:.22em}figcaption strong{font:500 25px var(--serif)}
.about{display:grid;grid-template-columns:minmax(330px,.86fr) 1.14fr;gap:8vw;align-items:center}.about-image{position:sticky;top:100px}.about-image img{aspect-ratio:4/5;object-fit:cover}.about-copy h2{font-size:clamp(42px,5vw,72px);margin-bottom:45px}.about-copy p:not(.eyebrow){max-width:720px}.about-copy blockquote{font:italic 400 clamp(28px,3vw,44px)/1.3 var(--serif);border-left:1px solid var(--gold);padding-left:30px;margin:60px 0 0;color:#5a4633}
.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pillar{position:relative;min-height:650px;overflow:hidden}.pillar>img{position:absolute;inset:0;height:100%;object-fit:cover;filter:brightness(.78);transition:1s}.pillar:hover>img{transform:scale(1.025);filter:brightness(.62)}.pillar>div{position:absolute;inset:auto 0 0;padding:120px 30px 35px;background:linear-gradient(transparent,rgba(0,0,0,.9))}.pillar span{color:var(--gold);font-size:10px;letter-spacing:.2em}.pillar h3{font:500 46px var(--serif);margin:4px 0}.pillar p{font-size:12px;max-width:350px;color:#d5cdc3;line-height:1.7}
.filters{display:flex;flex-wrap:wrap;gap:22px}.filters button{border:0;background:none;padding:0 0 6px;text-transform:uppercase;letter-spacing:.16em;font-size:9px;color:#766d63;cursor:pointer;border-bottom:1px solid transparent}.filters button.active{color:var(--ink);border-color:var(--gold)}
.portfolio-intro{max-width:740px;font-size:15px;margin:-20px 0 70px}.masonry{columns:3 320px;column-gap:18px}.portfolio-item{position:relative;margin:0 0 18px;break-inside:avoid;overflow:hidden;cursor:zoom-in;transition:opacity .35s,transform .35s}.portfolio-item img{transition:transform 1s}.portfolio-item.hidden{display:none}.portfolio-item figcaption{opacity:0;transition:.35s}.portfolio-item:hover figcaption{opacity:1}
.collaborate{display:grid;grid-template-columns:1fr 1fr;min-height:850px}.collab-visual{overflow:hidden}.collab-visual img{height:100%;object-fit:cover}.collab-copy{display:flex;flex-direction:column;justify-content:center}.collab-copy h2{margin-bottom:45px}.collab-copy p{max-width:650px}.service-list{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0 42px}.service-list span{border:1px solid var(--line);padding:7px 11px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#cfc3b5}.btn-gold{background:var(--gold);color:var(--ink);align-self:flex-start}
.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.contact-copy h2{margin-bottom:35px}.social-list{margin-top:55px}.social-list a{display:flex;justify-content:space-between;border-bottom:1px solid #d8cec0;padding:16px 0;font-size:12px}.social-list span{text-transform:uppercase;letter-spacing:.16em;font-size:9px;color:#756b60}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:28px 22px;background:#e9dfd0;padding:50px}.field{display:flex;flex-direction:column;gap:9px}.field-full{grid-column:1/-1}.field label{text-transform:uppercase;letter-spacing:.16em;font-size:9px}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #b9aa98;background:transparent;padding:10px 0;outline:none;border-radius:0}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}.btn-dark{background:var(--ink);color:#fff;width:100%}
footer{background:#050404;color:#e9e1d6;text-align:center;padding:80px 6vw 34px}.footer-mark{font-size:38px}.footer-links{display:flex;justify-content:center;gap:28px;margin:32px 0;font-size:9px;letter-spacing:.17em;text-transform:uppercase}.disclosure{font-size:10px;color:#81796f;max-width:600px;margin:45px auto 12px}.copyright{font-size:9px;color:#625c55}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:100;display:none;place-items:center;padding:5vw}.lightbox.open{display:grid}.lightbox img{max-height:88vh;max-width:90vw;width:auto}.lightbox button{position:absolute;right:25px;top:15px;border:0;background:none;color:white;font-size:40px;cursor:pointer}
@media(max-width:900px){
 .site-header{padding:19px 22px}.menu-toggle{display:block;z-index:32}.main-nav{position:fixed;inset:0;background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;transform:translateX(100%);transition:.45s}.main-nav.open{transform:none}.main-nav a{font:500 34px var(--serif);text-transform:none;letter-spacing:0}
 .hero{height:74svh;min-height:520px}.hero>img{object-position:62% center}.hero-actions{left:22px;right:22px;bottom:30px}.hero-actions .btn{min-width:0;flex:1;padding:12px 8px}.scroll-cue{display:none}
 .section-pad{padding:85px 22px}.intro-grid,.about,.collaborate,.contact{grid-template-columns:1fr}.intro-grid{gap:20px;margin-top:45px}.intro-grid>p:last-child{margin-left:0}.section-heading{display:block}.text-link{display:inline-block;margin-top:25px}
 .editorial-grid{grid-template-columns:1fr 1fr;grid-template-rows:340px 340px 340px}.tile-tall{grid-row:span 2}.tile-wide{grid-column:span 2}.about-image{position:relative;top:auto}.about-copy{padding-top:20px}.pillar-grid{grid-template-columns:1fr}.pillar{min-height:560px}
 .filters{margin-top:32px}.masonry{columns:2 250px}.collaborate{min-height:0}.collab-visual{height:75vh}.contact{gap:55px}.contact-form{padding:32px 22px}
}
@media(max-width:560px){
 .wordmark{font-size:20px}.hero{height:63svh;min-height:450px}.hero>img{object-position:65% center}
 .display,h2{font-size:44px}.lead{font-size:25px}.editorial-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.tile,.tile-tall,.tile-wide{min-width:82vw;height:480px;scroll-snap-align:start}
 .masonry{columns:1}.portfolio-item figcaption{opacity:1}.contact-form{grid-template-columns:1fr}.field-full{grid-column:auto}.footer-links{flex-wrap:wrap}.collab-visual{height:65vh}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{transition-duration:.01ms!important}}


/* ===== V2 review fixes ===== */
html, body { max-width:100%; overflow-x:hidden; }

/* Fix 1: show full banner inside browser width */
.hero{
  height:auto;
  min-height:0;
  background:#050505;
}
.hero>img{
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center;
}
.hero-shade{display:none}

/* Fix 3: tighter introduction */
.intro.section-pad{
  padding-top:70px;
  padding-bottom:70px;
}
.intro-grid{
  margin-top:42px;
  gap:6vw;
}

/* Fix 4: selected editorials display without forced cropping */
.selected.section-pad{
  padding-top:75px;
  padding-bottom:75px;
}
.editorial-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto;
  gap:16px;
}
.tile,.tile-tall,.tile-wide{
  grid-column:auto;
  grid-row:auto;
  background:#050505;
}
.tile img{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
}
.tile-tall{grid-row:span 2}
.tile-wide{grid-column:auto}

/* Fix 10: About fits in one standard desktop screen */
.about.section-pad{
  min-height:calc(100vh - 70px);
  padding-top:58px;
  padding-bottom:58px;
  grid-template-columns:minmax(350px,.82fr) 1.18fr;
  gap:5vw;
}
.about-image{
  position:relative;
  top:auto;
  align-self:center;
}
.about-image img{
  width:100%;
  height:min(72vh,720px);
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center 28%;
}
.about-copy h2{
  font-size:clamp(42px,4.2vw,66px);
  margin-bottom:24px;
}
.about-copy .lead{
  font-size:clamp(21px,1.9vw,30px);
  line-height:1.28;
  margin-bottom:18px;
}
.about-copy p:not(.eyebrow):not(.lead){
  font-size:14px;
  line-height:1.55;
  margin:0 0 14px;
}
.about-copy blockquote{
  margin:24px 0 0;
  font-size:clamp(24px,2.1vw,34px);
}

/* Fix 9: three category cards fit in one screen */
.pillars.section-pad{
  min-height:calc(100vh - 70px);
  padding-top:52px;
  padding-bottom:45px;
}
.pillars .section-heading{
  margin-bottom:30px;
}
.pillars .section-heading h2{
  font-size:clamp(38px,4vw,60px);
}
.pillar-grid{gap:14px}
.pillar{
  min-height:0;
  height:62vh;
  max-height:620px;
  background:#090807;
}
.pillar>img{
  object-fit:contain;
  filter:brightness(.76);
}
.pillar>div{
  padding:90px 24px 24px;
}
.pillar h3{font-size:38px}
.pillar p{font-size:11px;line-height:1.5}

/* Portfolio tiles preserve natural proportions */
.masonry{columns:3 300px}
.portfolio-item img{
  width:100%;
  height:auto;
  object-fit:contain;
}

/* Fix 5: Collaborate section fits one screen */
.collaborate{
  min-height:calc(100vh - 70px);
  height:auto;
  grid-template-columns:.95fr 1.05fr;
}
.collab-visual{
  min-height:calc(100vh - 70px);
  height:auto;
  background:#050505;
}
.collab-visual img{
  width:100%;
  height:calc(100vh - 70px);
  object-fit:contain;
}
.collab-copy.section-pad{
  padding-top:55px;
  padding-bottom:55px;
}
.collab-copy h2{
  font-size:clamp(48px,5vw,76px);
  margin-bottom:24px;
}
.collab-copy .lead{
  font-size:clamp(24px,2.2vw,33px);
  font-weight:500;
  line-height:1.3;
  margin-bottom:16px;
}
.collab-copy p:not(.lead){
  font-size:15px;
  font-weight:400;
  line-height:1.6;
}
.service-list{margin:20px 0 28px}

/* Fix 6: compact contact section and stronger form labels */
.contact.section-pad{
  min-height:calc(100vh - 70px);
  padding-top:55px;
  padding-bottom:55px;
  gap:5vw;
  align-items:center;
}
.contact-copy h2{
  font-size:clamp(46px,4.5vw,68px);
  margin-bottom:22px;
}
.contact-copy .lead{
  font-size:clamp(22px,2vw,30px);
  font-weight:500;
  line-height:1.35;
}
.contact-form{
  padding:30px 32px;
  gap:18px 18px;
}
.field{gap:5px}
.field label{
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  color:#3b3025;
}
.field input,.field select,.field textarea{
  padding:8px 0;
  font-size:14px;
}
.field textarea{min-height:88px;resize:vertical}
.contact-form .btn{padding:12px 18px}

/* Fix 7: clear icon-based social links */
.social-list{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:28px;
}
.social-list a{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:14px;
  padding:12px 0;
  border-bottom:1px solid #d4c8b8;
}
.social-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  color:var(--gold);
}
.social-icon svg{
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
}
.social-icon svg path{fill:currentColor;stroke:none}
.social-icon svg .play{fill:#0b0908}
.social-copy{
  display:flex;
  flex-direction:column;
  gap:1px;
}
.social-copy strong{
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.social-copy small{
  font-size:13px;
  color:#5c5146;
}

/* Fix 8: footer name in signature script */
.footer-signature{
  font-family:"Allura",cursive;
  font-size:68px;
  font-weight:400;
  letter-spacing:.02em;
  color:var(--gold2);
}

@media(max-width:900px){
  .hero>img{height:auto;object-fit:contain;object-position:center}
  .intro.section-pad,.selected.section-pad{padding-top:58px;padding-bottom:58px}
  .editorial-grid{grid-template-columns:1fr}
  .tile-tall,.tile-wide{grid-row:auto;grid-column:auto}
  .about.section-pad,.pillars.section-pad,.contact.section-pad{min-height:0}
  .about-image img{height:auto;max-height:none;object-fit:contain}
  .pillar{height:auto;min-height:560px}
  .pillar>img{object-fit:cover}
  .collaborate{min-height:0}
  .collab-visual{min-height:0;height:auto}
  .collab-visual img{height:auto;object-fit:contain}
}


/* ===== V3: compact modern selected-editorials gallery ===== */
.selected.section-pad{
  padding-top:58px;
  padding-bottom:58px;
}
.compact-heading{
  margin-bottom:28px;
}
.compact-heading h2{
  font-size:clamp(40px,4.3vw,64px);
}
.editorial-mosaic{
  display:grid;
  grid-template-columns:1.15fr .85fr .85fr;
  grid-template-rows:210px 210px;
  gap:12px;
}
.mosaic-card{
  position:relative;
  overflow:hidden;
  margin:0;
  background:#090807;
  isolation:isolate;
}
.mosaic-card:nth-child(1){grid-row:1 / span 2}
.mosaic-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 24%;
  transition:transform .8s cubic-bezier(.2,.7,.2,1), filter .5s ease;
}
.mosaic-card:nth-child(4) img{object-position:center 18%}
.mosaic-card:nth-child(6) img{object-position:center 20%}
.mosaic-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.74));
  opacity:.78;
  transition:opacity .4s ease;
  z-index:1;
}
.mosaic-card figcaption{
  z-index:2;
  padding:48px 18px 14px;
  background:none;
  transform:translateY(7px);
  transition:transform .4s ease;
}
.mosaic-card figcaption strong{font-size:20px}
.mosaic-card:hover img{transform:scale(1.045);filter:saturate(1.06)}
.mosaic-card:hover::after{opacity:.95}
.mosaic-card:hover figcaption{transform:none}

/* Contact form success/error states */
.form-status{
  display:none;
  padding:14px 16px;
  border:1px solid transparent;
  font-size:13px;
  line-height:1.5;
}
.form-status.show{display:block}
.form-status.success{
  background:#efe5d5;
  border-color:#c9a46a;
  color:#2d241c;
}
.form-status.error{
  background:#f5e2df;
  border-color:#b86256;
  color:#5a231c;
}
.submit-btn{position:relative}
.btn-spinner{
  display:none;
  width:16px;
  height:16px;
  border:2px solid rgba(255,255,255,.35);
  border-top-color:#fff;
  border-radius:50%;
  animation:spin .75s linear infinite;
  margin-left:10px;
}
.submit-btn.loading .btn-spinner{display:inline-block}
.submit-btn.loading{pointer-events:none;opacity:.8}
@keyframes spin{to{transform:rotate(360deg)}}

@media(max-width:900px){
  .editorial-mosaic{
    grid-template-columns:1fr 1fr;
    grid-template-rows:360px 260px 260px;
  }
  .mosaic-card:nth-child(1){grid-column:1 / span 2;grid-row:auto}
}
@media(max-width:560px){
  .editorial-mosaic{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:none;
  }
  .mosaic-card,.mosaic-card:nth-child(1){
    grid-column:auto;
    grid-row:auto;
    height:420px;
  }
}


/* ===== V4 refinements ===== */

/* Five-card selected editorial layout */
.editorial-mosaic{
  grid-template-columns:1.2fr .9fr .9fr;
  grid-template-rows:205px 205px;
}
.mosaic-card:nth-child(1){grid-row:1 / span 2}
.mosaic-card:nth-child(2){grid-column:2}
.mosaic-card:nth-child(3){grid-column:3}
.mosaic-card:nth-child(4){grid-column:2}
.mosaic-card:nth-child(5){grid-column:3}

/* Clearer footer text */
footer .disclosure{
  color:#f4efe7;
  opacity:.88;
  font-size:14px;
  line-height:1.7;
  margin-top:34px;
}
footer .copyright{
  color:#c9a46a;
  opacity:.95;
  font-size:13px;
  line-height:1.6;
  margin-top:8px;
}

/* Local preview helper */
.form-status.demo{
  background:#efe8dc;
  border-color:#b79b72;
  color:#3f3427;
}

@media(max-width:900px){
  .editorial-mosaic{
    grid-template-columns:1fr 1fr;
    grid-template-rows:340px 250px 250px;
  }
  .mosaic-card:nth-child(1){grid-column:1 / span 2;grid-row:auto}
  .mosaic-card:nth-child(2),
  .mosaic-card:nth-child(3),
  .mosaic-card:nth-child(4),
  .mosaic-card:nth-child(5){grid-column:auto}
}
@media(max-width:560px){
  .editorial-mosaic{
    grid-template-columns:1fr;
    grid-template-rows:none;
  }
  .mosaic-card,
  .mosaic-card:nth-child(1),
  .mosaic-card:nth-child(2),
  .mosaic-card:nth-child(3),
  .mosaic-card:nth-child(4),
  .mosaic-card:nth-child(5){
    grid-column:auto;
    grid-row:auto;
    height:410px;
  }
}


/* ===== V7 footer refinement ===== */
footer{
  padding:34px 6vw 24px;
  border-top:1px solid rgba(201,164,106,.35);
}
.footer-signature{
  font-size:52px;
  line-height:1;
  margin-bottom:8px;
}
footer > p:not(.disclosure):not(.copyright){
  margin:8px 0 10px;
  font-size:13px;
  line-height:1.4;
}
footer .disclosure{
  max-width:760px;
  margin:16px auto 6px;
  font-size:12px;
  line-height:1.45;
  color:#f4efe7;
  opacity:.88;
}
footer .copyright{
  margin:4px 0 0;
  font-size:11px;
  line-height:1.4;
  color:#c9a46a;
}
.footer-links{
  display:none !important;
}

@media(max-width:560px){
  footer{
    padding:28px 20px 20px;
  }
  .footer-signature{
    font-size:44px;
  }
  footer .disclosure{
    font-size:11px;
  }
}


/* ===== V9 Mobile optimisation ===== */

/* Correct anchor landing below fixed navigation */
section[id]{
  scroll-margin-top:82px;
}

/* Responsive hero artwork */
.hero-picture{
  display:block;
  width:100%;
  line-height:0;
}
.hero-picture img{
  display:block;
  width:100%;
  height:auto;
}

/* Compact footer across all devices */
footer{
  min-height:0 !important;
  height:auto !important;
  padding:22px 5vw 16px !important;
}
.footer-signature{
  font-size:44px !important;
  margin:0 0 4px !important;
}
footer > p:not(.disclosure):not(.copyright){
  margin:3px 0 7px !important;
  font-size:11px !important;
}
.footer-links{
  display:flex !important;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px 18px;
  margin:8px 0 10px !important;
  font-size:8px !important;
}
footer .disclosure{
  max-width:720px;
  margin:8px auto 4px !important;
  font-size:10px !important;
  line-height:1.4 !important;
}
footer .copyright{
  margin:2px 0 0 !important;
  font-size:10px !important;
}

/* Mobile-specific layout */
@media(max-width:767px){
  section[id]{
    scroll-margin-top:68px;
  }

  .site-header{
    padding:14px 18px;
  }

  .hero{
    height:auto !important;
    min-height:0 !important;
    background:#050505;
  }
  .hero-picture img{
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
    object-position:center top;
  }

  /* About section must reveal its text after navigation */
  .about.section-pad{
    display:grid !important;
    grid-template-columns:1fr !important;
    min-height:0 !important;
    padding:58px 20px 48px !important;
    gap:28px !important;
  }
  .about-image{
    position:relative !important;
    top:auto !important;
  }
  .about-image img{
    width:100%;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
  }
  .about-copy{
    display:block !important;
    opacity:1;
    visibility:visible;
    padding-top:0 !important;
  }
  .about-copy h2{
    font-size:42px !important;
    line-height:1 !important;
    margin-bottom:20px !important;
  }
  .about-copy .lead{
    font-size:24px !important;
  }
  .about-copy p:not(.eyebrow):not(.lead){
    font-size:14px !important;
    line-height:1.6 !important;
  }

  /* Single-column mobile galleries */
  .masonry{
    columns:1 !important;
  }
  .portfolio-item{
    margin-bottom:14px !important;
  }
  .pillar-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .pillar{
    min-height:0 !important;
    height:auto !important;
  }
  .pillar>img{
    position:relative !important;
    height:auto !important;
    object-fit:contain !important;
  }
  .pillar>div{
    position:relative !important;
    padding:18px 18px 22px !important;
    background:#0b0908 !important;
  }

  /* Compact form for thumb typing */
  .contact-form{
    grid-template-columns:1fr !important;
    padding:24px 18px !important;
    gap:16px !important;
  }
  .field-full{
    grid-column:auto !important;
  }
  .field input,.field select,.field textarea{
    font-size:16px !important;
  }

  /* Footer reduced by roughly 60% from previous mobile display */
  footer{
    padding:16px 16px 12px !important;
  }
  .footer-signature{
    font-size:38px !important;
    line-height:1 !important;
  }
  footer > p:not(.disclosure):not(.copyright){
    font-size:10px !important;
    margin:3px 0 6px !important;
  }
  .footer-links{
    gap:7px 12px !important;
    margin:7px 0 8px !important;
    font-size:7px !important;
  }
  footer .disclosure{
    font-size:9px !important;
    line-height:1.35 !important;
    margin:7px auto 3px !important;
  }
  footer .copyright{
    font-size:9px !important;
  }
}


/* ===== V10 Premium compact footer ===== */
footer{
  position:relative;
  min-height:0 !important;
  height:auto !important;
  padding:16px 4vw 12px !important;
  background:
    linear-gradient(180deg, rgba(201,164,106,.07), transparent 18px),
    #050404 !important;
  border-top:1px solid rgba(201,164,106,.45);
  text-align:center;
}

footer::before{
  content:"";
  display:block;
  width:84px;
  height:1px;
  margin:0 auto 10px;
  background:linear-gradient(90deg, transparent, #c9a46a, transparent);
}

.footer-signature{
  display:inline-block;
  font-size:36px !important;
  line-height:1 !important;
  margin:0 0 2px !important;
}

footer > p:not(.disclosure):not(.copyright){
  margin:2px 0 5px !important;
  font-size:10px !important;
  line-height:1.25 !important;
  color:#ddd4c8;
}

.footer-links{
  display:flex !important;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 14px !important;
  margin:5px 0 6px !important;
  font-size:7px !important;
  line-height:1 !important;
}

.footer-links a{
  padding:2px 0;
}

footer .disclosure{
  max-width:760px;
  margin:5px auto 2px !important;
  font-size:8.5px !important;
  line-height:1.25 !important;
  color:#d7cec3 !important;
  opacity:.82 !important;
}

footer .copyright{
  margin:1px 0 0 !important;
  font-size:8.5px !important;
  line-height:1.2 !important;
  color:#c9a46a !important;
}

@media(max-width:767px){
  footer{
    padding:12px 14px 10px !important;
  }
  footer::before{
    width:64px;
    margin-bottom:8px;
  }
  .footer-signature{
    font-size:32px !important;
    margin-bottom:1px !important;
  }
  footer > p:not(.disclosure):not(.copyright){
    font-size:9px !important;
    margin:2px 0 4px !important;
  }
  .footer-links{
    gap:5px 10px !important;
    margin:4px 0 5px !important;
    font-size:6.5px !important;
  }
  footer .disclosure{
    font-size:7.5px !important;
    line-height:1.2 !important;
    margin:4px auto 2px !important;
    max-width:92%;
  }
  footer .copyright{
    font-size:7.5px !important;
  }
}




/* ===== REV 16 premium direct-email contact ===== */
.direct-contact{
  display:flex;
  align-items:center;
  justify-content:center;
}

.premium-contact-card{
  width:100%;
  max-width:760px;
  padding:62px 56px 58px;
  text-align:center;
  background:
    radial-gradient(circle at 50% 0%, rgba(201,164,106,.12), transparent 42%),
    #e9dfd0;
  border:1px solid rgba(201,164,106,.42);
  box-shadow:0 24px 60px rgba(53,39,22,.08);
}

.luxury-envelope{
  position:relative;
  width:68px;
  height:52px;
  margin:0 auto 24px;
}

.envelope-body{
  position:absolute;
  inset:8px 3px 2px;
  border:1.5px solid #b88948;
}

.envelope-flap{
  position:absolute;
  left:10px;
  right:10px;
  top:7px;
  height:34px;
  border-left:1.5px solid #b88948;
  border-bottom:1.5px solid #b88948;
  transform:rotate(-45deg);
  transform-origin:center;
}

.contact-kicker{
  margin:0 0 10px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:#9d7137;
}

.contact-heading{
  max-width:640px;
  margin:0 auto 18px;
  font:400 clamp(38px,4.8vw,68px)/.98 var(--serif);
  color:var(--ink);
}

.contact-intro{
  max-width:580px;
  margin:0 auto;
  font-size:15px;
  line-height:1.75;
  color:#62584d;
}

.contact-divider{
  width:90px;
  height:1px;
  margin:30px auto 28px;
  background:linear-gradient(90deg, transparent, #b88948, transparent);
}

.contact-label{
  margin:0 0 10px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.19em;
  text-transform:uppercase;
  color:#4b3e31;
}

.contact-email{
  display:inline-block;
  padding-bottom:7px;
  font:500 clamp(28px,3.2vw,46px)/1.15 var(--serif);
  color:var(--ink);
  border-bottom:1px solid #b88948;
  word-break:break-word;
}

.contact-note{
  max-width:560px;
  margin:22px auto 28px;
  font-size:14px;
  line-height:1.7;
  color:#5f5449;
}

.email-button{
  min-width:205px;
}

@media(max-width:767px){
  .contact.section-pad{
    min-height:0 !important;
  }

  .premium-contact-card{
    padding:38px 22px 36px;
  }

  .luxury-envelope{
    width:58px;
    height:45px;
    margin-bottom:20px;
  }

  .contact-heading{
    font-size:39px;
    line-height:1.02;
  }

  .contact-intro{
    font-size:13px;
    line-height:1.65;
  }

  .contact-divider{
    margin:24px auto 22px;
  }

  .contact-email{
    font-size:29px;
  }

  .contact-note{
    margin:20px auto 24px;
    font-size:13px;
    line-height:1.65;
  }

  .email-button{
    width:100%;
  }
}


/* ===== REV 17 mobile About visibility fix ===== */
@media(max-width:767px){
  #about,
  .about,
  .about.section-pad{
    display:grid !important;
    grid-template-columns:1fr !important;
    min-height:0 !important;
    height:auto !important;
    overflow:visible !important;
    padding:54px 20px 46px !important;
    gap:24px !important;
  }

  #about .about-image,
  .about .about-image{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }

  #about .about-image img,
  .about .about-image img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }

  #about .about-copy,
  .about .about-copy{
    display:block !important;
    position:relative !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    clip-path:none !important;
    color:var(--ink) !important;
  }

  #about .about-copy *,
  .about .about-copy *{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }

  #about .about-copy h2,
  .about .about-copy h2{
    margin:0 0 18px !important;
    font-size:40px !important;
    line-height:1.02 !important;
  }

  #about .about-copy .lead,
  .about .about-copy .lead{
    margin:0 0 16px !important;
    font-size:22px !important;
    line-height:1.35 !important;
  }

  #about .about-copy p:not(.eyebrow):not(.lead),
  .about .about-copy p:not(.eyebrow):not(.lead){
    margin:0 0 14px !important;
    font-size:14px !important;
    line-height:1.65 !important;
  }
}
