:root{--paper:#f3f1eb;--ink:#1d1d19;--accent:#9d4936;--line:rgba(29,29,25,.22);--serif:"Iowan Old Style",Baskerville,"Times New Roman",serif;--sans:"Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.site-header{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:82px;padding:16px clamp(22px,4vw,64px);border-bottom:1px solid var(--line);background:var(--paper)}.site-header.overlay{position:absolute;inset:0 0 auto;background:linear-gradient(#0008,transparent);border:0;color:#fff}.brand img{width:175px;max-height:48px;object-fit:contain}.site-header nav{display:flex;gap:clamp(15px,2vw,32px);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.menu-toggle{display:none}.hero-split{position:relative;display:grid;grid-template-columns:1fr 1fr;height:min(880px,100vh);min-height:680px;background:#24221f}.hero-split figure{margin:0;overflow:hidden}.hero-split img{width:100%;height:100%;object-fit:cover}.hero-split figure:first-child img{object-position:center}.hero-split figure:nth-child(2) img{object-position:center 30%}.hero-split:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0004,#0000 45%,#0002)}.hero-copy{position:absolute;z-index:2;left:clamp(25px,5vw,78px);bottom:clamp(40px,7vw,100px);max-width:830px;color:#fff}.hero-copy p,.page-title>p:first-child,.highlights header p,.manifesto>p:first-child,.story-single>p{font-size:11px;letter-spacing:.16em;text-transform:uppercase}.hero-copy h1{max-width:780px;margin:18px 0 0;font-family:var(--serif);font-size:clamp(3rem,6vw,6.8rem);font-weight:400;letter-spacing:-.055em;line-height:.9}.highlights{padding:clamp(70px,9vw,130px) 0}.highlights header{display:grid;grid-template-columns:22% 1fr auto;align-items:end;padding:0 clamp(22px,5vw,75px) 38px}.highlights h2{margin:0;font-family:var(--serif);font-size:clamp(3.2rem,6vw,6.5rem);font-weight:400;letter-spacing:-.06em}.highlights header span{padding-bottom:14px;color:#69665f}.highlight-track{display:flex;gap:18px;overflow-x:auto;padding:0 clamp(22px,5vw,75px) 20px;scroll-snap-type:x mandatory}.highlight-track article{position:relative;flex:0 0 min(68vw,760px);height:min(68vh,680px);overflow:hidden;scroll-snap-align:start}.highlight-track img{width:100%;height:100%;object-fit:cover}.highlight-track article:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#000b)}.highlight-track article div{position:absolute;z-index:2;left:35px;bottom:30px;color:#fff}.highlight-track h3{margin:8px 0 0;font-family:var(--serif);font-size:clamp(2.4rem,5vw,5rem);font-weight:400}.manifesto{display:grid;grid-template-columns:25% 1fr;gap:30px;padding:clamp(75px,10vw,150px) clamp(22px,7vw,105px);border-top:1px solid var(--line)}.manifesto blockquote{grid-column:2;margin:0;font-family:var(--serif);font-size:clamp(3rem,6vw,7rem);letter-spacing:-.06em;line-height:.94}.manifesto>p:last-child{grid-column:2;max-width:650px;font-size:18px;line-height:1.75}.page-title{padding:clamp(115px,14vw,200px) clamp(22px,6vw,90px) clamp(65px,8vw,110px);border-bottom:1px solid var(--line)}.page-title h1,.story-single h1{max-width:1000px;margin:20px 0;font-family:var(--serif);font-size:clamp(3.1rem,6vw,7rem);font-weight:400;letter-spacing:-.06em;line-height:.94}.page-title>p:last-child{max-width:590px;margin-left:auto;color:#5e5a54;line-height:1.7}.places-grid,.story-grid{display:grid;grid-template-columns:repeat(2,1fr)}.place-card,.story-grid>a{padding:clamp(30px,5vw,75px);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.place-card>img,.story-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:32px}.place-card>p{color:var(--accent);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.place-card h2,.story-grid h2{margin:17px 0;font-family:var(--serif);font-size:clamp(2.5rem,5vw,5.5rem);font-weight:400;letter-spacing:-.05em}.place-card>span{display:block;max-width:560px;line-height:1.7}.connected{display:grid;margin-top:35px;border-top:1px solid var(--line)}.connected a{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line)}.connected small{text-transform:uppercase;color:var(--accent)}.story-grid>a>p{max-width:580px;color:#5f5b55;line-height:1.7}.story-single{padding:130px clamp(22px,8vw,120px)}.story-single>img{width:100%;max-height:75vh;object-fit:cover;margin-bottom:70px}.story-single .lead{max-width:700px;font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.8rem);line-height:1.25}.story-single .body{max-width:760px;margin:60px 0 0;font-size:18px;line-height:1.85}.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,130px);align-items:center;padding:clamp(60px,9vw,130px) clamp(22px,7vw,105px)}.about img{width:100%;aspect-ratio:4/5;object-fit:cover}.about p{font-family:var(--serif);font-size:clamp(1.4rem,2.5vw,2.8rem);line-height:1.45}.site-footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;padding:55px clamp(22px,5vw,75px);background:#20231f;color:#eee9df;font-size:12px}.site-footer a{text-align:right}.not-found{min-height:60vh;display:grid;place-content:center;text-align:center}.not-found h1{font-family:var(--serif);font-size:4rem;font-weight:400}
@media (max-width:760px) {.site-header{min-height:68px}.site-header nav{display:none;position:absolute;top:68px;left:0;right:0;padding:25px;background:var(--paper);color:var(--ink);flex-direction:column}.site-header nav.open{display:flex}.menu-toggle{display:block;border:0;background:transparent;color:inherit}.hero-split{height:92vh;min-height:630px}.hero-copy h1{font-size:13vw}.highlights header{grid-template-columns:1fr}.highlights header span{display:none}.highlight-track article{flex-basis:84vw;height:62vh}.manifesto{grid-template-columns:1fr}.manifesto blockquote,.manifesto>p:last-child{grid-column:1}.places-grid,.story-grid,.about{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr}.site-footer a{text-align:left}}
/* Homepage v3 */
.site-header{min-height:92px}.brand-group{display:flex;align-items:center;gap:clamp(22px,3vw,52px)}.brand-line{width:250px;margin:0;padding-left:clamp(20px,3vw,45px);border-left:1px solid var(--line);font-family:var(--serif);font-size:14px;line-height:1.35}.hero-carousel{position:relative;height:calc(100vh - 92px);min-height:620px;overflow:hidden;background:#24221f}.hero-track,.hero-slide{width:100%;height:100%}.hero-slide{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;opacity:0;pointer-events:none;transition:opacity .65s ease}.hero-slide.active{opacity:1;pointer-events:auto}.hero-slide a{overflow:hidden}.hero-slide img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.hero-slide a:hover img{transform:scale(1.018)}.hero-arrow{position:absolute;z-index:3;top:50%;width:44px;height:44px;border:1px solid #fff9;border-radius:50%;background:#1116;color:#fff;font-size:20px;cursor:pointer}.hero-arrow.prev{left:22px}.hero-arrow.next{right:22px}.hero-count{position:absolute;z-index:3;right:28px;bottom:25px;padding:8px 12px;background:#1118;color:#fff;font-size:11px;letter-spacing:.12em}.highlight-shell{display:grid;grid-template-columns:50px 1fr 50px;align-items:center;padding:0 clamp(14px,4vw,60px)}.highlight-track{gap:28px;padding:8px;scrollbar-width:none}.highlight-track::-webkit-scrollbar{display:none}.highlight-cover{flex:0 0 190px;border:0;background:transparent;color:inherit;cursor:pointer;scroll-snap-align:start;text-align:center}.highlight-cover img{width:190px;height:250px;border-radius:100px 100px 16px 16px;object-fit:cover;border:1px solid var(--line);padding:5px}.highlight-cover span{display:block;margin-top:14px;font-family:var(--serif);font-size:22px}.highlight-arrow{border:0;background:transparent;font-size:24px;cursor:pointer}.manifesto{grid-template-columns:minmax(220px,32%) 1fr;gap:clamp(40px,8vw,130px);border-bottom:1px solid var(--line)}.manifesto img{width:100%;aspect-ratio:4/5;object-fit:cover;margin-top:28px}.manifesto blockquote{grid-column:auto}.manifesto>div:last-child>p{max-width:650px;font-size:18px;line-height:1.75}.text-link{display:inline-block;margin-top:18px;border-bottom:1px solid}.home-video{padding:clamp(70px,9vw,130px) clamp(22px,7vw,105px);border-bottom:1px solid var(--line)}.home-video video{width:100%;max-height:78vh;background:#111}.contact{display:grid;grid-template-columns:40% 1fr;gap:clamp(40px,8vw,130px);padding:clamp(75px,10vw,150px) clamp(22px,7vw,105px)}.contact header p,.home-video>p{font-size:11px;letter-spacing:.16em;text-transform:uppercase}.contact h2{margin:0;font-family:var(--serif);font-size:clamp(3rem,5vw,6rem);font-weight:400;letter-spacing:-.06em;line-height:.95}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:28px}.contact label{display:grid;gap:9px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.contact input,.contact textarea{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:12px 0;font:16px var(--sans);resize:vertical}.contact .wide,.contact button{grid-column:1/-1}.contact button{justify-self:start;border:1px solid var(--ink);background:transparent;padding:14px 30px;cursor:pointer}.hp{position:absolute!important;left:-9999px!important}.form-success,.form-error{grid-column:2}.form-success{color:#326348}.form-error{color:#a12d22}
@media (max-width:760px) {.site-header{min-height:82px}.brand-group{gap:14px}.brand img{width:130px}.brand-line{width:150px;padding-left:14px;font-size:11px}.site-header nav{top:82px}.hero-carousel{height:auto;min-height:0}.hero-track{height:auto}.hero-slide{position:relative;display:none;grid-template-columns:1fr;height:auto;opacity:1}.hero-slide.active{display:grid}.hero-slide a{height:54vh;min-height:370px}.highlight-shell{grid-template-columns:34px 1fr 34px}.highlight-cover{flex-basis:145px}.highlight-cover img{width:145px;height:195px}.manifesto,.contact{grid-template-columns:1fr}.contact form{grid-template-columns:1fr}.contact .wide,.contact button,.form-success,.form-error{grid-column:1}}
.highlight-viewer{position:fixed;z-index:100;inset:0;display:grid;grid-template-columns:70px minmax(0,760px) 70px;align-items:center;justify-content:center;background:#111e;color:#fff;padding:30px}.highlight-viewer figure{margin:0;height:min(82vh,850px);position:relative;background:#111}.highlight-viewer img{width:100%;height:100%;object-fit:contain}.highlight-viewer figcaption{position:absolute;inset:auto 0 0;padding:60px 30px 54px;background:linear-gradient(transparent,#000c);line-height:1.5;pointer-events:none}.highlight-viewer figcaption b{display:block;font-family:var(--serif);font-size:28px}.highlight-viewer button{border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}.viewer-close{position:absolute;right:25px;top:18px;z-index:5}.viewer-expand{position:absolute;right:72px;top:18px;z-index:5;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.6)!important;border-radius:50%;background:rgba(0,0,0,.32)!important;color:#fff!important;font-size:23px!important;line-height:1!important}.viewer-expand:hover{background:rgba(255,255,255,.14)!important}.viewer-cta{pointer-events:auto}.highlight-viewer>span{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font-size:11px}@media (max-width:760px) {.highlight-viewer{grid-template-columns:34px minmax(0,1fr) 34px;padding:12px 2px}.highlight-viewer figure{height:78vh}.viewer-close{right:12px;top:10px}.viewer-expand{right:58px;top:10px;width:38px;height:38px;font-size:21px!important}.highlight-viewer figcaption{padding:56px 18px 58px}}
.featured-home{border-bottom:1px solid var(--line)}.featured-home>article{display:grid;grid-template-columns:27% 1fr;border-top:1px solid var(--line);padding:clamp(55px,7vw,100px) clamp(22px,7vw,105px);gap:45px}.featured-home header span{font-size:11px;color:var(--accent)}.featured-home h2{font-family:var(--serif);font-size:clamp(2.5rem,4.5vw,5.5rem);font-weight:400;letter-spacing:-.05em;margin:15px 0}.featured-home article>div{display:grid;grid-template-columns:1fr 1fr;gap:22px}.featured-home article>div>a:not(.section-link) img{width:100%;aspect-ratio:4/3;object-fit:cover}.featured-home h3{font-family:var(--serif);font-size:clamp(1.5rem,2.2vw,2.5rem);font-weight:400;margin:14px 0}.section-link{grid-column:1/-1;justify-self:end;border-bottom:1px solid;font-size:12px}@media (max-width:760px) {.featured-home>article{grid-template-columns:1fr}.featured-home article>div{grid-template-columns:1fr}.section-link{grid-column:1}}

/* Homepage v4: approved proportions and motion */
.site-header{background:#fbfaf7}
.hero-carousel{height:clamp(500px,68vh,720px);min-height:0}
.hero-track{display:flex;width:100%;height:100%;transition:transform .75s cubic-bezier(.77,0,.18,1);will-change:transform}
.hero-slide{position:relative;inset:auto;display:grid;grid-template-columns:1fr 1fr;flex:0 0 100%;width:100%;height:100%;opacity:1;pointer-events:auto;transition:none}
.hero-slide a{position:relative}
.hero-slide a>span{position:absolute;z-index:2;left:24px;bottom:22px;padding:8px 12px;background:rgba(20,20,18,.62);color:#fff;font:11px var(--sans);letter-spacing:.12em;text-transform:uppercase}
.highlight-cover{flex-basis:180px}
.highlight-cover img{width:180px;height:180px;border-radius:50%;object-fit:cover}
@media (max-width:760px) {
  .hero-carousel{height:auto;min-height:0;background:var(--paper)}
  .hero-track{height:auto;align-items:flex-start}
  .hero-slide{display:grid;grid-template-columns:1fr;height:auto}
  .hero-slide a{height:auto;min-height:0;background:var(--paper)}
  .hero-slide img{width:100%;height:auto;max-height:none;object-fit:contain}
  .hero-slide a>span{left:14px;bottom:14px}
  .highlight-cover{flex-basis:132px}
  .highlight-cover img{width:132px;height:132px}
}

.highlight-viewer video{width:100%;height:100%;object-fit:contain;background:#000}
.viewer-cta{display:inline-block;margin-top:16px;padding:10px 16px;border:1px solid #fff;color:#fff;font:11px var(--sans);letter-spacing:.1em;text-transform:uppercase}

/* Homepage v5: restore the approved over-image navigation and responsive hero */
.home + .site-footer{position:relative}
.site-header.overlay{
  position:absolute;
  z-index:20;
  inset:0 0 auto;
  min-height:116px;
  padding:18px clamp(28px,4.2vw,88px);
  border:0;
  border-bottom:1px solid rgba(255,255,255,.16);
  background:rgba(31,34,34,.36);
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
  color:#fff;
}
.site-header.overlay .brand img{width:225px;max-height:70px;filter:brightness(0) invert(1)}
.site-header.overlay .brand-line{width:min(270px,18vw);border-left-color:rgba(255,255,255,.72);color:#fff;font-size:14px}
.site-header.overlay nav{gap:clamp(22px,2.5vw,52px);font-size:12px;font-weight:600;letter-spacing:.15em}
.site-header.overlay nav a{position:relative;padding:12px 0;text-shadow:0 1px 8px rgba(0,0,0,.24)}
.site-header.overlay nav a:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:#fff;transition:right .25s ease}
.site-header.overlay nav a:hover:after,.site-header.overlay nav a:focus-visible:after{right:0}
.hero-carousel{height:100svh;min-height:620px}
.hero-slide a:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.48));pointer-events:none}
.hero-slide a>span{
  left:clamp(34px,4.2vw,86px);
  bottom:clamp(58px,7vh,105px);
  z-index:3;
  padding:0;
  background:transparent;
  font-family:var(--serif);
  font-size:clamp(4.5rem,8.4vw,10.5rem);
  font-weight:400;
  line-height:.82;
  letter-spacing:-.065em;
  text-transform:none;
  text-shadow:0 2px 18px rgba(0,0,0,.2)
}
.manifesto{grid-template-columns:minmax(0,1fr) minmax(260px,32%);align-items:center}
.manifesto>div:first-child{grid-column:2;grid-row:1}
.manifesto>div:last-child{grid-column:1;grid-row:1}
.manifesto blockquote{font-size:clamp(2.4rem,4.8vw,5.6rem)}
.contact{background:#e7e1d5}
.highlights header{grid-template-columns:150px minmax(0,1fr) auto;align-items:center}
.highlights h2{font-size:clamp(3rem,5vw,5.8rem)}

@media(max-width:1100px){
  .site-header.overlay{min-height:96px;padding-inline:28px}
  .site-header.overlay .brand img{width:180px}
  .site-header.overlay .brand-line{display:none}
  .site-header.overlay nav{gap:18px;font-size:10px}
}
@media (max-width:760px) {
  .site-header.overlay{position:absolute;min-height:78px;padding:10px 18px;background:rgba(28,31,31,.42)}
  .site-header.overlay .brand img{width:145px;max-height:56px}
  .site-header.overlay .menu-toggle{display:block;color:#fff;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
  .site-header.overlay nav{top:78px;padding:22px;background:rgba(24,26,26,.92);color:#fff;border-top:1px solid rgba(255,255,255,.18)}
  .hero-carousel{height:auto;min-height:100svh;background:#1f201e}
  .hero-track{height:auto}
  .hero-slide{grid-template-columns:1fr;align-content:start}
  .hero-slide a{display:grid;place-items:center;width:100%;height:100svh;background:#1f201e}
  .hero-slide img{width:100%;height:100%;max-height:100svh;object-fit:contain}
  .hero-slide a:after{inset:60% 0 0}
  .hero-slide a>span{left:22px;bottom:34px;font-size:clamp(4rem,18vw,6.5rem)}
  .hero-arrow{top:50svh;transform:translateY(-50%)}
  .hero-count{position:fixed;display:none}
  .highlights header{display:block;padding-bottom:26px}
  .highlights header p{margin-bottom:12px}
  .highlights h2{font-size:clamp(3rem,15vw,4.8rem)}
  .manifesto{grid-template-columns:1fr}
  .manifesto>div:first-child{grid-column:1;grid-row:2}
  .manifesto>div:last-child{grid-column:1;grid-row:1}
  .manifesto blockquote{font-size:clamp(2.4rem,11vw,4rem)}
  .contact{background:#e7e1d5}
}


/* Homepage v5.1: five desktop Highlights, two mobile, and latest-update motion */
.highlight-track{--highlight-gap:clamp(20px,2.1vw,34px);gap:var(--highlight-gap);padding:10px 8px 18px}
.highlight-cover{position:relative;flex:0 0 calc((100% - (4 * var(--highlight-gap)))/5);min-width:0}
.highlight-image-ring{position:relative;display:block;width:min(100%,220px);aspect-ratio:1;margin:0 auto;border-radius:50%;padding:6px}
.highlight-cover .highlight-image-ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:1px solid var(--line);padding:0}
.highlight-cover .highlight-title{display:block;margin-top:14px;font-family:var(--serif);font-size:clamp(20px,1.55vw,25px)}
.highlight-cover.is-latest .highlight-image-ring:before{content:"";position:absolute;inset:0;border:1.5px solid rgba(157,73,54,.78);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;pointer-events:none;animation:latest-highlight-ring 8s linear infinite}
.highlight-cover.is-latest .highlight-image-ring:after{content:"";position:absolute;inset:3px;border:1px solid rgba(157,73,54,.18);border-radius:50%;pointer-events:none;animation:latest-highlight-breathe 3.8s ease-in-out infinite}
@keyframes latest-highlight-ring{to{transform:rotate(360deg)}}
@keyframes latest-highlight-breathe{0%,100%{opacity:.25;transform:scale(.995)}50%{opacity:.75;transform:scale(1.012)}}
@media (max-width:760px) {
  .highlight-track{--highlight-gap:14px;padding-inline:4px}
  .highlight-cover{flex-basis:calc((100% - var(--highlight-gap))/2)}
  .highlight-image-ring{width:100%;max-width:154px}
  .highlight-cover .highlight-title{font-size:20px}
}
@media(prefers-reduced-motion:reduce){.highlight-cover.is-latest .highlight-image-ring:before,.highlight-cover.is-latest .highlight-image-ring:after{animation:none}}

/* Homepage v5.2: image/video hero panels and fully editable About overlay */
.hero-slide .hero-panel>img,.hero-slide .hero-panel>video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.hero-slide .hero-panel:hover>img,.hero-slide .hero-panel:hover>video{transform:scale(1.018)}
.hero-panel-video{background:#111}














.about-font-serif{font-family:var(--serif)}
.about-font-sans{font-family:var(--sans)}








.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media (max-width:760px) {
  .hero-slide .hero-panel>img,.hero-slide .hero-panel>video{width:100%;height:100%;max-height:100svh;object-fit:contain}
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
}



/* Homepage v5.4: transparent slide navigation, portfolio lines, adjustable carousel and editable Field Highlights */
.site-header.overlay{
  background:transparent;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  border-bottom:1px solid rgba(255,255,255,.34);
}
.site-header.overlay nav a{text-shadow:0 1px 10px rgba(0,0,0,.34)}
.hero-slide .hero-panel:first-child{border-right:1px solid rgba(255,255,255,.28)}

.highlights{
  padding:var(--highlights-pad-top,clamp(62px,7vw,104px)) 0 var(--highlights-pad-bottom,clamp(72px,8vw,118px));
  background:var(--highlights-bg,var(--paper));
  color:var(--highlights-color,var(--ink));
}
.highlights-spacing-compact{--highlights-pad-top:44px;--highlights-pad-bottom:56px}
.highlights-spacing-standard{--highlights-pad-top:clamp(62px,7vw,104px);--highlights-pad-bottom:clamp(72px,8vw,118px)}
.highlights-spacing-airy{--highlights-pad-top:clamp(92px,10vw,150px);--highlights-pad-bottom:clamp(100px,11vw,165px)}
.highlights header{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(340px,2.25fr) minmax(250px,1.15fr);
  align-items:start;
  column-gap:clamp(28px,4vw,74px);
  padding:0 clamp(34px,4vw,72px) clamp(52px,5.2vw,82px);
}
.highlights header .highlights-eyebrow{
  margin:clamp(12px,1.5vw,23px) 0 0;
  font:500 var(--highlights-eyebrow-size,11px)/1.4 var(--sans);
  letter-spacing:.17em;
  text-transform:uppercase;
}
.highlights h2{
  margin:0;
  font-size:var(--highlights-title-desktop,86px);
  font-weight:400;
  letter-spacing:-.06em;
  line-height:.88;
  text-align:center;
  text-wrap:balance;
}
.highlights-description{
  max-width:390px;
  margin:clamp(7px,1.2vw,18px) 0 0 auto;
  font-size:var(--highlights-description-desktop,18px);
  line-height:1.55;
  color:inherit;
}
.highlights-font-serif{font-family:var(--serif)}
.highlights-font-sans{font-family:var(--sans)}
.highlights-layout-left header,.highlights-layout-center header,.highlights-layout-right header{
  display:flex;
  max-width:1100px;
  flex-direction:column;
  gap:14px;
}
.highlights-layout-left header{align-items:flex-start;text-align:left}
.highlights-layout-center header{align-items:center;text-align:center;margin-inline:auto}
.highlights-layout-right header{align-items:flex-end;text-align:right;margin-left:auto}
.highlights-layout-left h2,.highlights-layout-left .highlights-description{text-align:left;margin-left:0;margin-right:auto}
.highlights-layout-center h2,.highlights-layout-center .highlights-description{text-align:center;margin-left:auto;margin-right:auto}
.highlights-layout-right h2,.highlights-layout-right .highlights-description{text-align:right;margin-left:auto;margin-right:0}
.highlights-layout-left header .highlights-eyebrow,.highlights-layout-center header .highlights-eyebrow,.highlights-layout-right header .highlights-eyebrow{margin-top:0}
.highlight-shell{grid-template-columns:60px minmax(0,1fr) 60px;padding:0 clamp(18px,3.5vw,58px)}
.highlight-track{justify-content:safe center;gap:var(--highlight-gap);padding:10px 6px 18px}
.highlight-cover{flex:0 0 calc((100% - (4 * var(--highlight-gap)))/5)}
.highlight-image-ring{width:min(100%,var(--highlight-circle-desktop,220px))}
.highlight-cover .highlight-title{
  margin-top:20px;
  font-size:var(--highlights-item-desktop,28px);
  font-weight:400;
  line-height:1.05;
}
.highlight-open-label{
  margin-top:14px!important;
  font:500 var(--highlights-open-size,10px)/1.4 var(--sans)!important;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.55;
}
.highlight-arrow{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  padding:0;
  border:1px solid color-mix(in srgb,currentColor 16%,transparent);
  border-radius:50%;
  color:inherit;
  font-size:17px;
  transition:border-color .25s ease,transform .25s ease;
}
.highlight-arrow:hover,.highlight-arrow:focus-visible{border-color:currentColor;transform:scale(1.035)}
.highlight-cover.is-latest .highlight-image-ring:before{
  border-color:color-mix(in srgb,var(--highlights-accent,#9d4936) 82%,transparent);
  border-left-color:transparent;
  border-bottom-color:transparent;
  animation-duration:var(--highlight-ring-speed,4s);
}
.highlight-cover.is-latest .highlight-image-ring:after{border-color:color-mix(in srgb,var(--highlights-accent,#9d4936) 22%,transparent)}

@media(max-width:1100px){
  .highlights header{grid-template-columns:130px minmax(300px,1.8fr) minmax(220px,1fr);column-gap:28px}
  .highlight-shell{grid-template-columns:46px minmax(0,1fr) 46px;padding-inline:16px}
  .highlight-arrow{width:44px;height:44px}
}
@media (max-width:760px) {
  .site-header.overlay{background:transparent}
  .site-header.overlay nav.open{background:rgba(24,26,26,.96)}
  .hero-slide .hero-panel:first-child{border-right:0;border-bottom:1px solid rgba(255,255,255,.28)}
  .highlights{padding-top:var(--highlights-pad-top,56px);padding-bottom:var(--highlights-pad-bottom,70px)}
  .highlights header,.highlights-layout-left header,.highlights-layout-center header,.highlights-layout-right header{
    display:flex;
    max-width:none;
    align-items:flex-start;
    gap:12px;
    margin:0;
    padding:0 24px 38px;
    text-align:left;
  }
  .highlights header .highlights-eyebrow{margin:0 0 4px}
  .highlights h2,.highlights-layout-left h2,.highlights-layout-center h2,.highlights-layout-right h2{
    font-size:var(--highlights-title-mobile,56px);
    line-height:.94;
    text-align:left;
  }
  .highlights-description,.highlights-layout-left .highlights-description,.highlights-layout-center .highlights-description,.highlights-layout-right .highlights-description{
    max-width:34rem;
    margin:5px 0 0;
    font-size:var(--highlights-description-mobile,16px);
    text-align:left;
  }
  .highlight-shell{grid-template-columns:34px minmax(0,1fr) 34px;padding:0 8px}
  .highlight-arrow{width:32px;height:32px;border:0;font-size:18px}
  .highlight-cover{flex-basis:calc((100% - var(--highlight-gap))/2)}
  .highlight-image-ring{width:min(100%,var(--highlight-circle-mobile,154px));max-width:none}
  .highlight-cover .highlight-title{margin-top:15px;font-size:var(--highlights-item-mobile,22px)}
  .highlight-open-label{margin-top:9px!important}
}


/* Homepage v5.4 final: reference hero details and corrected mobile composition */
.site-header.overlay{
  background:none!important;
  background-color:transparent!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  border-bottom:1px solid rgba(255,255,255,.38);
}
.site-header.overlay nav a{text-shadow:0 1px 12px rgba(0,0,0,.45)}
.hero-slide .hero-panel{position:relative;isolation:isolate}
.hero-slide .hero-panel:first-child{border-right:1px solid rgba(255,255,255,.36)}
.hero-slide .hero-panel>img,.hero-slide .hero-panel>video{width:100%;height:100%;object-fit:cover}
.hero-slide .hero-panel>video{display:block}
.hero-slide .hero-panel>.hero-panel-number{
  position:absolute;
  z-index:4;
  top:clamp(132px,15vh,168px);
  left:clamp(30px,3.2vw,52px);
  bottom:auto;
  margin:0;
  padding:0;
  background:none;
  color:#fff;
  font:500 11px/1 var(--sans);
  letter-spacing:.18em;
  text-transform:uppercase;
  text-shadow:0 1px 10px rgba(0,0,0,.38);
}
.hero-slide .hero-panel>.hero-panel-copy{
  position:absolute;
  z-index:4;
  left:clamp(34px,4.2vw,82px);
  right:clamp(28px,4vw,72px);
  bottom:clamp(56px,7vh,94px);
  display:block;
  margin:0;
  padding:0;
  background:none;
  color:#fff;
  text-align:left;
  text-transform:none;
  text-shadow:0 2px 18px rgba(0,0,0,.28);
}
.hero-panel-copy strong{
  display:block;
  font:400 clamp(4.6rem,8.1vw,9.6rem)/.82 var(--serif);
  letter-spacing:-.065em;
}
.hero-panel-copy small{
  display:block;
  max-width:360px;
  margin-top:clamp(18px,2.1vh,28px);
  font:500 clamp(9px,.72vw,12px)/1.45 var(--sans);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.hero-navigation{
  position:absolute;
  z-index:6;
  right:clamp(24px,3vw,52px);
  bottom:clamp(20px,2.7vh,34px);
  display:flex;
  align-items:center;
  gap:12px;
  color:#fff;
}
.hero-drag{margin-right:8px;font:500 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.42)}
.hero-navigation .hero-arrow{
  position:static;
  inset:auto;
  transform:none;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.68);
  background:rgba(0,0,0,.08);
  color:#fff;
  font-size:17px;
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
}
.hero-navigation .hero-arrow:hover,.hero-navigation .hero-arrow:focus-visible{background:rgba(0,0,0,.2);border-color:#fff;transform:scale(1.03)}
.hero-count{display:none!important}

@media (max-width:760px) {
  .site-header.overlay{
    min-height:72px;
    padding:8px 16px;
    border-bottom-color:rgba(255,255,255,.42);
  }
  .site-header.overlay .brand img{width:128px;max-height:48px}
  .site-header.overlay .brand-line{display:none!important}
  .site-header.overlay .menu-toggle{padding:10px 0;color:#fff;font-size:10px;font-weight:600;letter-spacing:.16em}
  .site-header.overlay nav{
    top:72px;
    padding:20px 22px 24px;
    border-top:0;
    border-bottom:1px solid rgba(29,29,25,.14);
    background:rgba(243,241,235,.98)!important;
    color:var(--ink)!important;
    box-shadow:0 18px 38px rgba(0,0,0,.12);
  }
  .site-header.overlay nav a{text-shadow:none}
  .hero-carousel{height:100svh;min-height:620px;background:#1f201e}
  .hero-track{height:100%}
  .hero-slide{
    height:100%;
    min-height:0;
    grid-template-columns:1fr;
    grid-template-rows:minmax(0,1fr) minmax(0,1fr);
    align-content:stretch;
  }
  .hero-slide .hero-panel{
    display:block;
    width:100%;
    height:auto!important;
    min-height:0!important;
    overflow:hidden;
    background:#1f201e;
  }
  .hero-slide .hero-panel:first-child{border-right:0;border-bottom:1px solid rgba(255,255,255,.38)}
  .hero-slide .hero-panel>img,.hero-slide .hero-panel>video{
    width:100%;
    height:100%;
    max-height:none;
    object-fit:cover;
  }
  .hero-slide .hero-panel:after{inset:48% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.58))}
  .hero-slide .hero-panel>.hero-panel-number{
    top:14px;
    left:18px;
    font-size:9px;
  }
  .hero-slide .hero-panel:first-child>.hero-panel-number{top:88px}
  .hero-slide .hero-panel>.hero-panel-copy{
    left:18px;
    right:112px;
    bottom:18px;
  }
  .hero-panel-copy strong{font-size:clamp(3.1rem,15vw,4.8rem);line-height:.86}
  .hero-panel-copy small{max-width:250px;margin-top:10px;font-size:8px;line-height:1.35;letter-spacing:.12em}
  .hero-navigation{right:14px;bottom:14px;gap:8px}
  .hero-drag{display:none}
  .hero-navigation .hero-arrow{width:38px;height:38px;font-size:15px;background:rgba(0,0,0,.16)}
}

@media(max-width:390px){
  .hero-slide .hero-panel>.hero-panel-copy{right:92px}
  .hero-panel-copy strong{font-size:clamp(2.7rem,14vw,4rem)}
  .hero-panel-copy small{font-size:7.5px}
  .hero-navigation .hero-arrow{width:34px;height:34px}
}

/* v5.4 mobile About hardening */
@media (max-width:760px) {
  
  
  
  
  
  
  
  
}

/* Homepage v5.5: reference text shadow and editable social icons */
.header-social{
  display:flex;
  align-items:center;
  flex:0 0 auto;
  gap:8px;
  color:inherit;
}
.header-social a{
  display:grid;
  place-items:center;
  width:29px;
  height:29px;
  border:1px solid transparent;
  border-radius:50%;
  color:inherit;
  opacity:.9;
  transition:opacity .2s ease,transform .2s ease,border-color .2s ease,background .2s ease;
}
.header-social a:hover,.header-social a:focus-visible{
  opacity:1;
  transform:translateY(-1px);
  border-color:currentColor;
  background:rgba(255,255,255,.08);
}
.header-social svg{display:block;width:16px;height:16px}
.desktop-social{margin-left:auto;margin-right:clamp(12px,1.65vw,28px)}
.mobile-social{display:none}
.site-header.overlay nav>a{
  text-shadow:0 1px 2px rgba(0,0,0,.82),0 3px 14px rgba(0,0,0,.38)!important;
}
.site-header.overlay .brand-line,.site-header.overlay .menu-toggle{
  text-shadow:0 1px 2px rgba(0,0,0,.72),0 3px 14px rgba(0,0,0,.3);
}
.site-header.overlay .brand img{filter:drop-shadow(0 1px 2px rgba(0,0,0,.45)) drop-shadow(0 3px 10px rgba(0,0,0,.2))}
.site-header.overlay .desktop-social a{filter:drop-shadow(0 1px 2px rgba(0,0,0,.62)) drop-shadow(0 3px 10px rgba(0,0,0,.22))}

@media(max-width:1240px) and (min-width:761px){
  .site-header{padding-inline:clamp(20px,2.5vw,40px)}
  .brand-line{width:210px;padding-left:22px;font-size:13px}
  .site-header nav{gap:clamp(10px,1.2vw,19px)}
  .desktop-social{margin-right:10px;gap:4px}
  .header-social a{width:26px;height:26px}
  .header-social svg{width:14px;height:14px}
}

@media (max-width:760px) {
  .desktop-social{display:none!important}
  .site-header nav .mobile-social{
    display:flex;
    width:100%;
    gap:12px;
    margin-top:10px;
    padding-top:18px;
    border-top:1px solid rgba(29,29,25,.16);
  }
  .site-header nav .mobile-social a{
    width:38px;
    height:38px;
    border-color:rgba(29,29,25,.2);
    color:var(--ink);
    opacity:1;
    text-shadow:none!important;
    filter:none!important;
  }
  .site-header nav .mobile-social svg{width:18px;height:18px}
}

/* Homepage v5.6: picture-based header shade, single-panel mobile hero and visual-editor positions */
.hero-carousel{isolation:isolate}
.hero-carousel:before{
  content:"";
  position:absolute;
  z-index:3;
  inset:0 0 auto;
  height:clamp(128px,17vh,205px);
  background:linear-gradient(to bottom,rgba(0,0,0,.24) 0%,rgba(0,0,0,.10) 48%,rgba(0,0,0,0) 100%);
  pointer-events:none;
}
.site-header.overlay nav>a,
.site-header.overlay .brand-line,
.site-header.overlay .menu-toggle{ text-shadow:none!important }
.site-header.overlay .brand img{filter:brightness(0) invert(1)!important}
.site-header.overlay .desktop-social a{filter:none!important}
.hero-carousel-mobile{display:none}

/* Drag-positioned Field Highlights heading */
.highlights[class*="highlights-layout-"] header{
  position:relative!important;
  display:block!important;
  width:100%;
  max-width:none!important;
  height:clamp(210px,18vw,270px);
  margin:0!important;
  padding:0 clamp(34px,4vw,72px)!important;
  text-align:left!important;
}
.highlights header .highlights-eyebrow,
.highlights header h2,
.highlights header .highlights-description{
  position:absolute;
  margin:0!important;
  text-align:left!important;
}
.highlights header .highlights-eyebrow{
  left:var(--highlights-eyebrow-x-desktop,4%);
  top:var(--highlights-eyebrow-y-desktop,36%);
  width:min(22rem,24vw);
}
.highlights header h2{
  left:var(--highlights-title-x-desktop,31%);
  top:var(--highlights-title-y-desktop,3%);
  width:min(46rem,45vw);
  line-height:.88;
}
.highlights header .highlights-description{
  left:var(--highlights-description-x-desktop,72%);
  top:var(--highlights-description-y-desktop,18%);
  width:min(25rem,24vw);
  max-width:none;
}

/* Drag-positioned About copy */







@media (max-width:760px) {
  .hero-carousel-desktop{display:none!important}
  .hero-carousel-mobile{
    display:block!important;
    position:relative;
    width:100%;
    height:100svh!important;
    min-height:560px!important;
    overflow:hidden;
    background:#1f201e;
  }
  .hero-carousel-mobile .hero-track{position:relative;width:100%;height:100%!important}
  .hero-carousel-mobile .hero-slide{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%;
    height:100%!important;
    min-height:0!important;
    opacity:0;
    pointer-events:none;
    transition:opacity .55s ease;
  }
  .hero-carousel-mobile .hero-slide.active{opacity:1;pointer-events:auto}
  .hero-carousel-mobile .hero-panel{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%;
    height:100%!important;
    min-height:0!important;
    border:0!important;
    overflow:hidden;
  }
  .hero-carousel-mobile .hero-panel>img,
  .hero-carousel-mobile .hero-panel>video{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center center;
  }
  .hero-carousel-mobile .hero-panel:after{
    content:"";
    position:absolute;
    z-index:2;
    inset:42% 0 0;
    background:linear-gradient(transparent,rgba(0,0,0,.68));
    pointer-events:none;
  }
  .hero-carousel-mobile .hero-panel>.hero-panel-number{
    top:102px!important;
    left:24px!important;
    font-size:10px!important;
  }
  .hero-carousel-mobile .hero-panel>.hero-panel-copy{
    left:24px!important;
    right:24px!important;
    bottom:116px!important;
  }
  .hero-carousel-mobile .hero-panel-copy strong{
    font-size:clamp(4.5rem,20vw,7.2rem)!important;
    line-height:.82!important;
  }
  .hero-carousel-mobile .hero-panel-copy small{
    max-width:88%!important;
    margin-top:22px!important;
    font-size:10px!important;
    line-height:1.5!important;
    letter-spacing:.14em!important;
  }
  .hero-carousel-mobile .hero-navigation{
    right:22px!important;
    bottom:28px!important;
    gap:12px!important;
  }
  .hero-carousel-mobile .hero-navigation .hero-arrow{
    width:54px!important;
    height:54px!important;
    background:rgba(0,0,0,.12)!important;
  }
  .hero-carousel:before{height:155px;background:linear-gradient(to bottom,rgba(0,0,0,.22),rgba(0,0,0,.08) 55%,transparent)}

  .highlights[class*="highlights-layout-"] header{
    height:285px;
    padding:0 24px!important;
  }
  .highlights header .highlights-eyebrow{
    left:var(--highlights-eyebrow-x-mobile,6%);
    top:var(--highlights-eyebrow-y-mobile,4%);
    width:88%;
  }
  .highlights header h2{
    left:var(--highlights-title-x-mobile,6%);
    top:var(--highlights-title-y-mobile,25%);
    width:88%;
  }
  .highlights header .highlights-description{
    left:var(--highlights-description-x-mobile,6%);
    top:var(--highlights-description-y-mobile,64%);
    width:88%;
  }

  
  
  
  
  
}
/* v5.6 refinement: readability comes from image gradients, not text shadows. */
.hero-slide .hero-panel>.hero-panel-number,
.hero-slide .hero-panel>.hero-panel-copy,
.hero-drag{ text-shadow:none!important }


/* Homepage v5.7: stronger image shade, social grid after About, and per-entry typography */
.hero-carousel:before{
  height:clamp(150px,21vh,245px)!important;
  background:linear-gradient(to bottom,rgba(0,0,0,.40) 0%,rgba(0,0,0,.23) 42%,rgba(0,0,0,.08) 72%,transparent 100%)!important;
}
.hero-slide .hero-panel:after{
  content:"";
  position:absolute;
  z-index:2;
  inset:0!important;
  background:linear-gradient(to bottom,rgba(0,0,0,.15) 0%,rgba(0,0,0,.03) 34%,rgba(0,0,0,.04) 50%,rgba(0,0,0,.72) 100%)!important;
  pointer-events:none;
}
.site-header.overlay nav{align-items:center}
.site-header.overlay nav>a{flex:0 0 auto}
.header-social.nav-social{
  display:grid;
  grid-template-columns:repeat(2,22px);
  grid-auto-rows:22px;
  gap:3px 5px;
  margin-left:4px;
  color:inherit;
}
.header-social.nav-social a{width:22px;height:22px;border-radius:50%}
.header-social.nav-social svg{width:13px;height:13px}
.header-social.nav-social a:after{display:none!important}
.desktop-social,.mobile-social{display:none!important}
.highlights header .highlights-eyebrow{font-size:var(--highlights-eyebrow-desktop,11px);color:var(--highlights-eyebrow-color,var(--ink))}
.highlights header h2{color:var(--highlights-title-color,var(--ink))}
.highlights-description{color:var(--highlights-description-color,var(--ink))}
.highlight-cover .highlight-title{color:var(--highlights-item-color,var(--ink))}
.highlight-open-label{font-size:var(--highlights-open-desktop,10px)!important;color:var(--highlights-open-color,#6f6a63);opacity:1}




@media(max-width:1240px) and (min-width:761px){
  .site-header.overlay nav{gap:clamp(9px,1vw,16px)!important}
  .header-social.nav-social{grid-template-columns:repeat(2,20px);grid-auto-rows:20px;gap:2px 4px;margin-left:0}
  .header-social.nav-social a{width:20px;height:20px}.header-social.nav-social svg{width:12px;height:12px}
}
@media (max-width:760px) {
  .hero-carousel:before{height:180px!important;background:linear-gradient(to bottom,rgba(0,0,0,.46),rgba(0,0,0,.18) 58%,transparent 100%)!important}
  .hero-carousel-mobile .hero-panel:after{inset:0!important;background:linear-gradient(to bottom,rgba(0,0,0,.12) 0%,transparent 34%,rgba(0,0,0,.08) 50%,rgba(0,0,0,.76) 100%)!important}
  .site-header nav .header-social.nav-social{display:grid!important;grid-template-columns:repeat(2,42px);grid-auto-rows:42px;gap:10px;margin:10px 0 0;padding-top:18px;border-top:1px solid rgba(29,29,25,.16);color:var(--ink)}
  .site-header nav .header-social.nav-social a{width:42px;height:42px;border:1px solid rgba(29,29,25,.2);color:var(--ink)}
  .site-header nav .header-social.nav-social svg{width:18px;height:18px}
  .highlights header .highlights-eyebrow{font-size:var(--highlights-eyebrow-mobile,10px)}
  .highlight-open-label{font-size:var(--highlights-open-mobile,9px)!important}
  
  
  
  
}

/* Homepage v5.8: compact Field Highlights height to match the approved reference */
@media(min-width:761px){
  .highlights[class*="highlights-layout-"] header{
    height:clamp(156px,12vw,188px);
  }
}
@media (max-width:760px) {
  .highlights[class*="highlights-layout-"] header{
    height:240px;
  }
}

/* Homepage v5.9: right-half desktop navigation, footer socials, and tighter Field Highlights */
@media(min-width:761px){
  .site-header.overlay{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:center;
    justify-content:normal!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  .site-header.overlay .brand-group{
    grid-column:1;
    min-width:0;
    width:100%;
    padding-left:clamp(28px,4.2vw,88px);
    padding-right:clamp(18px,2.6vw,48px);
  }
  .site-header.overlay nav{
    grid-column:2;
    min-width:0;
    width:100%;
    justify-content:space-between;
    gap:clamp(8px,1.15vw,22px)!important;
    padding-left:clamp(22px,2.6vw,50px);
    padding-right:clamp(28px,4.2vw,88px);
  }
}
@media(max-width:1100px) and (min-width:761px){
  .site-header.overlay nav{
    gap:6px!important;
    padding-left:14px;
    padding-right:22px;
    font-size:clamp(8px,.85vw,10px)!important;
    letter-spacing:.11em!important;
  }
}

/* Social profiles now live only in the footer. */
.site-footer{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto;
  align-items:center;
}
.site-footer .footer-contact{text-align:right}
.site-footer .header-social.footer-social{
  display:grid;
  grid-template-columns:repeat(2,34px);
  grid-auto-rows:34px;
  gap:7px;
  justify-self:end;
  color:#eee9df;
}
.site-footer .header-social.footer-social a{
  width:34px;
  height:34px;
  border-color:rgba(238,233,223,.28);
  opacity:1;
}
.site-footer .header-social.footer-social a:hover,
.site-footer .header-social.footer-social a:focus-visible{
  border-color:#eee9df;
  background:rgba(255,255,255,.08);
}
.site-footer .header-social.footer-social svg{width:16px;height:16px}

/* Reference-like Field Highlights proportions: less empty vertical space. */
.highlights-spacing-compact{--highlights-pad-top:22px;--highlights-pad-bottom:36px}
.highlights-spacing-standard{--highlights-pad-top:36px;--highlights-pad-bottom:52px}
.highlights-spacing-airy{--highlights-pad-top:58px;--highlights-pad-bottom:76px}
@media(min-width:761px){
  .highlights[class*="highlights-layout-"] header{
    height:clamp(150px,10.5vw,176px);
  }
}
@media (max-width:760px) {
  .site-footer{grid-template-columns:1fr;gap:18px}
  .site-footer .footer-contact{text-align:left}
  .site-footer .header-social.footer-social{
    justify-self:start;
    grid-template-columns:repeat(3,38px);
    grid-auto-rows:38px;
  }
  .site-footer .header-social.footer-social a{width:38px;height:38px}
  .highlights-spacing-compact{--highlights-pad-top:20px;--highlights-pad-bottom:34px}
  .highlights-spacing-standard{--highlights-pad-top:32px;--highlights-pad-bottom:46px}
  .highlights-spacing-airy{--highlights-pad-top:48px;--highlights-pad-bottom:64px}
  .highlights[class*="highlights-layout-"] header{height:205px}
}

/* Homepage v5.10: reference typography, compact title bar and true-canvas Field Highlights */
:root{
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Montserrat","Helvetica Neue",Arial,sans-serif;
}

.site-header nav,
.hero-panel-copy small,
.highlights-eyebrow,
.highlight-open-label{font-family:var(--sans)}
.hero-panel-number,.hero-drag{display:none!important}

@media(min-width:761px){
  .site-header.overlay{
    height:96px!important;
    min-height:96px!important;
    padding-top:10px!important;
    padding-bottom:10px!important;
    border-bottom:1px solid rgba(255,255,255,.34)!important;
  }
  .site-header.overlay .brand img{width:190px!important;max-height:58px!important}
  .site-header.overlay .brand-group{gap:30px!important}
  .site-header.overlay .brand-line{
    width:220px!important;
    padding-left:28px!important;
    font-family:var(--serif)!important;
    font-size:13px!important;
    line-height:1.35!important;
  }
  .site-header.overlay nav{
    font-family:var(--sans)!important;
    font-size:10.5px!important;
    font-weight:500!important;
    letter-spacing:.145em!important;
  }
  .site-header.overlay nav a{padding:8px 0!important}
  .hero-carousel:before{
    height:150px!important;
    background:linear-gradient(to bottom,rgba(0,0,0,.38) 0%,rgba(0,0,0,.20) 45%,rgba(0,0,0,.06) 76%,transparent 100%)!important;
  }
}

/* The whole Field Highlights section is now the positioning canvas used by the dashboard preview. */
.highlights{
  position:relative!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden;
}
.highlights-spacing-compact{height:clamp(500px,36vw,540px)!important}
.highlights-spacing-standard{height:clamp(540px,38.9vw,600px)!important}
.highlights-spacing-airy{height:clamp(620px,47.2vw,720px)!important}
.highlights[class*="highlights-layout-"] header,
.highlights header{
  position:absolute!important;
  z-index:2;
  inset:0!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  pointer-events:none;
}
.highlights header .highlights-eyebrow,
.highlights header h2,
.highlights header .highlights-description{pointer-events:auto}
.highlights header .highlights-eyebrow{
  left:var(--highlights-eyebrow-x-desktop,4%)!important;
  top:var(--highlights-eyebrow-y-desktop,36%)!important;
  width:24%!important;
  line-height:1.4!important;
}
.highlights header h2{
  left:var(--highlights-title-x-desktop,31%)!important;
  top:var(--highlights-title-y-desktop,3%)!important;
  width:45%!important;
  line-height:.88!important;
  letter-spacing:-.06em!important;
}
.highlights header .highlights-description{
  left:var(--highlights-description-x-desktop,72%)!important;
  top:var(--highlights-description-y-desktop,18%)!important;
  width:24%!important;
  max-width:none!important;
  line-height:1.55!important;
}
.highlight-shell{
  position:absolute!important;
  z-index:1;
  left:0;
  right:0;
  bottom:44px;
}
.highlight-track{padding-top:0!important;padding-bottom:0!important}

@media (max-width:760px) {
  .site-header.overlay{
    height:78px!important;
    min-height:78px!important;
    border-bottom:1px solid rgba(255,255,255,.38)!important;
  }
  .site-header.overlay .brand img{width:142px!important;max-height:54px!important}
  .highlights-spacing-compact{height:560px!important}
  .highlights-spacing-standard{height:620px!important}
  .highlights-spacing-airy{height:720px!important}
  .highlights[class*="highlights-layout-"] header,
  .highlights header{height:100%!important;padding:0!important}
  .highlights header .highlights-eyebrow{
    left:var(--highlights-eyebrow-x-mobile,6%)!important;
    top:var(--highlights-eyebrow-y-mobile,4%)!important;
    width:88%!important;
  }
  .highlights header h2{
    left:var(--highlights-title-x-mobile,6%)!important;
    top:var(--highlights-title-y-mobile,25%)!important;
    width:88%!important;
  }
  .highlights header .highlights-description{
    left:var(--highlights-description-x-mobile,6%)!important;
    top:var(--highlights-description-y-mobile,64%)!important;
    width:88%!important;
  }
  .highlight-shell{bottom:28px!important}
}

/* Homepage v5.11: locked reference typography and layouts; media-only About focal editing */
:root{
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Montserrat","Helvetica Neue",Arial,sans-serif;
}



/* Field Highlights is intentionally locked to the approved composition. */
.highlights.highlights-locked{
  position:relative!important;
  height:clamp(500px,34vw,550px)!important;
  min-height:500px!important;
  padding:0!important;
  overflow:hidden!important;
  background:#f3f1eb!important;
  color:#1d1d19!important;
}
.highlights.highlights-locked header{
  position:absolute!important;
  z-index:2!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:170px!important;
  margin:0!important;
  padding:0!important;
  pointer-events:none;
}
.highlights.highlights-locked header h2{
  position:absolute!important;
  left:31%!important;
  top:28px!important;
  width:43%!important;
  margin:0!important;
  color:#1d1d19!important;
  font-size:clamp(64px,5.55vw,88px)!important;
  line-height:.9!important;
  text-align:left!important;
  text-wrap:balance;
}
.highlights.highlights-locked .highlights-description{
  position:absolute!important;
  right:6%!important;
  top:48px!important;
  left:auto!important;
  width:25%!important;
  max-width:390px!important;
  margin:0!important;
  color:#5f5b55!important;
  font:400 clamp(15px,1.15vw,18px)/1.5 var(--serif)!important;
  letter-spacing:0!important;
  text-transform:none!important;
  text-align:left!important;
}
.highlights.highlights-locked .highlight-shell{
  position:absolute!important;
  z-index:1!important;
  left:0!important;
  right:0!important;
  bottom:38px!important;
  display:grid!important;
  grid-template-columns:50px minmax(0,1fr) 50px!important;
  align-items:center!important;
  padding:0 clamp(18px,4vw,64px)!important;
}
.highlights.highlights-locked .highlight-track{
  --highlight-gap:clamp(18px,2.1vw,34px);
  display:flex!important;
  gap:var(--highlight-gap)!important;
  padding:4px!important;
}
.highlights.highlights-locked .highlight-cover{
  flex:0 0 calc((100% - (4 * var(--highlight-gap)))/5)!important;
  min-width:0!important;
}
.highlights.highlights-locked .highlight-image-ring{
  width:min(100%,190px)!important;
  padding:5px!important;
}
.highlights.highlights-locked .highlight-cover .highlight-title{
  margin-top:12px!important;
  color:#1d1d19!important;
  font-size:clamp(22px,1.7vw,28px)!important;
  line-height:1!important;
}
.highlights.highlights-locked .highlight-open-label{
  margin-top:8px!important;
  color:#77716a!important;
  font-size:9px!important;
  font-weight:500!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.highlights.highlights-locked .highlight-cover.is-latest .highlight-image-ring:before{
  border-color:rgba(157,73,54,.78)!important;
  border-left-color:transparent!important;
  border-bottom-color:transparent!important;
  animation-duration:var(--highlight-ring-speed,3.5s)!important;
}

/* About copy is locked. Only the media focal point can change. */








@media (max-width:760px) {
  .highlights.highlights-locked{
    height:520px!important;
    min-height:520px!important;
  }
  .highlights.highlights-locked header{height:190px!important}
  .highlights.highlights-locked header h2{
    left:24px!important;
    right:24px!important;
    top:28px!important;
    width:auto!important;
    font-size:52px!important;
    line-height:.92!important;
  }
  .highlights.highlights-locked .highlights-description{
    left:24px!important;
    right:24px!important;
    top:96px!important;
    width:auto!important;
    max-width:430px!important;
    font-size:16px!important;
  }
  .highlights.highlights-locked .highlight-shell{
    bottom:26px!important;
    grid-template-columns:34px minmax(0,1fr) 34px!important;
    padding:0 10px!important;
  }
  .highlights.highlights-locked .highlight-track{--highlight-gap:18px!important}
  .highlights.highlights-locked .highlight-cover{
    flex-basis:calc((100% - var(--highlight-gap))/2)!important;
  }
  .highlights.highlights-locked .highlight-image-ring{width:min(100%,154px)!important}
  .highlights.highlights-locked .highlight-cover .highlight-title{font-size:23px!important}
  
  
  
  
  
}

/* Homepage v5.14 — split desktop About, compact centred Highlights, warm-red story contact */
:root{
  --section-paper:#f7f6f2;
  --warm-red:#9d4936;
}

/* Field Highlights: locked, centred, and closer to the Highlight covers. */
.highlights.highlights-locked{
  height:410px!important;
  min-height:410px!important;
  background:var(--section-paper)!important;
}
.highlights.highlights-locked header{
  position:relative!important;
  inset:auto!important;
  z-index:2!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:100%!important;
  height:auto!important;
  margin:0!important;
  padding:28px 24px 0!important;
  text-align:center!important;
  pointer-events:none!important;
}
.highlights.highlights-locked header h2{
  position:static!important;
  inset:auto!important;
  width:auto!important;
  max-width:min(92vw,900px)!important;
  margin:0!important;
  color:#1d1d19!important;
  font-size:clamp(58px,4.8vw,74px)!important;
  line-height:.92!important;
  text-align:center!important;
  text-wrap:balance;
}
.highlights.highlights-locked .highlights-description{
  position:static!important;
  inset:auto!important;
  width:auto!important;
  max-width:620px!important;
  margin:7px auto 0!important;
  color:#5f5b55!important;
  font:400 clamp(15px,1.05vw,17px)/1.45 var(--serif)!important;
  letter-spacing:0!important;
  text-transform:none!important;
  text-align:center!important;
}
.highlights.highlights-locked .highlight-shell{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:22px!important;
  grid-template-columns:46px minmax(0,1fr) 46px!important;
  padding:0 clamp(16px,3.5vw,58px)!important;
}
.highlights.highlights-locked .highlight-track{
  --highlight-gap:clamp(16px,1.8vw,28px);
  gap:var(--highlight-gap)!important;
  padding:3px!important;
}
@media(min-width:761px){
  .highlights.highlights-locked.highlights-few .highlight-track{justify-content:center!important}
}
.highlights.highlights-locked .highlight-image-ring{width:min(100%,160px)!important}
.highlights.highlights-locked .highlight-cover .highlight-title{
  margin-top:9px!important;
  font-size:clamp(21px,1.45vw,25px)!important;
}
.highlights.highlights-locked .highlight-open-label{
  margin-top:6px!important;
  font-size:8px!important;
}

/* About: reference-style 50/50 desktop layout. */












/* Contact: same editorial content/layout as the reference, on the sign-in warm red. */
.contact.contact-story{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:clamp(48px,7vw,130px)!important;
  align-items:center!important;
  min-height:78svh!important;
  padding:clamp(72px,8vw,126px) clamp(28px,4.2vw,72px)!important;
  background:var(--warm-red)!important;
  color:var(--section-paper)!important;
  border:0!important;
}
.contact.contact-story .contact-story-intro{
  display:block!important;
  margin:0!important;
  padding:0!important;
}
.contact.contact-story .contact-story-intro>p{
  margin:0 0 clamp(34px,4vw,60px)!important;
  color:rgba(247,246,242,.82)!important;
  font-family:var(--sans)!important;
  font-size:10px!important;
  font-weight:500!important;
  line-height:1.4!important;
  letter-spacing:.17em!important;
  text-transform:uppercase!important;
}
.contact.contact-story .contact-story-intro h2{
  max-width:720px!important;
  margin:0!important;
  color:var(--section-paper)!important;
  font-family:var(--serif)!important;
  font-size:clamp(70px,7vw,116px)!important;
  font-weight:500!important;
  letter-spacing:-.055em!important;
  line-height:.87!important;
}
.contact.contact-story .contact-story-form-wrap{width:100%!important;align-self:center!important}
.contact.contact-story form{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  column-gap:32px!important;
  row-gap:34px!important;
  width:100%!important;
  margin:0!important;
}
.contact.contact-story form label{
  display:flex!important;
  flex-direction:column!important;
  gap:13px!important;
  margin:0!important;
  color:rgba(247,246,242,.86)!important;
  font-family:var(--sans)!important;
  font-size:9px!important;
  font-weight:500!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
.contact.contact-story form label.wide{grid-column:1/-1!important}
.contact.contact-story input,
.contact.contact-story textarea{
  width:100%!important;
  min-height:44px!important;
  margin:0!important;
  padding:6px 0 12px!important;
  border:0!important;
  border-bottom:1px solid rgba(247,246,242,.58)!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  color:var(--section-paper)!important;
  font-family:var(--sans)!important;
  font-size:16px!important;
  line-height:1.5!important;
  box-shadow:none!important;
}
.contact.contact-story textarea{min-height:135px!important;resize:vertical!important}
.contact.contact-story input:focus,
.contact.contact-story textarea:focus{border-bottom-color:var(--section-paper)!important}
.contact.contact-story button[type="submit"]{
  grid-column:2!important;
  justify-self:end!important;
  display:grid!important;
  place-items:center!important;
  width:148px!important;
  height:148px!important;
  margin:0!important;
  padding:20px!important;
  border:1px solid rgba(247,246,242,.82)!important;
  border-radius:50%!important;
  background:transparent!important;
  color:var(--section-paper)!important;
  font-family:var(--sans)!important;
  font-size:10px!important;
  font-weight:500!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  transition:background .25s ease,color .25s ease!important;
}
.contact.contact-story button[type="submit"]:hover,
.contact.contact-story button[type="submit"]:focus-visible{
  background:var(--section-paper)!important;
  color:var(--warm-red)!important;
}
.contact.contact-story .form-success,
.contact.contact-story .form-error{
  margin:0 0 22px!important;
  color:var(--section-paper)!important;
}

@media (max-width:760px) {
  .highlights.highlights-locked{
    height:405px!important;
    min-height:405px!important;
  }
  .highlights.highlights-locked header{
    height:auto!important;
    padding:25px 20px 0!important;
  }
  .highlights.highlights-locked header h2{
    width:auto!important;
    max-width:100%!important;
    font-size:48px!important;
    text-align:center!important;
  }
  .highlights.highlights-locked .highlights-description{
    width:auto!important;
    max-width:350px!important;
    margin-top:7px!important;
    font-size:14px!important;
    text-align:center!important;
  }
  .highlights.highlights-locked .highlight-shell{
    bottom:20px!important;
    grid-template-columns:34px minmax(0,1fr) 34px!important;
    padding:0 8px!important;
  }
  .highlights.highlights-locked.highlights-few .highlight-track{justify-content:flex-start!important}
  .highlights.highlights-locked .highlight-image-ring{width:min(100%,132px)!important}
  .highlights.highlights-locked .highlight-cover .highlight-title{font-size:21px!important}

  
  
  
  
  
  
  
  
  
  

  .contact.contact-story{
    grid-template-columns:1fr!important;
    gap:54px!important;
    min-height:0!important;
    padding:72px 24px 76px!important;
  }
  .contact.contact-story .contact-story-intro>p{margin-bottom:28px!important;font-size:9px!important}
  .contact.contact-story .contact-story-intro h2{font-size:64px!important;line-height:.9!important}
  .contact.contact-story form{grid-template-columns:1fr!important;row-gap:28px!important}
  .contact.contact-story form label.wide{grid-column:1!important}
  .contact.contact-story button[type="submit"]{
    grid-column:1!important;
    width:126px!important;
    height:126px!important;
    justify-self:end!important;
  }
}

/* Homepage v5.15 — reference two-tone sections + visual text placement */
:root{
  --highlights-paper:#ecebe7;
  --section-paper:#f7f6f2;
}

/* The reference intentionally uses a slightly greyer Highlights field than About/Contact. */
.highlights.highlights-locked{
  height:380px!important;
  min-height:380px!important;
  background:var(--highlights-paper)!important;
}
.highlights.highlights-locked header{padding:22px 24px 0!important}
.highlights.highlights-locked header h2{font-size:clamp(56px,4.65vw,72px)!important}
.highlights.highlights-locked .highlights-description{margin-top:6px!important}
.highlights.highlights-locked .highlight-shell{bottom:14px!important}
.highlights.highlights-locked .highlight-image-ring{width:min(100%,154px)!important}

/* About desktop: fixed 50/50 split, but the copy block itself can be moved/scaled. */






/* Contact restores the light reference background; text content/position/scale are variable. */
.contact.contact-story{
  background:var(--section-paper)!important;
  color:#171813!important;
  min-height:78svh!important;
}
.contact.contact-story .contact-story-intro{
  position:relative!important;
  width:100%!important;
  min-height:520px!important;
  height:100%!important;
  overflow:hidden!important;
}
.contact.contact-story .contact-story-intro .contact-story-body{
  position:absolute!important;
  left:var(--contact-body-x-desktop,0%)!important;
  top:var(--contact-body-y-desktop,18%)!important;
  margin:0!important;
  max-width:92%!important;
  transform:scale(var(--contact-body-scale-desktop,1))!important;
  transform-origin:left top!important;
  color:#6c6861!important;
  font-family:var(--sans)!important;
  font-size:10px!important;
  font-weight:500!important;
  line-height:1.45!important;
  letter-spacing:.17em!important;
  text-transform:uppercase!important;
}
.contact.contact-story .contact-story-intro h2{
  position:absolute!important;
  left:var(--contact-title-x-desktop,0%)!important;
  top:var(--contact-title-y-desktop,34%)!important;
  width:min(92%,720px)!important;
  margin:0!important;
  transform:scale(var(--contact-title-scale-desktop,1))!important;
  transform-origin:left top!important;
  color:#151611!important;
  font-family:var(--serif)!important;
  font-size:clamp(70px,7vw,116px)!important;
  font-weight:500!important;
  letter-spacing:-.055em!important;
  line-height:.87!important;
}
.contact.contact-story form label{color:#706c65!important}
.contact.contact-story input,
.contact.contact-story textarea{
  border-bottom-color:#bdb9b0!important;
  color:#1d1d19!important;
}
.contact.contact-story input:focus,
.contact.contact-story textarea:focus{border-bottom-color:#1d1d19!important}
.contact.contact-story button[type="submit"]{
  border-color:#1d1d19!important;
  color:#1d1d19!important;
  background:transparent!important;
}
.contact.contact-story button[type="submit"]:hover,
.contact.contact-story button[type="submit"]:focus-visible{
  background:#1d1d19!important;
  color:var(--section-paper)!important;
}
.contact.contact-story .form-success{color:#42634a!important}
.contact.contact-story .form-error{color:var(--warm-red)!important}

@media (max-width:760px) {
  .highlights.highlights-locked{height:390px!important;min-height:390px!important}
  .highlights.highlights-locked header{padding:22px 18px 0!important}
  .highlights.highlights-locked header h2{font-size:46px!important}
  .highlights.highlights-locked .highlight-shell{bottom:15px!important}
  .highlights.highlights-locked .highlight-image-ring{width:min(100%,128px)!important}

  
  

  .contact.contact-story{gap:32px!important;padding:58px 24px 68px!important}
  .contact.contact-story .contact-story-intro{min-height:390px!important}
  .contact.contact-story .contact-story-intro .contact-story-body{
    left:var(--contact-body-x-mobile,0%)!important;
    top:var(--contact-body-y-mobile,6%)!important;
    transform:scale(var(--contact-body-scale-mobile,1))!important;
    font-size:9px!important;
  }
  .contact.contact-story .contact-story-intro h2{
    left:var(--contact-title-x-mobile,0%)!important;
    top:var(--contact-title-y-mobile,22%)!important;
    transform:scale(var(--contact-title-scale-mobile,1))!important;
    font-size:64px!important;
  }
}

/* Homepage v5.16 — editable section colours and independently positioned About title/body */
.highlights.highlights-locked{
  background:var(--highlights-bg,#ecebe7)!important;
}
.highlights.highlights-locked header h2{
  color:var(--highlights-title-color,#1d1d19)!important;
  font-size:var(--highlights-title-size-desktop,72px)!important;
}
.highlights.highlights-locked .highlights-description{
  color:var(--highlights-subtitle-color,#5f5b55)!important;
  font-size:var(--highlights-subtitle-size-desktop,15px)!important;
}











.contact.contact-story{
  background:var(--contact-bg,#f7f6f2)!important;
}
.contact.contact-story .contact-story-intro h2{
  color:var(--contact-title-color,#151611)!important;
}
.contact.contact-story .contact-story-intro .contact-story-body{
  color:var(--contact-body-color,#6c6861)!important;
}

@media (max-width:760px) {
  .highlights.highlights-locked header h2{
    font-size:var(--highlights-title-size-mobile,46px)!important;
  }
  .highlights.highlights-locked .highlights-description{
    font-size:var(--highlights-subtitle-size-mobile,14px)!important;
  }
  
  
  
  
  
  
  
}


/* Homepage v5.17 — tighter Highlights rhythm + full-width footer contact/social composition */
.highlights.highlights-locked{
  height:330px!important;
  min-height:330px!important;
}
.highlights.highlights-locked header{
  padding:16px 24px 0!important;
}
.highlights.highlights-locked .highlights-description{
  margin-top:4px!important;
}
.highlights.highlights-locked .highlight-shell{
  bottom:10px!important;
}

.site-footer{
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr) minmax(0,1.15fr)!important;
  gap:clamp(28px,5vw,88px)!important;
  align-items:center!important;
  padding:clamp(58px,6vw,86px) clamp(28px,6vw,96px)!important;
  background:#20231f!important;
  color:#eee9df!important;
  font-size:clamp(16px,1.35vw,21px)!important;
}
.site-footer p{margin:0!important}
.site-footer .footer-name{
  font-family:var(--sans)!important;
  font-size:1em!important;
  line-height:1.35!important;
}
.site-footer .footer-email{
  font-size:.92em!important;
  line-height:1.45!important;
}
.site-footer .footer-email a{
  display:inline!important;
  text-align:left!important;
  border-bottom:1px solid rgba(238,233,223,.42);
  padding-bottom:2px;
}
.site-footer .footer-follow{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:clamp(18px,2vw,30px)!important;
  min-width:0;
}
.site-footer .footer-follow>p{
  white-space:nowrap;
  font-size:.92em!important;
}
.site-footer .header-social.footer-social{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  justify-self:auto!important;
}
.site-footer .header-social.footer-social a{
  flex:0 0 50px!important;
  width:50px!important;
  height:50px!important;
  border:1px solid rgba(238,233,223,.34)!important;
  border-radius:50%!important;
}
.site-footer .header-social.footer-social svg{
  width:22px!important;
  height:22px!important;
}

@media (max-width:760px) {
  .highlights.highlights-locked{
    height:315px!important;
    min-height:315px!important;
  }
  .highlights.highlights-locked header{
    padding:14px 16px 0!important;
  }
  .highlights.highlights-locked .highlights-description{
    margin-top:3px!important;
  }
  .highlights.highlights-locked .highlight-shell{
    bottom:8px!important;
  }

  .site-footer{
    grid-template-columns:1fr!important;
    gap:34px!important;
    padding:54px 24px 64px!important;
    font-size:18px!important;
  }
  .site-footer .footer-name{font-size:21px!important}
  .site-footer .footer-email{font-size:16px!important}
  .site-footer .footer-follow{
    display:block!important;
  }
  .site-footer .footer-follow>p{
    margin-bottom:18px!important;
    font-size:18px!important;
  }
  .site-footer .header-social.footer-social{
    width:100%!important;
    justify-content:space-between!important;
    gap:8px!important;
  }
  .site-footer .header-social.footer-social a{
    flex:0 0 56px!important;
    width:56px!important;
    max-width:56px!important;
    height:56px!important;
    min-width:56px!important;
  }
  .site-footer .header-social.footer-social svg{
    width:24px!important;
    height:24px!important;
  }
}

/* Homepage v5.18 — restore moderate breathing room between Highlights heading and covers */
.highlights.highlights-locked{
  height:390px!important;
  min-height:390px!important;
}
.highlights.highlights-locked header{
  padding:20px 24px 0!important;
}
.highlights.highlights-locked .highlights-description{
  margin-top:6px!important;
}
.highlights.highlights-locked .highlight-shell{
  bottom:16px!important;
}

@media (max-width:760px) {
  .highlights.highlights-locked{
    height:350px!important;
    min-height:350px!important;
  }
  .highlights.highlights-locked header{
    padding:18px 16px 0!important;
  }
  .highlights.highlights-locked .highlights-description{
    margin-top:5px!important;
  }
  .highlights.highlights-locked .highlight-shell{
    bottom:12px!important;
  }
}

/* Homepage v5.19 — Field Highlights section height matched to the approved desktop reference.
   Keep the locked centred title/subtitle and existing Highlight layout; only restore the
   taller editorial canvas seen in the reference. */
@media(min-width:761px){
  .highlights.highlights-locked{
    height:clamp(650px,74svh,850px)!important;
    min-height:650px!important;
  }
  .highlights.highlights-locked header{
    padding-top:clamp(72px,8svh,96px)!important;
  }
  .highlights.highlights-locked .highlight-shell{
    bottom:clamp(72px,8svh,96px)!important;
  }
}

/* Homepage v5.20 — match the approved Field Highlights desktop composition.
   v5.19 got the overall canvas closer, but incorrectly anchored the Highlight row
   near the bottom, creating a large empty gap under the subtitle. The reference
   keeps the heading in the upper editorial zone, places the circles much sooner,
   and leaves the larger breathing room BELOW the Highlight labels. */
@media(min-width:761px){
  .highlights.highlights-locked{
    height:clamp(620px,70svh,680px)!important;
    min-height:620px!important;
  }
  .highlights.highlights-locked header{
    padding:104px 24px 0!important;
  }
  .highlights.highlights-locked .highlights-description{
    margin-top:8px!important;
  }
  .highlights.highlights-locked .highlight-shell{
    top:270px!important;
    bottom:auto!important;
  }
  .highlights.highlights-locked .highlight-image-ring{
    width:min(100%,180px)!important;
  }
  .highlights.highlights-locked .highlight-cover .highlight-title{
    margin-top:12px!important;
  }
}

/* Homepage v5.21 — Featured Study / Latest Work editorial section */












@media (max-width:760px) {
  
  
  
  
  
  
  
  
  
}


/* Homepage v5.22 — compact Featured Study + footer, and corrected Highlights title/subtitle rhythm */
@media(min-width:761px){
  .highlights.highlights-locked .highlights-description{margin-top:16px!important}
  
  
  
  
  
  
  
  
  
  
  .site-footer{
    gap:clamp(24px,3.5vw,54px)!important;
    padding:clamp(34px,4vw,52px) clamp(28px,5vw,80px)!important;
  }
  .site-footer .header-social.footer-social a{
    flex-basis:46px!important;width:46px!important;height:46px!important;
  }
  .site-footer .header-social.footer-social svg{width:20px!important;height:20px!important}
}
@media (max-width:760px) {
  .highlights.highlights-locked .highlights-description{margin-top:12px!important}
  
  
  
  
  
  .site-footer{gap:22px!important;padding:38px 24px 44px!important}
  .site-footer .footer-follow>p{margin-bottom:14px!important}
  .site-footer .header-social.footer-social a{
    flex-basis:50px!important;width:50px!important;max-width:50px!important;height:50px!important;min-width:50px!important;
  }
  .site-footer .header-social.footer-social svg{width:22px!important;height:22px!important}
}

/* v5.22 contact section — remove excess vertical space while preserving the editable composition */
@media(min-width:761px){
  .contact.contact-story{
    min-height:clamp(520px,62svh,620px)!important;
    gap:clamp(42px,5.5vw,92px)!important;
    padding:clamp(46px,5.5vw,72px) clamp(28px,4.2vw,72px)!important;
  }
  .contact.contact-story .contact-story-intro{min-height:360px!important}
  .contact.contact-story textarea{min-height:100px!important}
}
@media (max-width:760px) {
  .contact.contact-story{gap:26px!important;padding:44px 24px 52px!important}
  .contact.contact-story .contact-story-intro{min-height:310px!important}
  .contact.contact-story textarea{min-height:96px!important}
}


/* Homepage v5.23 — width-aware text editors, corrected Highlights rhythm, compact Contact/Footer */
/* Field Highlights: explicit gap prevents the subtitle from sitting on the title glyphs. */
.highlights.highlights-locked header{
  gap:clamp(24px,2vw,32px)!important;
}
.highlights.highlights-locked .highlights-description{
  margin:0!important;
}
@media(min-width:761px){
  .highlights.highlights-locked .highlight-shell{top:310px!important;bottom:auto!important}
}
@media (max-width:760px) {
  .highlights.highlights-locked header{gap:16px!important}
  .highlights.highlights-locked .highlight-shell{bottom:14px!important}
}

/* About: title/body widths are now first-class settings, independent of font size. */


@media (max-width:760px) {
  
  
}

/* Contact: use actual saved font sizes and widths instead of transform scaling. */
.contact.contact-story{
  min-height:500px!important;
  padding:44px clamp(28px,4.2vw,72px)!important;
  gap:clamp(36px,4.5vw,72px)!important;
}
.contact.contact-story .contact-story-intro{
  min-height:320px!important;
  height:320px!important;
}
.contact.contact-story .contact-story-intro .contact-story-body{
  left:var(--contact-body-x-desktop,0%)!important;
  top:var(--contact-body-y-desktop,10%)!important;
  width:var(--contact-body-width-desktop,92%)!important;
  max-width:none!important;
  transform:none!important;
  font-size:var(--contact-body-size-desktop,10px)!important;
}
.contact.contact-story .contact-story-intro h2{
  left:var(--contact-title-x-desktop,0%)!important;
  top:var(--contact-title-y-desktop,28%)!important;
  width:var(--contact-title-width-desktop,92%)!important;
  max-width:none!important;
  transform:none!important;
  font-size:var(--contact-title-size-desktop,92px)!important;
}
.contact.contact-story textarea{min-height:88px!important}

.site-footer{
  gap:18px!important;
  padding:26px clamp(28px,5vw,80px)!important;
}

@media (max-width:760px) {
  .contact.contact-story{gap:22px!important;padding:36px 24px 42px!important;min-height:0!important}
  .contact.contact-story .contact-story-intro{min-height:245px!important;height:245px!important}
  .contact.contact-story .contact-story-intro .contact-story-body{
    left:var(--contact-body-x-mobile,0%)!important;
    top:var(--contact-body-y-mobile,6%)!important;
    width:var(--contact-body-width-mobile,92%)!important;
    transform:none!important;
    font-size:var(--contact-body-size-mobile,9px)!important;
  }
  .contact.contact-story .contact-story-intro h2{
    left:var(--contact-title-x-mobile,0%)!important;
    top:var(--contact-title-y-mobile,24%)!important;
    width:var(--contact-title-width-mobile,92%)!important;
    transform:none!important;
    font-size:var(--contact-title-size-mobile,58px)!important;
  }
  .contact.contact-story textarea{min-height:76px!important}
  .site-footer{gap:16px!important;padding:28px 24px 32px!important}
  .site-footer .footer-follow>p{margin-bottom:10px!important}
}


/* v5.24 — People page matched to the approved editorial reference */
.people-reference-page{
  background:#f7f6f2;
  color:#151611;
}
.people-reference-intro{
  display:grid;
  grid-template-columns:minmax(0,56%) minmax(320px,44%);
  align-items:start;
  gap:clamp(30px,5vw,90px);
  min-height:310px;
  padding:clamp(34px,4.5vw,68px) clamp(42px,4vw,66px) clamp(54px,5vw,78px);
  border-bottom:1px solid rgba(21,22,17,.18);
  overflow:hidden;
}
.people-reference-intro h1{
  margin:-.12em 0 0;
  font-family:var(--serif);
  font-size:clamp(9rem,15.4vw,15.6rem);
  font-weight:500;
  letter-spacing:-.075em;
  line-height:.72;
}
.people-reference-intro p{
  max-width:620px;
  margin:0;
  padding-top:4px;
  font-family:var(--serif);
  font-size:clamp(1.55rem,2.05vw,2.25rem);
  font-weight:400;
  letter-spacing:-.018em;
  line-height:1.35;
}
.people-reference-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(22px,2vw,34px);
  padding:clamp(72px,6.5vw,104px) clamp(42px,4vw,66px) clamp(80px,7vw,120px);
  border-bottom:1px solid rgba(21,22,17,.12);
}
.people-reference-card{
  position:relative;
  display:block;
  overflow:hidden;
  aspect-ratio:4/5;
  background:#ded9cf;
}
.people-reference-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s ease;
}
.people-reference-hover{
  position:absolute;
  left:18px;
  right:18px;
  bottom:16px;
  z-index:2;
  color:#fff;
  font:500 14px/1.3 var(--sans);
  letter-spacing:.06em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(7px);
  transition:opacity .25s ease,transform .25s ease;
}
.people-reference-card:after{
  content:"";
  position:absolute;
  inset:50% 0 0;
  background:linear-gradient(transparent,rgba(0,0,0,.58));
  opacity:0;
  transition:opacity .25s ease;
}
.people-reference-card:hover img,
.people-reference-card:focus-visible img{transform:scale(1.018)}
.people-reference-card:hover:after,
.people-reference-card:focus-visible:after,
.people-reference-card:hover .people-reference-hover,
.people-reference-card:focus-visible .people-reference-hover{
  opacity:1;
  transform:translateY(0);
}
.people-reference-placeholder{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  padding:20px;
  font:500 34px/1 var(--serif);
  text-align:center;
}
@media(max-width:980px){
  .people-reference-intro{
    grid-template-columns:1fr 1fr;
  }
  .people-reference-intro h1{
    font-size:clamp(7rem,17vw,10rem);
  }
  .people-reference-intro p{
    font-size:clamp(1.3rem,2.8vw,1.8rem);
  }
  .people-reference-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:760px) {
  .people-reference-intro{
    grid-template-columns:1fr;
    gap:28px;
    min-height:0;
    padding:44px 24px 48px;
  }
  .people-reference-intro h1{
    margin:0;
    font-size:clamp(5.8rem,27vw,8.4rem);
    line-height:.78;
  }
  .people-reference-intro p{
    max-width:100%;
    padding:0;
    font-size:1.55rem;
    line-height:1.32;
  }
  .people-reference-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    padding:24px 12px 54px;
  }
  .people-reference-hover{display:none}
}
@media(max-width:460px){
  .people-reference-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding-inline:8px;
  }
}

/* Homepage v5.25 — user-controlled section sizing, flexible Highlight covers, clean mobile Featured Study order */
.hero-carousel-desktop{
  height:var(--hero-height-desktop,100svh)!important;
  min-height:0!important;
}

/* Field Highlights now uses normal document flow instead of competing absolute offsets. */
.highlights.highlights-locked{
  display:flex!important;
  flex-direction:column!important;
  height:var(--highlights-height-desktop,620px)!important;
  min-height:0!important;
  padding:var(--highlights-pad-top-desktop,70px) 0 var(--highlights-pad-bottom-desktop,60px)!important;
  overflow:hidden!important;
  background:var(--highlights-bg,#ecebe7)!important;
}
.highlights.highlights-locked header{
  position:static!important;
  inset:auto!important;
  display:flex!important;
  flex:0 0 auto!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:clamp(20px,1.8vw,30px)!important;
  width:100%!important;
  height:auto!important;
  margin:0!important;
  padding:0 24px!important;
  pointer-events:auto!important;
}
.highlights.highlights-locked header h2{
  position:static!important;
  inset:auto!important;
  width:auto!important;
  max-width:min(92vw,1050px)!important;
  margin:0!important;
  color:var(--highlights-title-color,#1d1d19)!important;
  font-size:var(--highlights-title-size-desktop,72px)!important;
  line-height:.9!important;
  text-align:center!important;
}
.highlights.highlights-locked .highlights-description{
  position:static!important;
  inset:auto!important;
  width:auto!important;
  max-width:min(760px,86vw)!important;
  margin:0!important;
  color:var(--highlights-subtitle-color,#5f5b55)!important;
  font-size:var(--highlights-subtitle-size-desktop,15px)!important;
  line-height:1.5!important;
  text-align:center!important;
}
.highlights.highlights-locked .highlight-shell{
  position:static!important;
  inset:auto!important;
  display:grid!important;
  grid-template-columns:50px minmax(0,1fr) 50px!important;
  align-items:center!important;
  flex:1 1 auto!important;
  min-height:0!important;
  width:100%!important;
  margin:clamp(28px,4vh,56px) 0 0!important;
  padding:0 clamp(18px,4vw,64px)!important;
}
.highlights.highlights-locked .highlight-track{
  display:flex!important;
  align-items:flex-start!important;
  gap:clamp(18px,2vw,34px)!important;
  min-width:0!important;
  padding:4px 8px 10px!important;
  overflow-x:auto!important;
}
.highlights.highlights-locked.highlights-few .highlight-track{
  justify-content:center!important;
}
.highlights.highlights-locked .highlight-cover{
  flex:0 0 calc(var(--highlight-circle-desktop,180px) + 34px)!important;
  width:calc(var(--highlight-circle-desktop,180px) + 34px)!important;
  min-width:0!important;
}
.highlights.highlights-locked .highlight-image-ring{
  width:var(--highlight-circle-desktop,180px)!important;
  max-width:none!important;
}
.highlights.highlights-locked .highlight-open-label{display:none!important}

/* About section sizing. Padding applies to the panel, while the image remains edge-to-edge inside it. */




/* Featured Study sizing. */



/* Contact sizing. */
.contact.contact-story{
  min-height:var(--contact-height-desktop,500px)!important;
  padding-top:var(--contact-pad-top-desktop,44px)!important;
  padding-bottom:var(--contact-pad-bottom-desktop,44px)!important;
}

/* Footer sizing. */
.site-footer{
  min-height:var(--footer-height-desktop,220px)!important;
  padding-top:var(--footer-pad-top-desktop,26px)!important;
  padding-bottom:var(--footer-pad-bottom-desktop,26px)!important;
}

@media (max-width:760px) {
  .hero-carousel-mobile{
    height:var(--hero-height-mobile,100svh)!important;
    min-height:0!important;
  }
  .hero-carousel-mobile .hero-track,
  .hero-carousel-mobile .hero-slide,
  .hero-carousel-mobile .hero-panel{height:100%!important;min-height:0!important}

  .highlights.highlights-locked{
    height:var(--highlights-height-mobile,350px)!important;
    min-height:0!important;
    padding:var(--highlights-pad-top-mobile,32px) 0 var(--highlights-pad-bottom-mobile,28px)!important;
  }
  .highlights.highlights-locked header{
    gap:16px!important;
    padding:0 18px!important;
  }
  .highlights.highlights-locked header h2{
    font-size:var(--highlights-title-size-mobile,46px)!important;
    line-height:.92!important;
  }
  .highlights.highlights-locked .highlights-description{
    font-size:var(--highlights-subtitle-size-mobile,14px)!important;
    max-width:88vw!important;
  }
  .highlights.highlights-locked .highlight-shell{
    grid-template-columns:34px minmax(0,1fr) 34px!important;
    margin-top:24px!important;
    padding:0 10px!important;
  }
  .highlights.highlights-locked.highlights-few .highlight-track{justify-content:flex-start!important}
  .highlights.highlights-locked .highlight-cover{
    flex:0 0 calc(var(--highlight-circle-mobile,128px) + 22px)!important;
    width:calc(var(--highlight-circle-mobile,128px) + 22px)!important;
  }
  .highlights.highlights-locked .highlight-image-ring{
    width:var(--highlight-circle-mobile,128px)!important;
    max-width:none!important;
  }

  
  

  /* On mobile, read the Featured Study text first, then see the picture/video. */
  
  
  

  .contact.contact-story{
    min-height:var(--contact-height-mobile,560px)!important;
    padding-top:var(--contact-pad-top-mobile,36px)!important;
    padding-bottom:var(--contact-pad-bottom-mobile,42px)!important;
  }

  .site-footer{
    min-height:var(--footer-height-mobile,320px)!important;
    padding-top:var(--footer-pad-top-mobile,28px)!important;
    padding-bottom:var(--footer-pad-bottom-mobile,32px)!important;
  }
}

/* v5.25 final refinements */
.highlights.highlights-locked.highlights-few .highlight-track{justify-content:safe center!important}

@media (max-width:760px) {
  .highlights.highlights-locked.highlights-few .highlight-track{justify-content:safe center!important}
  
  
}

/* Homepage v5.27 — responsive full-screen sections. Heights follow the visitor's viewport; Studio controls only inner padding. */

@supports (min-height:100dvh){
  
}

@supports (height:100dvh){
  
}

/* Field Highlights: full-screen, vertically balanced, and independent of old manual height values. */
.home > .highlights.highlights-locked{
  height:auto!important;
  justify-content:center!important;
  padding:var(--highlights-pad-top-desktop,70px) 0 var(--highlights-pad-bottom-desktop,60px)!important;
  overflow:hidden!important;
}
.home > .highlights.highlights-locked header{
  flex:0 0 auto!important;
  gap:clamp(30px,3.2vh,46px)!important;
}
.home > .highlights.highlights-locked .highlight-shell{
  flex:0 0 auto!important;
  margin-top:clamp(42px,6.2vh,84px)!important;
}
.home > .highlights.highlights-locked .highlight-cover{
  flex-basis:calc(var(--highlight-circle-desktop,180px) + 34px)!important;
  width:calc(var(--highlight-circle-desktop,180px) + 34px)!important;
}
.home > .highlights.highlights-locked .highlight-image-ring{
  width:var(--highlight-circle-desktop,180px)!important;
  max-width:none!important;
}

/* About: exactly one responsive viewport. Saved title/body position, width, size and colours are authoritative. */









/* Featured Study: full-screen minimum while keeping text/media order responsive. */



/* Contact: full-screen minimum and exact use of the Studio's saved position/width/size variables. */
.home > .contact.contact-story{
  height:auto!important;
  min-height:100svh!important;
  padding-top:var(--contact-pad-top-desktop,44px)!important;
  padding-bottom:var(--contact-pad-bottom-desktop,44px)!important;
}
.contact.contact-story .contact-story-intro{
  position:relative!important;
  height:clamp(360px,60vh,680px)!important;
  min-height:0!important;
  overflow:visible!important;
}
.contact.contact-story .contact-story-intro .contact-story-body{
  position:absolute!important;left:var(--contact-body-x-desktop,0%)!important;top:var(--contact-body-y-desktop,10%)!important;width:var(--contact-body-width-desktop,92%)!important;max-width:none!important;transform:none!important;font-size:var(--contact-body-size-desktop,10px)!important;color:var(--contact-body-color,#6c6861)!important;
}
.contact.contact-story .contact-story-intro h2{
  position:absolute!important;left:var(--contact-title-x-desktop,0%)!important;top:var(--contact-title-y-desktop,28%)!important;width:var(--contact-title-width-desktop,92%)!important;max-width:none!important;transform:none!important;font-size:var(--contact-title-size-desktop,92px)!important;color:var(--contact-title-color,#151611)!important;
}

/* Tablet: same one-screen rhythm, with responsive typography and spacing. */
@media (min-width:761px) and (max-width:1100px){
  .home > .highlights.highlights-locked header{gap:clamp(24px,3vh,38px)!important}
  .home > .highlights.highlights-locked .highlight-shell{margin-top:clamp(34px,5vh,62px)!important}
  
  .contact.contact-story{gap:clamp(28px,4vw,52px)!important}
}

@media (max-width:760px) {
  
  @supports (min-height:100dvh){
    
  }
  .home > .highlights.highlights-locked{
    height:auto!important;
    padding:var(--highlights-pad-top-mobile,32px) 0 var(--highlights-pad-bottom-mobile,28px)!important;
    justify-content:center!important;
  }
  .home > .highlights.highlights-locked header{gap:clamp(22px,3.2vh,34px)!important}
  .home > .highlights.highlights-locked .highlight-shell{margin-top:clamp(30px,5vh,54px)!important}
  .home > .highlights.highlights-locked .highlight-cover{flex-basis:calc(var(--highlight-circle-mobile,128px) + 22px)!important;width:calc(var(--highlight-circle-mobile,128px) + 22px)!important}
  .home > .highlights.highlights-locked .highlight-image-ring{width:var(--highlight-circle-mobile,128px)!important}

  
  
  
  
  
  

  
  
  

  .home > .contact.contact-story{padding-top:var(--contact-pad-top-mobile,36px)!important;padding-bottom:var(--contact-pad-bottom-mobile,42px)!important}
  .contact.contact-story .contact-story-intro{height:clamp(250px,38vh,390px)!important;min-height:0!important}
  .contact.contact-story .contact-story-intro .contact-story-body{left:var(--contact-body-x-mobile,0%)!important;top:var(--contact-body-y-mobile,6%)!important;width:var(--contact-body-width-mobile,92%)!important;font-size:var(--contact-body-size-mobile,9px)!important}
  .contact.contact-story .contact-story-intro h2{left:var(--contact-title-x-mobile,0%)!important;top:var(--contact-title-y-mobile,24%)!important;width:var(--contact-title-width-mobile,92%)!important;font-size:var(--contact-title-size-mobile,58px)!important}
}


/* Homepage v5.28 — mobile vertical Highlights, true one-screen Contact, compact Footer, mobile About text shadow */

/* Slightly smaller footer everywhere; footer remains content-height rather than a full-screen section. */
.site-footer{
  min-height:0!important;
  gap:12px!important;
  padding:20px clamp(24px,4vw,58px) 22px!important;
}
.site-footer .footer-follow{gap:10px!important}
.site-footer .footer-follow>p{margin-bottom:6px!important}
.site-footer .header-social.footer-social{gap:10px!important}
.site-footer .header-social.footer-social a{width:42px!important;height:42px!important}
.site-footer .header-social.footer-social svg{width:19px!important;height:19px!important}

@media (max-width:760px) {
  /* Field Highlights: one Highlight per row on phones. The section itself remains one viewport;
     if more items are published, the list scrolls vertically inside the section. */
  .home > .highlights.highlights-locked{
    height:100svh!important;
    min-height:100svh!important;
    max-height:100svh!important;
    justify-content:flex-start!important;
    overflow:hidden!important;
  }
  @supports (height:100dvh){
    .home > .highlights.highlights-locked{height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important}
  }
  .home > .highlights.highlights-locked header{
    flex:0 0 auto!important;
    gap:clamp(18px,2.8vh,28px)!important;
  }
  .home > .highlights.highlights-locked .highlight-shell{
    display:block!important;
    flex:1 1 auto!important;
    min-height:0!important;
    margin-top:clamp(20px,3.5vh,36px)!important;
    padding:0 18px!important;
    overflow:hidden!important;
  }
  .home > .highlights.highlights-locked .highlight-arrow{display:none!important}
  .home > .highlights.highlights-locked .highlight-track,
  .home > .highlights.highlights-locked.highlights-few .highlight-track{
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:clamp(22px,4vh,36px)!important;
    padding:4px 8px 28px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
  }
  .home > .highlights.highlights-locked .highlight-cover{
    flex:0 0 auto!important;
    width:min(100%,calc(var(--highlight-circle-mobile,128px) + 46px))!important;
    max-width:100%!important;
  }
  .home > .highlights.highlights-locked .highlight-image-ring{
    width:min(var(--highlight-circle-mobile,128px),72vw)!important;
  }

  /* About: only on mobile, add a restrained shadow to keep white copy legible over photography. */
  

  /* Contact: fit the complete section inside one phone screen instead of allowing the form to push it taller. */
  .home > .contact.contact-story{
    box-sizing:border-box!important;
    height:100svh!important;
    min-height:100svh!important;
    max-height:100svh!important;
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(0,34%) minmax(0,66%)!important;
    align-items:stretch!important;
    gap:clamp(8px,1.8vh,16px)!important;
    padding-top:min(var(--contact-pad-top-mobile,24px),4svh)!important;
    padding-right:20px!important;
    padding-bottom:min(var(--contact-pad-bottom-mobile,26px),4svh)!important;
    padding-left:20px!important;
    overflow:hidden!important;
  }
  @supports (height:100dvh){
    .home > .contact.contact-story{height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important}
  }
  .contact.contact-story .contact-story-intro{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .contact.contact-story .contact-story-form-wrap{
    min-height:0!important;
    height:100%!important;
    align-self:stretch!important;
    overflow:hidden!important;
  }
  .contact.contact-story form{
    height:100%!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto minmax(54px,1fr) auto!important;
    align-content:stretch!important;
    row-gap:clamp(8px,1.3vh,14px)!important;
  }
  .contact.contact-story form label{gap:5px!important;font-size:8px!important}
  .contact.contact-story input{
    min-height:32px!important;
    padding:3px 0 6px!important;
    font-size:14px!important;
  }
  .contact.contact-story textarea{
    height:100%!important;
    min-height:54px!important;
    max-height:92px!important;
    padding:3px 0 6px!important;
    font-size:14px!important;
    resize:none!important;
  }
  .contact.contact-story button[type="submit"]{
    width:84px!important;
    height:84px!important;
    min-height:84px!important;
    justify-self:end!important;
    align-self:end!important;
    padding:12px!important;
    font-size:8px!important;
  }

  .site-footer{
    min-height:0!important;
    gap:10px!important;
    padding:18px 20px 22px!important;
  }
  .site-footer .footer-name{font-size:19px!important}
  .site-footer .footer-email{font-size:14px!important}
  .site-footer .footer-follow{gap:8px!important}
  .site-footer .footer-follow>p{margin-bottom:4px!important}
  .site-footer .header-social.footer-social{
    gap:8px!important;
    justify-content:flex-start!important;
  }
  .site-footer .header-social.footer-social a{width:38px!important;height:38px!important}
  .site-footer .header-social.footer-social svg{width:18px!important;height:18px!important}
}


/* Homepage v5.29 — responsive padding percentages, half-screen desktop Highlights,
   natural mobile Highlight flow, compact editable footer, and reference-style mobile menu. */
@media(min-width:761px){
  .home > .highlights.highlights-locked{
    min-height:50svh!important;height:auto!important;max-height:none!important;justify-content:center!important;
    padding:var(--highlights-pad-top-desktop,5.5svh) 0 var(--highlights-pad-bottom-desktop,4.5svh)!important;overflow:hidden!important;
  }
  @supports (min-height:50dvh){.home > .highlights.highlights-locked{min-height:50dvh!important}}
  .home > .highlights.highlights-locked header{gap:clamp(18px,2.2svh,30px)!important}
  .home > .highlights.highlights-locked .highlight-shell{margin-top:clamp(24px,3.5svh,46px)!important}
}


.home > .contact.contact-story{padding-top:var(--contact-pad-top-desktop,4.9svh)!important;padding-bottom:var(--contact-pad-bottom-desktop,4.9svh)!important}
.site-footer{min-height:0!important;padding:var(--footer-pad-top-desktop,18px) clamp(22px,4vw,54px) var(--footer-pad-bottom-desktop,18px)!important;gap:10px!important}
.site-footer .footer-name{font-size:var(--footer-name-size-desktop,17px)!important}
.site-footer .footer-email{font-size:var(--footer-contact-size-desktop,14px)!important}
.site-footer .footer-follow>p{font-size:var(--footer-follow-size-desktop,14px)!important}
.site-footer .header-social.footer-social a{width:38px!important;height:38px!important}
.site-footer .header-social.footer-social svg{width:18px!important;height:18px!important}
@media (max-width:760px) {
  .home > .highlights.highlights-locked{height:auto!important;min-height:100svh!important;max-height:none!important;overflow:visible!important;padding:var(--highlights-pad-top-mobile,4svh) 0 var(--highlights-pad-bottom-mobile,4svh)!important;justify-content:flex-start!important}
  @supports (min-height:100dvh){.home > .highlights.highlights-locked{min-height:100dvh!important}}
  .home > .highlights.highlights-locked .highlight-shell{display:block!important;flex:0 0 auto!important;height:auto!important;min-height:0!important;margin-top:clamp(22px,4svh,38px)!important;padding:0 18px!important;overflow:visible!important}
  .home > .highlights.highlights-locked .highlight-track,.home > .highlights.highlights-locked.highlights-few .highlight-track{height:auto!important;min-height:0!important;overflow:visible!important;overscroll-behavior:auto!important;touch-action:auto!important;gap:clamp(24px,4svh,38px)!important;padding-bottom:clamp(18px,3svh,30px)!important}
  
  
  .home > .contact.contact-story{padding-top:min(var(--contact-pad-top-mobile,4.5svh),8svh)!important;padding-bottom:min(var(--contact-pad-bottom-mobile,5.3svh),8svh)!important}
  .site-footer{padding:var(--footer-pad-top-mobile,16px) 20px var(--footer-pad-bottom-mobile,18px)!important;gap:8px!important}
  .site-footer .footer-name{font-size:var(--footer-name-size-mobile,17px)!important}.site-footer .footer-email{font-size:var(--footer-contact-size-mobile,14px)!important}.site-footer .footer-follow>p{font-size:var(--footer-follow-size-mobile,14px)!important}
  body.menu-open{overflow:hidden!important}
  .site-header .menu-toggle{position:relative!important;z-index:1003!important;min-width:56px!important}
  .site-header nav{position:fixed!important;inset:0!important;top:0!important;z-index:1001!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;height:100svh!important;padding:112px 24px 34px!important;overflow-y:auto!important;transform:translateY(-102%)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;background:#f7f6f2!important;color:#151611!important;border:0!important;transition:transform .35s cubic-bezier(.22,.8,.22,1),opacity .22s ease,visibility 0s linear .35s!important}
  @supports(height:100dvh){.site-header nav{height:100dvh!important}}
  .site-header nav.open,body.menu-open .site-header nav.open{transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transition-delay:0s!important}
  .site-header nav>a{display:flex!important;align-items:center!important;min-height:clamp(62px,9svh,86px)!important;padding:8px 2px!important;border-bottom:1px solid rgba(21,22,17,.16)!important;color:#151611!important;text-shadow:none!important;font-family:var(--serif)!important;font-size:clamp(38px,11vw,62px)!important;font-weight:400!important;line-height:.92!important;letter-spacing:-.045em!important;text-transform:none!important}
  .site-header nav>a:first-child{border-top:1px solid rgba(21,22,17,.16)!important}.site-header nav>a:after{display:none!important}
  body.menu-open .site-header{z-index:1002!important;color:#151611!important;background:transparent!important;border-color:transparent!important}
  body.menu-open .site-header .brand-group{position:relative!important;z-index:1003!important}
  body.menu-open .site-header .brand img{filter:none!important}
  body.menu-open .site-header .menu-toggle{color:#151611!important;font-size:26px!important;letter-spacing:0!important;text-transform:none!important}
}

/* Homepage v5.30 — Field Highlights desktop/tablet section uses ~70% of the viewport rather than a full screen. */
@media (min-width:761px){
  .home > .highlights.highlights-locked{
    min-height:70svh!important;
    height:auto!important;
  }
  @supports (min-height:70dvh){
    .home > .highlights.highlights-locked{min-height:70dvh!important}
  }
}

/* Homepage v5.31 — Contact editor positioning maps to the full section height.
   This removes the vertically-centered 60vh intro box that prevented the saved
   Y position from moving the title/body high enough on the live page. */
@media(min-width:761px){
  .home > .contact.contact-story{
    align-items:stretch!important;
  }
  .home > .contact.contact-story .contact-story-intro{
    align-self:stretch!important;
    height:auto!important;
    min-height:0!important;
  }
  .home > .contact.contact-story .contact-story-form-wrap{
    align-self:center!important;
  }
}


/* Homepage v5.32 — fully opaque mobile menu + social links inside the menu. */
.mobile-menu-social{display:none!important}
@media (max-width:760px) {
  .site-header nav{
    background:#f7f6f2!important;
    background-color:#f7f6f2!important;
    background-image:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .site-header nav.open{opacity:1!important}
  body.menu-open .site-header{
    background:#f7f6f2!important;
    background-color:#f7f6f2!important;
    border-bottom-color:rgba(21,22,17,.12)!important;
  }
  .site-header nav .mobile-menu-social{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:18px!important;
    margin-top:auto!important;
    padding:30px 0 4px!important;
    border-top:0!important;
    color:#151611!important;
  }
  .site-header nav .mobile-menu-social a{
    display:grid!important;
    place-items:center!important;
    width:50px!important;
    height:50px!important;
    min-height:50px!important;
    padding:0!important;
    border:1px solid rgba(21,22,17,.24)!important;
    border-radius:50%!important;
    color:#151611!important;
    background:transparent!important;
  }
  .site-header nav .mobile-menu-social a:first-child{border-top:1px solid rgba(21,22,17,.24)!important}
  .site-header nav .mobile-menu-social a:after{display:none!important}
  .site-header nav .mobile-menu-social svg{width:21px!important;height:21px!important}
}


/* Homepage v5.33 — guaranteed opaque mobile navigation backdrop.
   The full-screen cream layer sits above hero/slides and below the menu/header content,
   so large slide titles can never bleed through the opened menu. */
@media (max-width:760px) {
  body.menu-open::before{
    content:""!important;
    position:fixed!important;
    inset:0!important;
    z-index:1000!important;
    background:#f7f6f2!important;
    opacity:1!important;
    pointer-events:none!important;
  }
  body.menu-open .site-header{
    z-index:1002!important;
    background:#f7f6f2!important;
    background-color:#f7f6f2!important;
    background-image:none!important;
  }
  body.menu-open .site-header nav{
    z-index:1001!important;
    background:#f7f6f2!important;
    background-color:#f7f6f2!important;
    background-image:none!important;
    opacity:1!important;
    isolation:isolate!important;
  }
}


/* Homepage v5.37 — contact form colours are driven by Studio settings.
   v5.36 accidentally wrote literal "\n" characters into this stylesheet,
   preventing these rules from being parsed by the browser. */
.contact.contact-story form label{
  color:var(--contact-label-color,#706c65)!important;
}
.contact.contact-story input,
.contact.contact-story textarea{
  color:var(--contact-field-text-color,#1d1d19)!important;
  border-bottom-color:var(--contact-line-color,#bdb9b0)!important;
}
.contact.contact-story input:focus,
.contact.contact-story textarea:focus{
  border-bottom-color:var(--contact-button-color,#1d1d19)!important;
}
.contact.contact-story button[type="submit"]{
  color:var(--contact-button-color,#1d1d19)!important;
  border-color:var(--contact-button-color,#1d1d19)!important;
  background:transparent!important;
}
.contact.contact-story button[type="submit"]:hover,
.contact.contact-story button[type="submit"]:focus-visible{
  background:var(--contact-button-color,#1d1d19)!important;
  color:var(--contact-bg,#f7f6f2)!important;
}

/* v5.38 — editable typography, header identity controls, and reference-style Places globe */
.hero-panel-copy strong{font-family:var(--hero-title-font,var(--serif))!important}
.hero-panel-copy small{font-family:var(--hero-subtitle-font,var(--sans))!important}
.hero-panel-copy em{font-style:italic;color:inherit}
.highlights header h2{font-family:var(--highlights-title-font,var(--serif))!important}
.highlights .highlights-description{font-family:var(--highlights-subtitle-font,var(--sans))!important}
.highlights header em{color:var(--highlights-accent-color,#9d4936);font-style:italic}










.contact-story-intro h2{font-family:var(--contact-title-font,var(--serif))!important}
.contact-story-intro .contact-story-body{font-family:var(--contact-body-font,var(--sans))!important}
.contact-story-form-wrap,.contact-story-form-wrap input,.contact-story-form-wrap textarea,.contact-story-form-wrap button{font-family:var(--contact-form-font,var(--sans))!important}
.contact-story-intro em{color:var(--contact-accent-color,#f7f2ea);font-style:italic}

.site-header .brand-meta{display:flex;align-items:center;gap:14px;min-width:0}
.site-header .header-inline-social{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.site-header .header-inline-social a{display:grid;place-items:center;width:28px;height:28px;border:1px solid currentColor;border-radius:50%;color:inherit;opacity:.9}
.site-header .header-inline-social svg{width:13px;height:13px}
.site-header .header-inline-social a:hover,.site-header .header-inline-social a:focus-visible{opacity:1;transform:translateY(-1px)}
@media(max-width:900px){.site-header .header-inline-social{display:none!important}}

.places-reference-page{background:var(--places-bg,#f4f1ea);color:var(--places-title-color,#171714);min-height:100vh;padding-top:clamp(112px,9vw,150px)}
.places-reference-intro{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:clamp(40px,8vw,130px);align-items:end;padding:clamp(34px,6vw,92px) clamp(24px,5vw,76px) clamp(42px,6vw,90px);border-bottom:1px solid rgba(23,23,20,.18)}
.places-reference-intro h1{margin:0;font-family:var(--places-title-font,var(--serif));font-size:clamp(96px,15vw,230px);font-weight:400;line-height:.72;letter-spacing:-.075em;color:var(--places-title-color,#171714)}
.places-reference-intro h1 em{color:var(--places-accent,#9d4936);font-style:italic}
.places-reference-intro p{max-width:650px;margin:0 0 10px;font-family:var(--places-body-font,var(--sans));font-size:clamp(16px,1.55vw,24px);line-height:1.58;color:var(--places-body-color,#5c574f)}
.places-reference-intro p em{color:var(--places-accent,#9d4936);font-style:normal}
.places-globe-section{display:grid;grid-template-columns:minmax(220px,.6fr) minmax(420px,1.3fr) minmax(260px,.7fr);gap:clamp(24px,4vw,64px);align-items:center;min-height:82svh;padding:clamp(52px,7vw,100px) clamp(24px,5vw,76px);background:var(--places-panel-bg,#fbfaf7)}
.places-globe-copy h2{margin:12px 0 18px;font-family:var(--places-title-font,var(--serif));font-size:clamp(50px,6vw,96px);font-weight:400;line-height:.88;letter-spacing:-.055em;color:var(--places-title-color,#171714)}
.places-globe-copy>p:last-child,.places-globe-detail>p:last-child{font-family:var(--places-body-font,var(--sans));font-size:14px;line-height:1.7;color:var(--places-body-color,#5c574f)}
.places-kicker{margin:0;font:600 10px/1.2 var(--places-body-font,var(--sans));letter-spacing:.18em;text-transform:uppercase;color:var(--places-accent,#9d4936)}
.places-globe-wrap{position:relative;display:grid;place-items:center;min-height:520px;aspect-ratio:1;background:var(--places-globe-bg,#1d211b);border-radius:50%;overflow:hidden;box-shadow:0 26px 80px rgba(20,20,18,.16)}
#places-globe{display:block;width:100%;height:100%;cursor:grab;touch-action:none}
#places-globe:active{cursor:grabbing}
.places-globe-status{position:absolute;left:50%;bottom:5%;transform:translateX(-50%);max-width:80%;padding:8px 14px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(0,0,0,.25);backdrop-filter:blur(8px);color:#fff;font:500 10px/1.2 var(--places-body-font,var(--sans));letter-spacing:.08em;text-transform:uppercase;text-align:center;pointer-events:none}
.places-globe-detail{align-self:center;padding:26px 0;border-top:1px solid rgba(23,23,20,.18);border-bottom:1px solid rgba(23,23,20,.18)}
.places-globe-detail h3{margin:10px 0 16px;font-family:var(--places-title-font,var(--serif));font-size:clamp(36px,4vw,64px);font-weight:400;line-height:.9;letter-spacing:-.04em}
.places-globe-detail .globe-story-links{display:grid;gap:8px;margin-top:20px}.places-globe-detail .globe-story-links a{font-family:var(--places-body-font,var(--sans));font-size:12px;color:inherit;text-decoration:none;border-bottom:1px solid rgba(23,23,20,.18);padding-bottom:8px}.places-globe-detail .globe-story-links a:hover{color:var(--places-accent,#9d4936)}
.places-index{display:flex;gap:10px;overflow-x:auto;padding:24px clamp(24px,5vw,76px);border-top:1px solid rgba(23,23,20,.12);border-bottom:1px solid rgba(23,23,20,.12);scrollbar-width:thin}
.places-index button{flex:0 0 auto;min-width:150px;padding:13px 16px;border:1px solid rgba(23,23,20,.18);border-radius:999px;background:transparent;color:var(--places-title-color,#171714);text-align:left;cursor:pointer}
.places-index button span{display:block;font:600 8px/1.1 var(--places-body-font,var(--sans));letter-spacing:.13em;text-transform:uppercase;color:var(--places-accent,#9d4936)}
.places-index button strong{display:block;margin-top:3px;font:500 16px/1.1 var(--places-title-font,var(--serif))}.places-index button:hover,.places-index button.is-active{background:var(--places-title-color,#171714);color:var(--places-panel-bg,#fbfaf7)}
.places-story-grid{padding:clamp(52px,7vw,100px) clamp(24px,5vw,76px);display:grid;gap:clamp(50px,8vw,120px)}
.places-story-place{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(28px,5vw,80px);align-items:start;padding-bottom:clamp(48px,7vw,100px);border-bottom:1px solid rgba(23,23,20,.16)}
.places-story-place>img{width:100%;aspect-ratio:4/3;object-fit:cover}.places-story-place>div>p:first-child{margin:0 0 14px;font:600 9px/1.2 var(--places-body-font,var(--sans));letter-spacing:.16em;text-transform:uppercase;color:var(--places-accent,#9d4936)}
.places-story-place h2{margin:0;font:400 clamp(58px,7vw,112px)/.82 var(--places-title-font,var(--serif));letter-spacing:-.06em}.places-story-note{max-width:600px;margin:24px 0;font:400 15px/1.65 var(--places-body-font,var(--sans));color:var(--places-body-color,#5c574f)}
.places-connected-links{display:grid;gap:0;margin-top:26px;border-top:1px solid rgba(23,23,20,.16)}.places-connected-links a{display:grid;grid-template-columns:100px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid rgba(23,23,20,.16);color:inherit;text-decoration:none}.places-connected-links small{font:600 8px/1.3 var(--places-body-font,var(--sans));letter-spacing:.13em;text-transform:uppercase;color:var(--places-accent,#9d4936)}.places-connected-links span{font:500 18px/1.2 var(--places-title-font,var(--serif))}.places-connected-links a:hover span{color:var(--places-accent,#9d4936)}
@media(max-width:1000px){.places-globe-section{grid-template-columns:1fr 1.3fr}.places-globe-detail{grid-column:1/-1}.places-globe-wrap{min-height:420px}.places-story-place{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.places-reference-page{padding-top:84px}.places-reference-intro{grid-template-columns:1fr;gap:30px;padding:48px 20px}.places-reference-intro h1{font-size:clamp(86px,28vw,132px)}.places-reference-intro p{font-size:16px}.places-globe-section{grid-template-columns:1fr;min-height:0;padding:44px 20px 54px}.places-globe-copy{order:1}.places-globe-wrap{order:2;min-height:0;width:100%;max-width:520px;margin:auto}.places-globe-detail{order:3}.places-index{padding:18px 20px}.places-story-grid{padding:54px 20px}.places-story-place{grid-template-columns:1fr;gap:26px}.places-story-place h2{font-size:clamp(58px,18vw,92px)}}
.site-footer .footer-name{font-family:var(--footer-name-font,var(--sans))!important}
.site-footer .footer-email,.site-footer .footer-follow>p{font-family:var(--footer-body-font,var(--sans))!important}

/* v5.38.1 — hero typography colours are editable in Studio. */
.hero-panel-copy strong{color:var(--hero-title-color,#f7f4ec)!important}
.hero-panel-copy small{color:var(--hero-subtitle-color,#f7f4ec)!important}
.hero-panel-copy em{color:var(--hero-accent-color,#f7f4ec)!important}

/* v5.38.2 — footer palette is editable in Studio. */
.site-footer{background:var(--footer-bg,#1d211b)!important}
.site-footer .footer-name{color:var(--footer-name-color,#f4f0e8)!important}
.site-footer .footer-email,.site-footer .footer-email a,.site-footer .footer-follow>p{color:var(--footer-body-color,#d6d4cc)!important}
.site-footer .header-social.footer-social a{color:var(--footer-icon-color,#f4f0e8)!important;border-color:var(--footer-icon-color,#f4f0e8)!important}

/* v5.39 — one global typography system + Places page restored toward the original geographic-globe direction. */
body{font-family:var(--font-body,Montserrat,Arial,sans-serif)}


.highlight-title,.story-grid h2,.people-reference-hover,.places-story-place h2,.places-map-selected h3,.places-connected-links span,.footer-name{font-family:var(--font-heading,"Cormorant Garamond",Georgia,serif)!important}



/* Places: reference-like introduction. */
.places-reference-page{padding-top:0!important;background:var(--places-bg,#f4f1ea)!important;color:var(--places-title-color,#171714)}
.places-reference-intro{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important;gap:clamp(48px,8vw,140px)!important;align-items:center!important;min-height:228px!important;padding:clamp(54px,6.5vw,96px) clamp(28px,5vw,82px) clamp(46px,5.5vw,78px)!important;border-bottom:1px solid rgba(23,23,20,.17)!important;background:var(--places-bg,#f4f1ea)!important}
.places-reference-intro h1{margin:0!important;font-family:var(--font-title,var(--places-title-font))!important;font-size:clamp(72px,7.6vw,122px)!important;font-weight:400!important;line-height:.84!important;letter-spacing:-.06em!important;color:var(--places-title-color,#171714)!important}
.places-reference-intro p{max-width:690px!important;margin:0!important;font-family:var(--font-body,var(--places-body-font))!important;font-size:clamp(15px,1.25vw,20px)!important;line-height:1.62!important;color:var(--places-body-color,#5c574f)!important}

/* Places: large geographic globe + narrative panel, matching the original visual hierarchy. */
.places-map-section{display:grid;grid-template-columns:minmax(0,3fr) minmax(310px,1fr);min-height:clamp(620px,73svh,820px);background:var(--places-panel-bg,#eee9df);border-bottom:1px solid rgba(23,23,20,.17)}
.places-globe-area{position:relative;display:grid;place-items:center;min-width:0;overflow:hidden;padding:58px clamp(24px,4vw,62px) 24px}
.places-map-instruction{position:absolute;z-index:4;top:30px;left:30px;margin:0;color:var(--places-title-color,#171714);font-size:10px;line-height:1.3;letter-spacing:.16em;text-transform:uppercase}
.places-globe-wrap{position:relative;width:min(92%,760px);aspect-ratio:1;margin:auto;overflow:visible;background:transparent!important;border-radius:0!important;box-shadow:none!important;min-height:0!important}
#places-globe,#places-globe-overlay{position:absolute;inset:0;display:block;width:100%;height:100%;background:transparent}
#places-globe{cursor:grab;touch-action:none}
#places-globe:active{cursor:grabbing}
#places-globe-overlay{pointer-events:none}
.places-globe-status{position:absolute;z-index:5;left:50%;bottom:2.5%;transform:translateX(-50%);max-width:82%;padding:7px 12px;border:1px solid rgba(23,23,20,.22);border-radius:2px;background:rgba(244,241,234,.9);backdrop-filter:blur(5px);color:var(--places-title-color,#171714);font:500 9px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.1em;text-transform:uppercase;text-align:center;pointer-events:none;opacity:.82}
.places-map-story{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(56px,6vw,96px) clamp(34px,4.5vw,72px);border-left:1px solid rgba(23,23,20,.17);background:var(--places-bg,#f4f1ea)}
.places-kicker{margin:0 0 28px;color:var(--places-accent,#9d4936);font:600 10px/1.3 var(--font-subtitle,Montserrat,Arial,sans-serif);letter-spacing:.16em;text-transform:uppercase}
.places-map-story>h2{max-width:380px;margin:0;font-family:var(--font-title,var(--places-title-font))!important;font-size:clamp(54px,4.5vw,82px);font-weight:400;line-height:.84;letter-spacing:-.055em;color:var(--places-title-color,#171714)}
.places-map-story-body{max-width:390px;margin:28px 0 0;font:400 15px/1.7 var(--font-body,Montserrat,Arial,sans-serif);color:var(--places-body-color,#5c574f)}
.places-map-selected{margin-top:38px;padding-top:24px;border-top:1px solid rgba(23,23,20,.18)}
.places-map-selected:empty{display:none}
.places-map-selected .selected-country-label{margin:0 0 8px;color:var(--places-accent,#9d4936);font:600 9px/1.3 var(--font-subtitle,Montserrat,Arial,sans-serif);letter-spacing:.15em;text-transform:uppercase}
.places-map-selected h3{margin:0 0 14px;font:400 clamp(34px,3vw,52px)/.9 var(--font-heading,"Cormorant Garamond",Georgia,serif);letter-spacing:-.04em}
.places-map-selected>p{margin:0 0 18px;color:var(--places-body-color,#5c574f);font:400 13px/1.6 var(--font-body,Montserrat,Arial,sans-serif)}
.places-map-city-list{display:grid;gap:0;border-top:1px solid rgba(23,23,20,.13)}
.places-map-city-list button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin:0;padding:12px 0;border:0;border-bottom:1px solid rgba(23,23,20,.13);background:transparent;color:var(--places-title-color,#171714);font-size:11px;text-align:left;cursor:pointer}
.places-map-city-list button:hover,.places-map-city-list button.is-active{color:var(--places-accent,#9d4936)}
.places-map-city-list button span:last-child{font-size:13px}
.places-map-place-detail{margin-top:18px}
.places-map-place-detail h4{margin:0 0 8px;font:400 26px/.95 var(--font-heading,"Cormorant Garamond",Georgia,serif)}
.places-map-place-detail p{margin:0;color:var(--places-body-color,#5c574f);font:400 12px/1.55 var(--font-body,Montserrat,Arial,sans-serif)}
.places-map-place-detail .globe-story-links{display:grid;gap:0;margin-top:14px;border-top:1px solid rgba(23,23,20,.13)}
.places-map-place-detail .globe-story-links a{display:flex;gap:9px;padding:10px 0;border-bottom:1px solid rgba(23,23,20,.13);font:500 10px/1.4 var(--font-ui,Montserrat,Arial,sans-serif)}
.places-map-place-detail .globe-story-links small{color:var(--places-accent,#9d4936);text-transform:uppercase}

.places-index{display:flex!important;gap:0!important;overflow-x:auto;padding:0 clamp(20px,5vw,80px)!important;border-bottom:1px solid rgba(23,23,20,.17);background:var(--places-bg,#f4f1ea)}
.places-index button{flex:0 0 auto;min-width:180px;padding:20px 26px!important;border:0!important;border-right:1px solid rgba(23,23,20,.15)!important;background:transparent!important;text-align:left!important;color:var(--places-title-color,#171714)!important}
.places-index button span{display:block;margin-bottom:6px;color:var(--places-accent,#9d4936);font:600 8px/1.2 var(--font-subtitle,Montserrat,Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase}
.places-index button strong{font:400 23px/1 var(--font-heading,"Cormorant Garamond",Georgia,serif)}
.places-index button.is-active strong{color:var(--places-accent,#9d4936)}
.places-story-grid{background:var(--places-bg,#f4f1ea)}

@media(max-width:1000px){
  .places-map-section{grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr)}
  .places-globe-wrap{width:min(96%,650px)}
  .places-map-story{padding-inline:34px}
}
@media(max-width:720px){
  .places-reference-intro{grid-template-columns:1fr!important;gap:24px!important;min-height:0!important;padding:46px 20px 44px!important}
  .places-reference-intro h1{font-size:clamp(72px,24vw,108px)!important}
  .places-reference-intro p{font-size:15px!important}
  .places-map-section{grid-template-columns:1fr;min-height:0}
  .places-globe-area{padding:54px 12px 20px}
  .places-map-instruction{top:22px;left:20px;font-size:8px}
  .places-globe-wrap{width:min(100%,560px)}
  .places-globe-status{font-size:8px}
  .places-map-story{padding:50px 22px 58px;border-left:0;border-top:1px solid rgba(23,23,20,.17)}
  .places-map-story>h2{font-size:clamp(50px,15vw,76px)}
  .places-map-story-body{font-size:14px}
}
:root{--serif:var(--font-title,"Cormorant Garamond",Georgia,serif);--sans:var(--font-body,Montserrat,Arial,sans-serif)}
.brand-line{font-family:var(--font-subtitle,Montserrat,Arial,sans-serif)!important}
.places-globe-status{opacity:0!important}

/* v5.40 — Places: reference-style editorial globe + browse-by-continent list. */
.places-map-section{
  display:grid!important;
  grid-template-columns:minmax(190px,.5fr) minmax(500px,2fr) minmax(310px,.8fr)!important;
  min-height:clamp(650px,76svh,850px)!important;
  background:var(--places-panel-bg,#eee9df)!important;
  border-bottom:1px solid rgba(23,23,20,.16)!important;
}
.places-country-browser{min-width:0;padding:34px 0 32px clamp(22px,3.2vw,48px);border-right:1px solid rgba(23,23,20,.13);background:var(--places-panel-bg,#eee9df);overflow:auto;scrollbar-width:thin}
.places-country-browser-head{padding:0 22px 24px 0;border-bottom:1px solid rgba(23,23,20,.14)}
.places-country-browser-head p{margin:0 0 8px;color:var(--places-accent,#9d4936);font:600 10px/1.2 var(--font-subtitle,Montserrat,Arial,sans-serif);letter-spacing:.16em;text-transform:uppercase}
.places-country-browser-head span{display:block;max-width:190px;color:var(--places-body-color,#5c574f);font:400 12px/1.55 var(--font-body,Montserrat,Arial,sans-serif)}
.places-country-list{display:grid;gap:0;padding-right:22px}
.places-continent-group{padding:20px 0 12px;border-bottom:1px solid rgba(23,23,20,.12)}
.places-continent-group h3{margin:0 0 8px;color:var(--places-title-color,#171714);font:500 13px/1.2 var(--font-heading,"Cormorant Garamond",Georgia,serif);letter-spacing:.01em}
.places-continent-group>div{display:grid;gap:0}
.places-continent-group button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:34px;margin:0;padding:6px 0;border:0;background:transparent;color:var(--places-body-color,#5c574f);font:500 10px/1.3 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.075em;text-align:left;text-transform:uppercase;cursor:pointer}
.places-continent-group button span:last-child{font-size:13px;font-weight:400}
.places-continent-group button:hover,.places-continent-group button.is-active{color:var(--places-accent,#9d4936)}
.places-globe-area{position:relative!important;display:grid!important;place-items:center!important;min-width:0!important;overflow:hidden!important;padding:62px clamp(20px,2.4vw,42px) 26px!important;background:var(--places-panel-bg,#eee9df)!important}
.places-map-instruction{top:28px!important;left:28px!important}
.places-globe-wrap{position:relative!important;width:min(96%,760px)!important;aspect-ratio:1!important;margin:auto!important;overflow:visible!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;min-height:0!important}
#places-globe,#places-globe-overlay{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;background:transparent!important}
#places-globe-overlay{pointer-events:none!important}
.places-globe-labels{position:absolute;inset:0;z-index:6;pointer-events:none}
.places-country-chip{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;min-height:38px;margin:0!important;padding:8px 12px!important;border:1px solid rgba(23,23,20,.27)!important;border-radius:0!important;background:rgba(244,241,234,.95)!important;color:var(--places-title-color,#171714)!important;box-shadow:0 4px 14px rgba(23,23,20,.06);font:500 10px/1 var(--font-ui,Montserrat,Arial,sans-serif)!important;letter-spacing:.085em;text-transform:uppercase;white-space:nowrap;pointer-events:auto!important;cursor:pointer!important}
.places-country-chip b{display:grid;place-items:center;width:18px;height:18px;border:1px solid rgba(23,23,20,.4);border-radius:50%;font:400 12px/1 Arial,sans-serif}
.places-country-chip:hover,.places-country-chip.is-active{border-color:var(--places-accent,#9d4936)!important;color:var(--places-accent,#9d4936)!important;background:rgba(244,241,234,.99)!important}
.places-country-chip.is-active b{border-color:currentColor}
.places-globe-status{bottom:1.6%!important;z-index:7!important}
.places-map-story{display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important;padding:clamp(46px,5vw,78px) clamp(28px,3.6vw,56px)!important;border-left:1px solid rgba(23,23,20,.16)!important;background:var(--places-bg,#f4f1ea)!important}
.places-map-story>h2{font-size:clamp(48px,4.05vw,74px)!important;max-width:340px!important}
.places-map-story-body{font-size:14px!important;max-width:340px!important}
.places-map-selected{margin-top:32px!important;padding-top:20px!important}
.places-index{display:none!important}
@media(max-width:1180px){
  .places-map-section{grid-template-columns:190px minmax(390px,1.65fr) minmax(280px,.8fr)!important}
  .places-country-browser{padding-left:22px}.places-globe-wrap{width:min(100%,650px)!important}.places-map-story{padding-inline:28px!important}
}
@media(max-width:920px){
  .places-map-section{grid-template-columns:1fr!important;min-height:0!important}
  .places-country-browser{order:1;padding:22px 20px 18px;border-right:0;border-bottom:1px solid rgba(23,23,20,.14);overflow:visible}
  .places-country-browser-head{padding:0 0 16px}.places-country-browser-head span{max-width:none}.places-country-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;padding:0}.places-continent-group{padding:14px 0 10px}
  .places-globe-area{order:2;padding:52px 18px 20px!important}.places-globe-wrap{width:min(94vw,680px)!important}.places-map-instruction{top:18px!important;left:20px!important}
  .places-map-story{order:3;padding:48px 22px 58px!important;border-left:0!important;border-top:1px solid rgba(23,23,20,.16)!important}.places-map-story>h2{max-width:500px!important}
}
@media(max-width:560px){
  .places-country-list{grid-template-columns:1fr}.places-country-browser{padding-top:18px}.places-globe-area{padding-inline:8px!important}.places-globe-wrap{width:100%!important}.places-country-chip{min-height:31px!important;padding:6px 8px!important;gap:7px!important;font-size:8px!important}.places-country-chip b{width:15px;height:15px;font-size:10px}.places-globe-status{font-size:7px!important}.places-map-story>h2{font-size:clamp(46px,14vw,70px)!important}
}

/* v5.40 header visibility fix: this later rule intentionally overrides a legacy .desktop-social hide. */
.site-header .header-inline-social.desktop-social{display:flex!important}
@media(max-width:900px){.site-header .header-inline-social.desktop-social{display:none!important}}

/* v5.40 refinements: quiet, narrow continent browser and stable country selection. */
.places-country-browser{overscroll-behavior:contain}
.places-continent-group h3{text-transform:uppercase;letter-spacing:.11em;font-family:var(--font-subtitle,Montserrat,Arial,sans-serif)!important;font-size:9px!important;font-weight:600!important;color:var(--places-accent,#9d4936)!important}
.places-continent-group button{transition:color .16s ease,padding-left .16s ease}
.places-continent-group button:hover,.places-continent-group button.is-active{padding-left:4px}
.places-map-selected:not(:empty){animation:placesDetailIn .22s ease both}
@keyframes placesDetailIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

/* v5.40 — uploaded logo sizing is controlled from Studio and wins over legacy header sizes. */
.site-header .brand img{width:var(--site-logo-width-desktop,190px)!important;max-width:none!important;max-height:none!important;height:auto!important;object-fit:contain!important}
@media (max-width:760px) {.site-header .brand img{width:var(--site-logo-width-mobile,145px)!important}}

/* v5.40 final — cleaner Places browser. Only countries that exist in Studio are listed. */
@media(min-width:921px){
  .places-map-section{grid-template-columns:205px minmax(520px,1fr) minmax(300px,360px)!important;min-height:clamp(620px,74svh,820px)!important}
  .places-country-browser{padding:30px 0 28px 28px!important}
  .places-country-list{padding-right:20px!important}
  .places-globe-area{padding:52px 20px 20px!important}
  .places-globe-wrap{width:min(96%,720px)!important}
  .places-map-story{padding:48px 34px!important}
}
.places-country-entry{border-top:1px solid rgba(23,23,20,.08)}
.places-country-entry:first-child{border-top:0}
.places-continent-group .places-country-choice{min-height:38px!important;padding:8px 0!important;font-size:10px!important}
.places-continent-group .places-country-choice[aria-expanded="true"]{color:var(--places-accent,#9d4936)!important;padding-left:4px!important}
.places-country-inline-cities{display:grid;padding:0 0 9px 10px}
.places-country-inline-cities[hidden]{display:none!important}
.places-continent-group .places-country-inline-cities button{min-height:29px!important;padding:4px 0!important;color:var(--places-body-color,#5c574f)!important;font-size:9px!important;letter-spacing:.04em!important;text-transform:none!important}
.places-continent-group .places-country-inline-cities button:hover{color:var(--places-accent,#9d4936)!important;padding-left:3px!important}
.places-country-browser-head span{max-width:160px!important}
.places-country-chip{z-index:8!important}

/* v5.40 release — logo size must win on both overlay and internal headers. */
.site-header .brand img,
.site-header.overlay .brand img{
  width:var(--site-logo-width-desktop,190px)!important;
  max-width:none!important;
  max-height:none!important;
  height:auto!important;
  object-fit:contain!important;
}
@media (max-width:760px) {
  .site-header .brand img,
  .site-header.overlay .brand img{width:var(--site-logo-width-mobile,145px)!important}
}


/* v5.41 — Work is a services/collaboration page, matching the approved reference direction. */
.work-reference-page{background:var(--work-page-bg,#f4f1ea);color:var(--work-title-color,#171714)}
.work-services-intro{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.85fr);gap:clamp(50px,9vw,160px);align-items:end;padding:clamp(105px,10vw,165px) clamp(28px,5vw,82px) clamp(64px,6vw,92px);border-bottom:1px solid var(--work-line,#d0ccc3)}
.work-services-intro h1{max-width:760px;margin:0;font-family:var(--font-title,"Cormorant Garamond",Georgia,serif);font-size:clamp(72px,7.2vw,128px);font-weight:400;line-height:.88;letter-spacing:-.055em;color:var(--work-title-color,#171714)}
.work-services-intro h1 em{color:var(--work-accent,#b76048);font-style:italic}.work-services-intro>p{max-width:650px;margin:0 0 4px;font-family:var(--font-body,Montserrat,Arial,sans-serif);font-size:clamp(15px,1.15vw,19px);line-height:1.65;color:var(--work-body-color,#5c574f)}
.work-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 clamp(28px,5vw,82px) clamp(78px,7vw,112px);background:var(--work-page-bg,#f4f1ea)}
.work-service-card{display:flex;min-height:330px;flex-direction:column;padding:38px 34px 32px;border-right:1px solid var(--work-line,#d0ccc3);border-bottom:1px solid var(--work-line,#d0ccc3);background:var(--work-card-bg,#f4f1ea)}.work-service-card:first-child{border-left:1px solid var(--work-line,#d0ccc3)}
.work-service-number{margin:0 0 12px;color:var(--work-accent,#b76048);font-family:var(--font-subtitle,Montserrat,Arial,sans-serif);font-size:10px;letter-spacing:.08em}.work-service-card h2{margin:0 0 24px;font-family:var(--font-heading,"Cormorant Garamond",Georgia,serif);font-size:clamp(31px,2.55vw,47px);font-weight:400;line-height:.95;letter-spacing:-.04em}.work-service-card h2 em{color:var(--work-accent,#b76048);font-style:italic}.work-service-copy{margin:0;color:var(--work-body-color,#5c574f);font-family:var(--font-body,Montserrat,Arial,sans-serif);font-size:15px;line-height:1.65}.work-service-card>a{display:inline-block;margin-top:auto;padding-top:26px;font-family:var(--font-ui,Montserrat,Arial,sans-serif);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.work-service-card>a:hover{color:var(--work-accent,#b76048)}
.work-related{padding:clamp(80px,8vw,130px) clamp(28px,5vw,82px);border-top:1px solid var(--work-line,#d0ccc3);background:var(--work-page-bg,#f4f1ea)}.work-related>header{display:grid;grid-template-columns:1fr 2fr;align-items:end;margin-bottom:40px}.work-related>header p{margin:0;color:var(--work-accent,#b76048);font:500 10px/1.3 var(--font-subtitle,Montserrat,Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase}.work-related>header h2{margin:0;font:400 clamp(50px,5vw,88px)/.9 var(--font-title,"Cormorant Garamond",Georgia,serif);letter-spacing:-.05em}.work-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--work-line,#d0ccc3)}.work-related-grid>a{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(0,1fr);gap:24px;padding:26px 0;border-bottom:1px solid var(--work-line,#d0ccc3)}.work-related-grid>a:nth-child(odd){padding-right:30px;border-right:1px solid var(--work-line,#d0ccc3)}.work-related-grid>a:nth-child(even){padding-left:30px}.work-related-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.work-related-grid h3{margin:0 0 10px;font:400 clamp(28px,2.4vw,42px)/.98 var(--font-heading,"Cormorant Garamond",Georgia,serif)}.work-related-grid p{margin:0;color:var(--work-body-color,#5c574f);font:400 14px/1.6 var(--font-body,Montserrat,Arial,sans-serif)}
.work-contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(70px,10vw,170px);min-height:700px;padding:clamp(90px,8vw,125px) clamp(28px,5vw,82px);background:var(--work-contact-bg,#b96349);color:var(--work-contact-title,#f7f2ea)}.work-contact-copy{display:flex;flex-direction:column}.work-contact-kicker{margin:0 0 46px!important;font-family:var(--font-subtitle,Montserrat,Arial,sans-serif)!important;font-size:10px!important;line-height:1.4!important;letter-spacing:.16em!important;text-transform:uppercase;color:var(--work-contact-title,#f7f2ea)!important}.work-contact-copy h2{max-width:620px;margin:0;font-family:var(--font-title,"Cormorant Garamond",Georgia,serif);font-size:clamp(64px,5.6vw,102px);font-weight:400;line-height:.87;letter-spacing:-.055em;color:var(--work-contact-title,#f7f2ea)}.work-contact-copy h2 em{font-style:italic}.work-contact-copy>p:last-child{max-width:590px;margin:34px 0 0;font-family:var(--font-body,Montserrat,Arial,sans-serif);font-size:16px;line-height:1.7;color:var(--work-contact-body,#f1ded3)}
.work-contact-form-wrap{padding-top:4px}.work-contact-form-wrap form{display:grid;grid-template-columns:1fr 1fr;gap:28px 34px}.work-contact-form-wrap label{display:grid;gap:10px;color:var(--work-contact-title,#f7f2ea);font-family:var(--font-subtitle,Montserrat,Arial,sans-serif);font-size:9px;letter-spacing:.13em;text-transform:uppercase}.work-contact-form-wrap .wide{grid-column:1/-1}.work-contact-form-wrap input,.work-contact-form-wrap select,.work-contact-form-wrap textarea{width:100%;border:0;border-bottom:1px solid var(--work-contact-line,#e8bca9);border-radius:0;outline:0;background:transparent;padding:12px 0;color:var(--work-contact-title,#f7f2ea);font:400 16px/1.4 var(--font-body,Montserrat,Arial,sans-serif);resize:vertical}.work-contact-form-wrap select{appearance:auto}.work-contact-form-wrap select option{color:#171714;background:#fff}.work-contact-form-wrap textarea{min-height:130px}.work-contact-form-wrap button{grid-column:1/-1;justify-self:start;margin-top:0;padding:14px 24px;border:1px solid var(--work-contact-button,#f7f2ea);background:transparent;color:var(--work-contact-button,#f7f2ea);font-family:var(--font-ui,Montserrat,Arial,sans-serif);font-size:10px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.work-contact-form-wrap button:hover{background:var(--work-contact-button,#f7f2ea);color:var(--work-contact-bg,#b96349)}.work-form-success,.work-form-error{margin:0 0 24px;font:500 13px/1.5 var(--font-body,Montserrat,Arial,sans-serif);color:var(--work-contact-title,#f7f2ea)}
@media(max-width:1050px){.work-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-service-card:nth-child(3){border-left:1px solid var(--work-line,#d0ccc3)}.work-contact{gap:60px}}
@media (max-width:760px) {.work-services-intro{grid-template-columns:1fr;gap:30px;padding:72px 20px 48px}.work-services-intro h1{font-size:clamp(64px,20vw,92px)}.work-services-intro>p{font-size:15px}.work-service-grid{grid-template-columns:1fr;padding:0 20px 64px}.work-service-card,.work-service-card:first-child,.work-service-card:nth-child(3){min-height:0;border-left:1px solid var(--work-line,#d0ccc3);padding:30px 26px}.work-service-card h2{font-size:40px}.work-service-copy{font-size:14px}.work-related{padding:64px 20px}.work-related>header{grid-template-columns:1fr;gap:12px}.work-related-grid{grid-template-columns:1fr}.work-related-grid>a,.work-related-grid>a:nth-child(odd),.work-related-grid>a:nth-child(even){grid-template-columns:120px 1fr;padding:22px 0;border-right:0}.work-contact{grid-template-columns:1fr;gap:54px;min-height:0;padding:70px 20px}.work-contact-kicker{margin-bottom:30px!important}.work-contact-copy h2{font-size:clamp(58px,18vw,82px)}.work-contact-copy>p:last-child{font-size:15px}.work-contact-form-wrap form{grid-template-columns:1fr;gap:24px}.work-contact-form-wrap .wide,.work-contact-form-wrap button{grid-column:1}.work-contact-form-wrap textarea{min-height:110px}}


/* v5.42 — Work cards are independent cards, not a joined table. */
.work-service-grid{gap:clamp(10px,1vw,16px)!important;padding-top:0!important}
.work-service-card,.work-service-card:first-child,.work-service-card:nth-child(3){border:1px solid var(--work-line,#d0ccc3)!important;min-height:330px!important}
.work-service-card>a,.work-service-explore{align-self:flex-start;margin-top:auto;padding:26px 0 0;border:0;background:transparent;color:var(--work-title-color,#171714);font:500 10px/1.3 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;text-align:left}
.work-service-card>a:hover,.work-service-explore:hover{color:var(--work-accent,#b76048)}
.work-related{display:none!important}
body.work-modal-open{overflow:hidden}
.work-modal[hidden]{display:none!important}.work-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:clamp(20px,4vw,64px)}
.work-modal-backdrop{position:absolute;inset:0;background:rgba(20,20,18,.72);backdrop-filter:blur(3px)}
.work-modal-dialog{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(1180px,92vw);height:min(760px,86svh);overflow:hidden;border:1px solid rgba(23,23,20,.22);background:var(--work-page-bg,#f4f1ea);box-shadow:0 28px 80px rgba(0,0,0,.28)}
.work-modal-head,.work-modal-foot{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:0 34px;border-bottom:1px solid var(--work-line,#d0ccc3)}.work-modal-foot{border-top:1px solid var(--work-line,#d0ccc3);border-bottom:0}
.work-modal-head p,.work-modal-head button,.work-modal-foot,.work-modal-foot button{margin:0;border:0;background:transparent;color:var(--work-title-color,#171714);font:500 9px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase}.work-modal-head button,.work-modal-foot button{cursor:pointer}.work-modal-head button:hover,.work-modal-foot button:hover{color:var(--work-accent,#b76048)}.work-modal-foot>div{display:flex;gap:28px}.work-modal-foot button:disabled{opacity:.35;cursor:default}
.work-modal-stage{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(330px,.83fr);min-height:0}.work-modal-media{min-height:0;overflow:hidden;background:#d8d2c7}.work-modal-media img{width:100%;height:100%;object-fit:cover}.work-modal-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#d8d2c7,#f0ece4)}
.work-modal-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:clamp(42px,4vw,70px);overflow:auto;border-left:1px solid var(--work-line,#d0ccc3)}.work-modal-kicker{margin:0 0 14px;color:var(--work-accent,#b76048);font:600 9px/1.3 var(--font-subtitle,Montserrat,Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase}.work-modal-copy h2{margin:0 0 28px;font:400 clamp(48px,4.1vw,72px)/.9 var(--font-title,"Cormorant Garamond",Georgia,serif);letter-spacing:-.045em}.work-modal-copy>p:not(.work-modal-kicker),.work-modal-body{margin:0 0 20px;color:var(--work-body-color,#5c574f);font:400 15px/1.65 var(--font-body,Montserrat,Arial,sans-serif)}.work-modal-body{max-height:180px;overflow:auto}.work-modal-copy>a{align-self:flex-start;margin-top:10px;padding-bottom:6px;border-bottom:1px solid currentColor;font:500 9px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.11em;text-transform:uppercase}
@media (max-width:760px) {.work-service-grid{gap:12px!important}.work-service-card,.work-service-card:first-child,.work-service-card:nth-child(3){min-height:0!important}.work-modal{padding:12px}.work-modal-dialog{width:100%;height:92svh}.work-modal-head,.work-modal-foot{padding:0 18px}.work-modal-stage{grid-template-columns:1fr;grid-template-rows:minmax(220px,.9fr) minmax(0,1.1fr)}.work-modal-copy{padding:28px 22px;border-left:0;border-top:1px solid var(--work-line,#d0ccc3)}.work-modal-copy h2{font-size:48px}.work-modal-body{max-height:110px}.work-modal-foot>div{gap:12px}}

/* v5.42 — Places remains on the map while drilling down; selected content is dynamic only. */
.places-story-grid{display:none!important}
.places-globe-wrap{isolation:isolate}
.places-country-chip-region{border-color:var(--places-accent,#9d4936)!important;color:var(--places-accent,#9d4936)!important;font-weight:600!important}
.places-country-chip-place{padding:7px 10px!important;background:var(--places-bg,#f4f1ea)!important}
.places-browser-region{padding:4px 0 5px;border-top:1px solid rgba(23,23,20,.08)}.places-browser-region:first-child{border-top:0}.places-continent-group .places-region-choice{min-height:29px!important;padding:4px 0!important;font-size:9px!important;letter-spacing:.08em!important;color:var(--places-title-color,#171714)!important}.places-continent-group .places-region-choice.is-active{color:var(--places-accent,#9d4936)!important}.places-browser-region>div{display:grid;padding-left:10px}.places-continent-group .places-browser-place{min-height:26px!important;padding:3px 0!important;font-size:9px!important;letter-spacing:.02em!important;text-transform:none!important}.places-browser-place.is-active{color:var(--places-accent,#9d4936)!important}
.places-map-detail-actions{margin-bottom:18px}.places-map-detail-actions button{padding:0;border:0;background:transparent;color:var(--places-body-color,#5c574f);font:500 9px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.places-map-detail-actions button:hover{color:var(--places-accent,#9d4936)}.places-map-region-list{display:grid;margin-top:14px;border-top:1px solid rgba(23,23,20,.14)}.places-map-region-list button{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border:0;border-bottom:1px solid rgba(23,23,20,.14);background:transparent;color:var(--places-body-color,#5c574f);font:500 10px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.places-map-region-list button:hover,.places-map-region-list button.is-active{color:var(--places-accent,#9d4936)}
.places-selection-stage{padding:clamp(58px,6vw,92px) clamp(28px,5vw,82px) clamp(72px,7vw,110px);border-top:1px solid rgba(23,23,20,.14);background:var(--places-bg,#f4f1ea)}.places-selection-stage[hidden]{display:none!important}.places-selection-content{max-width:1480px;margin:0 auto}.places-selection-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);column-gap:60px;align-items:end;margin-bottom:42px}.places-selection-head>p{grid-column:1;margin:0 0 10px;color:var(--places-accent,#9d4936);font:600 9px/1.3 var(--font-subtitle,Montserrat,Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase}.places-selection-head h2{grid-column:1;margin:0;font:400 clamp(58px,6vw,100px)/.88 var(--font-title,"Cormorant Garamond",Georgia,serif);letter-spacing:-.05em}.places-selection-head>span{grid-column:2;grid-row:1/3;align-self:end;max-width:560px;color:var(--places-body-color,#5c574f);font:400 15px/1.65 var(--font-body,Montserrat,Arial,sans-serif)}
.places-selection-place-grid,.places-connected-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.places-selection-place-grid button{display:flex;min-height:190px;flex-direction:column;align-items:flex-start;padding:26px;border:1px solid rgba(23,23,20,.16);background:transparent;color:var(--places-title-color,#171714);text-align:left;cursor:pointer}.places-selection-place-grid button:hover{border-color:var(--places-accent,#9d4936)}.places-selection-place-grid small{margin-bottom:16px;color:var(--places-accent,#9d4936);font:600 9px/1.2 var(--font-subtitle,Montserrat,Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase}.places-selection-place-grid strong{font:400 34px/1 var(--font-heading,"Cormorant Garamond",Georgia,serif)}.places-selection-place-grid button>span{margin-top:auto;padding-top:22px;font:500 9px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.1em;text-transform:uppercase}
.places-connected-card-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.places-connected-card{overflow:hidden;border:1px solid rgba(23,23,20,.16);background:var(--places-bg,#f4f1ea)}.places-connected-card>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.places-connected-card>div{padding:24px}.places-connected-card p{margin:0 0 8px;color:var(--places-accent,#9d4936);font:600 9px/1.2 var(--font-subtitle,Montserrat,Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase}.places-connected-card h3{margin:0 0 18px;font:400 38px/1 var(--font-heading,"Cormorant Garamond",Georgia,serif)}.places-connected-card-links{display:grid;border-top:1px solid rgba(23,23,20,.14)}.places-connected-card-links a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid rgba(23,23,20,.14);color:var(--places-body-color,#5c574f);font:500 11px/1.4 var(--font-body,Montserrat,Arial,sans-serif)}.places-connected-card-links a:hover{color:var(--places-accent,#9d4936)}.places-selection-empty{margin:0;color:var(--places-body-color,#5c574f);font:400 15px/1.6 var(--font-body,Montserrat,Arial,sans-serif)}
@media(max-width:900px){.places-selection-head{grid-template-columns:1fr;gap:18px}.places-selection-head>span{grid-column:1;grid-row:auto}.places-selection-place-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.places-selection-stage{padding:50px 20px 64px}.places-selection-place-grid{grid-template-columns:1fr}.places-selection-head h2{font-size:64px}.places-connected-card-grid{grid-template-columns:1fr}.places-selection-place-grid button{min-height:150px}}

/* v5.43 — flexible Work cards, hover interaction, smaller mobile enquiry title. */
.work-service-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))!important;
  gap:clamp(14px,1.4vw,22px)!important;
  padding:0 clamp(28px,5vw,82px) clamp(78px,7vw,112px)!important;
  align-items:stretch!important;
  background:var(--work-page-bg,#f4f1ea)!important;
}
.work-service-card,.work-service-card:first-child,.work-service-card:nth-child(3){
  position:relative!important;
  min-height:clamp(320px,38svh,390px)!important;
  border:1px solid var(--work-line,#d0ccc3)!important;
  background:var(--work-card-bg,#f4f1ea)!important;
  color:var(--work-title-color,#171714)!important;
  transition:background-color .28s ease,color .28s ease,border-color .28s ease,transform .28s ease!important;
}
.work-service-card:hover,.work-service-card:focus-within{
  background:var(--work-card-hover-bg,#9d4936)!important;
  color:var(--work-card-hover-text,#f7f2ea)!important;
  border-color:var(--work-card-hover-bg,#9d4936)!important;
  transform:translateY(-3px);
}
.work-service-card h2{color:inherit!important}.work-service-card .work-service-copy{color:var(--work-body-color,#5c574f)!important;transition:color .28s ease}.work-service-card:hover .work-service-copy,.work-service-card:focus-within .work-service-copy{color:var(--work-card-hover-text,#f7f2ea)!important}.work-service-card .work-service-number{transition:color .28s ease}.work-service-card:hover .work-service-number,.work-service-card:focus-within .work-service-number{color:var(--work-card-hover-text,#f7f2ea)!important}.work-service-card>a,.work-service-explore{color:inherit!important}.work-service-card:hover>a,.work-service-card:hover .work-service-explore,.work-service-card:focus-within>a,.work-service-card:focus-within .work-service-explore{color:inherit!important}
@media (max-width:760px) {
  .work-service-grid{grid-template-columns:1fr!important;padding:0 20px 58px!important;gap:14px!important}
  .work-service-card,.work-service-card:first-child,.work-service-card:nth-child(3){min-height:280px!important}
  .work-contact{padding:58px 20px!important;gap:42px!important}
  .work-contact-copy h2{font-size:clamp(42px,13vw,62px)!important;line-height:.92!important;letter-spacing:-.045em!important}
  .work-contact-kicker{margin-bottom:22px!important}
}

/* v5.43 — country drill-down becomes an accurate flat local map. */
.places-globe-wrap.is-local-map{
  width:100%!important;
  max-width:none!important;
  overflow:hidden!important;
  border:1px solid rgba(23,23,20,.14)!important;
  background:var(--places-panel-bg,#eee9df)!important;
}
@media(min-width:921px){
  .places-globe-area.is-local-map .places-globe-wrap.is-local-map{
    grid-row:1!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-width:none!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    margin:0!important;
  }
}
@media(max-width:920px){
  .places-globe-wrap.is-local-map{
    width:100%!important;
    height:auto!important;
    aspect-ratio:4/3!important;
    margin:0!important;
  }
}
.places-globe-wrap.is-local-map #places-globe,.places-globe-wrap.is-local-map #places-globe-overlay{border-radius:0!important}
.places-globe-wrap.is-local-map .places-country-chip{box-shadow:0 4px 14px rgba(23,23,20,.08)}
.places-browser-place-direct{margin-top:5px!important}

/* v5.43 — all location/story choices are separate interactive cards, not connected cells. */
.places-selection-place-grid,.places-connected-card-grid{gap:clamp(14px,1.5vw,22px)!important}
.places-selection-place-grid button,.places-connected-card{
  border:1px solid rgba(23,23,20,.16)!important;
  background:var(--places-bg,#f4f1ea)!important;
  transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease!important;
}
.places-selection-place-grid button:hover,.places-selection-place-grid button:focus-visible,.places-connected-card:hover,.places-connected-card:focus-within{
  background:var(--places-accent,#9d4936)!important;
  color:#f7f2ea!important;
  border-color:var(--places-accent,#9d4936)!important;
  transform:translateY(-2px);
}
.places-selection-place-grid button:hover small,.places-selection-place-grid button:focus-visible small,.places-connected-card:hover p,.places-connected-card:focus-within p,.places-connected-card:hover .places-connected-card-links a,.places-connected-card:focus-within .places-connected-card-links a{color:#f7f2ea!important}
.places-connected-card:hover .places-connected-card-links,.places-connected-card:focus-within .places-connected-card-links,.places-connected-card:hover .places-connected-card-links a,.places-connected-card:focus-within .places-connected-card-links a{border-color:rgba(247,242,234,.32)!important}

/* v5.44 — Work cards are discrete cards, never a connected strip. */
.work-services-intro{border-bottom:0!important}
.work-service-grid{border:0!important;column-gap:clamp(16px,1.6vw,26px)!important;row-gap:clamp(16px,1.6vw,26px)!important}
.work-service-card,.work-service-card:first-child,.work-service-card:nth-child(3){border:1px solid var(--work-line,#d0ccc3)!important;box-shadow:none!important;border-radius:0!important}
.work-service-card:hover,.work-service-card:focus-within{box-shadow:0 14px 34px rgba(23,23,20,.08)!important}

/* Local Places drill-down uses the same photographic Earth texture as the world globe. */
.places-globe-area.is-local-map{background:#111!important}
.places-globe-wrap.is-local-map{background:#111!important;border-color:rgba(23,23,20,.18)!important}
.places-globe-wrap.is-local-map #places-globe{image-rendering:auto!important}
.places-globe-wrap.is-local-map #places-globe-overlay{background:transparent!important}
.places-map-attribution{align-self:end;justify-self:end;margin:8px 4px 0!important;color:rgba(23,23,20,.58);font:500 8px/1.35 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.04em;text-align:right}
.places-globe-area.is-local-map .places-map-attribution{color:rgba(247,242,234,.76)}
.places-country-chip-region,.places-country-chip-place{box-shadow:0 6px 18px rgba(0,0,0,.18)!important}
@media(max-width:920px){.places-map-attribution{justify-self:center;text-align:center;margin-top:7px!important}}
@media(min-width:1181px){.work-service-grid{grid-template-columns:repeat(var(--service-count,4),minmax(0,1fr))!important}}
@media(min-width:761px) and (max-width:1180px){.work-service-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important}}


/* v5.44 refinement — make Work services read as independent cards, not a segmented row. */
.work-service-grid{
  padding-top:clamp(34px,3.7vw,58px)!important;
  column-gap:clamp(22px,2vw,34px)!important;
  row-gap:clamp(22px,2vw,34px)!important;
  align-items:stretch!important;
}
.work-service-card,.work-service-card:first-child,.work-service-card:nth-child(3){
  position:relative;
  border:0!important;
  outline:1px solid var(--work-line,#d0ccc3)!important;
  outline-offset:-1px;
  background:var(--work-card-bg,#f4f1ea)!important;
}
.work-service-card:hover,.work-service-card:focus-within{
  outline-color:transparent!important;
  background:var(--work-card-hover-bg,#a94f3b)!important;
}
@media (max-width:760px) {
  .work-service-grid{padding-top:28px!important;gap:16px!important}
}

/* v5.45 — Work service cards: true standalone cards + count-aware rows. */
.work-services-intro{border-bottom:0!important;padding-bottom:clamp(52px,5vw,78px)!important}
.work-service-grid{
  grid-template-columns:repeat(var(--service-cols,4),minmax(0,1fr))!important;
  gap:clamp(14px,1.35vw,24px)!important;
  padding-top:0!important;
  align-items:stretch!important;
}
.work-service-card,.work-service-card:first-child,.work-service-card:nth-child(3){
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid var(--work-line,#d0ccc3)!important;
  border-radius:0!important;
}
.work-service-card h2,.work-service-copy{min-width:0;overflow-wrap:anywhere;word-break:normal}
.work-service-grid[data-service-count="5"] .work-service-card{padding-inline:clamp(20px,1.75vw,30px)!important}
.work-service-grid[data-service-count="5"] .work-service-card h2{font-size:clamp(27px,2.05vw,37px)!important}
.work-service-grid[data-service-count="5"] .work-service-copy{font-size:clamp(12px,.95vw,14px)!important}
.work-service-grid[data-service-count="6"] .work-service-card h2,
.work-service-grid[data-service-count="7"] .work-service-card h2,
.work-service-grid[data-service-count="8"] .work-service-card h2{font-size:clamp(30px,2.3vw,43px)!important}
@media(max-width:1180px){
  .work-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .work-service-grid[data-service-count="3"],.work-service-grid[data-service-count="5"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:760px) {
  .work-service-grid,.work-service-grid[data-service-count]{grid-template-columns:1fr!important}
  .work-service-card h2,.work-service-grid[data-service-count="5"] .work-service-card h2{font-size:clamp(34px,11vw,44px)!important}
  .work-service-copy,.work-service-grid[data-service-count="5"] .work-service-copy{font-size:14px!important}
}

/* v5.45 — Hands: editorial collection page + photograph-led detail, aligned to reference. */
.hands-reference-page,.hands-detail-page{background:var(--hands-bg,#f4f1ea);color:var(--hands-title-color,#171714)}
.hands-reference-intro{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(60px,10vw,180px);align-items:start;padding:clamp(84px,8vw,130px) clamp(28px,4vw,64px) clamp(76px,7vw,112px);border-bottom:1px solid rgba(23,23,20,.17)}
.hands-reference-intro h1{margin:0;font:400 clamp(118px,13vw,220px)/.72 var(--font-title,"Cormorant Garamond",Georgia,serif);letter-spacing:-.07em;color:var(--hands-title-color,#171714)}
.hands-reference-intro h1 em{color:var(--hands-accent,#b76048);font-style:italic}
.hands-reference-intro>p{max-width:610px;margin:0;padding-top:3px;font:400 clamp(23px,2.25vw,36px)/1.28 var(--font-heading,"Cormorant Garamond",Georgia,serif);color:var(--hands-body-color,#5c574f)}
.hands-reference-intro>p em{color:var(--hands-accent,#b76048);font-style:italic}
.hands-collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--hands-bg,#f4f1ea)}
.hands-collection-card{display:flex;min-width:0;min-height:clamp(430px,48vw,620px);flex-direction:column;padding:clamp(42px,4vw,68px) clamp(30px,4vw,64px) 32px;border-right:1px solid rgba(23,23,20,.17);border-bottom:1px solid rgba(23,23,20,.17);color:var(--hands-title-color,#171714);transition:transform .25s ease,filter .25s ease}
.hands-collection-card:nth-child(3n/**/+1){background:var(--hands-card-1,#f2f0e9)}.hands-collection-card:nth-child(3n/**/+2){background:var(--hands-card-2,#e7e0d6)}.hands-collection-card:nth-child(3n){background:var(--hands-card-3,#e2d2c2)}
.hands-collection-card:hover{filter:brightness(.965)}
.hands-collection-card>p{margin:0;color:var(--hands-accent,#b76048);font:500 10px/1.3 var(--font-subtitle,Montserrat,Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase}
.hands-collection-card h2{max-width:420px;margin:auto 0;font:400 clamp(52px,4.6vw,82px)/.85 var(--font-heading,"Cormorant Garamond",Georgia,serif);letter-spacing:-.055em;overflow-wrap:anywhere}
.hands-collection-card>span{margin-top:auto;color:var(--hands-body-color,#5c574f);font:500 9px/1.3 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase}
.hands-empty{grid-column:1/-1;margin:0;padding:80px 5vw;color:var(--hands-body-color,#5c574f)}
.hands-detail-page{padding-bottom:clamp(76px,8vw,120px)}
.hands-detail-head{padding:clamp(72px,7vw,110px) clamp(28px,13vw,215px) clamp(54px,5vw,78px)}
.hands-detail-head>p{margin:0 0 16px;color:#b76048;font:500 9px/1.3 var(--font-subtitle,Montserrat,Arial,sans-serif);letter-spacing:.13em;text-transform:uppercase}
.hands-detail-head h1{max-width:1100px;margin:0;font:400 clamp(76px,8vw,138px)/.82 var(--font-title,"Cormorant Garamond",Georgia,serif);letter-spacing:-.06em}
.hands-photo-story{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);grid-template-rows:auto auto;column-gap:clamp(44px,7vw,110px);row-gap:20px;align-items:center;max-width:1380px;margin:0 auto;padding:0 clamp(28px,7vw,110px)}
.hands-photo-stage{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr) 62px;align-items:center;gap:18px;min-width:0}
.hands-photo-stage figure{position:relative;min-width:0;aspect-ratio:3/2;margin:0;overflow:hidden;background:#dedbd3}
.hands-photo-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .28s ease;pointer-events:none}.hands-photo-stage img.is-active{opacity:1}
.hands-photo-placeholder{width:100%;height:100%;background:#dedbd3}
.hands-photo-arrow{display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(23,23,20,.18);border-radius:50%;background:transparent;color:#171714;cursor:pointer;font-size:17px}.hands-photo-arrow:hover{border-color:#9d4936;color:#9d4936}.hands-photo-arrow:disabled{opacity:.28;cursor:default}
.hands-photo-copy{max-width:450px;align-self:center}.hands-photo-note{margin:0;font:400 clamp(24px,2.1vw,34px)/1.25 var(--font-heading,"Cormorant Garamond",Georgia,serif);color:#5c574f}.hands-photo-body{margin:26px 0 0;font:400 15px/1.75 var(--font-body,Montserrat,Arial,sans-serif);color:#5c574f}
.hands-photo-progress{grid-column:1;display:grid;grid-template-columns:auto minmax(80px,1fr) auto;align-items:center;gap:18px;padding-left:80px;color:#7a766f;font:500 8px/1.3 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase}.hands-photo-progress i{height:1px;background:rgba(23,23,20,.15);overflow:hidden}.hands-photo-progress b{display:block;width:0;height:100%;background:#171714;transition:width .28s ease}
@media(max-width:980px){}
@media(max-width:640px){}

/* v5.46 — Moments reference page, native page palettes, shared entry type sizing, richer map controls */
.story-single h1,
.moment-detail-head h1,
.hands-detail-head h1{
  font-size:var(--entry-title-size-desktop,62px)!important;
}
.story-single .body,
.hands-photo-body,
.moment-detail-body,
.moment-entry-body,
.story-grid>a>p{
  font-size:var(--entry-body-size-desktop,18px)!important;
}
.story-single>p:first-child,
.moment-detail-head>p,
.moment-entry>aside,
.hands-detail-head>p{
  font-size:var(--entry-meta-size-desktop,11px)!important;
}

/* Background controls that are shared by Appearance in Studio. */
.people-reference-intro{background:var(--people-intro-bg,#f4f1ea)}
.people-reference-grid{background:var(--people-grid-bg,#f4f1ea)}
.insights-reference-page>.page-title{background:var(--insights-intro-bg,#f4f1ea)}
.insights-reference-page>.story-grid{background:var(--insights-grid-bg,#eee9df)}
.about-reference-page>.page-title{background:var(--about-intro-bg,#f4f1ea)}
.about-reference-page>.about{background:var(--about-body-bg,#ebe6dc)}

/* Moments — follows the supplied editorial reference. */
.moments-reference-page{
  background:var(--moments-intro-bg,#f4f1ea);
  color:var(--moments-title-color,#171714);
}
.moments-reference-intro{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:690px;
  border-bottom:1px solid rgba(23,23,20,.16);
  background:var(--moments-intro-bg,#f4f1ea);
}
.moments-reference-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:clamp(78px,8vw,130px) clamp(34px,4vw,70px) clamp(70px,8vw,120px);
}
.moments-reference-kicker{
  margin:0 0 clamp(42px,5vw,72px);
  color:var(--moments-meta-color,#746f67);
  font:500 var(--entry-meta-size-desktop,11px)/1.25 var(--font-subtitle,Montserrat,Arial,sans-serif);
  letter-spacing:.16em;
  text-transform:uppercase;
}
.moments-reference-copy h1{
  margin:0;
  font-family:var(--font-title,"Cormorant Garamond",Georgia,serif);
  font-weight:400;
  line-height:.76;
  letter-spacing:-.065em;
}
.moments-reference-copy h1 span,
.moments-reference-copy h1 em{
  display:block;
}
.moments-reference-copy h1 span{
  color:var(--moments-title-color,#171714);
  font-size:clamp(90px,9.8vw,170px);
  font-style:normal;
}
.moments-reference-copy h1 em{
  margin:.05em 0 0 .02em;
  color:var(--moments-accent,#b14b36);
  font-size:clamp(72px,8.2vw,142px);
  font-style:italic;
  white-space:normal;
}
.moments-reference-dek{
  max-width:650px;
  margin:clamp(52px,6vw,86px) 0 0;
  color:var(--moments-body-color,#211f1b);
  font:400 clamp(23px,2.2vw,35px)/1.3 var(--font-heading,"Cormorant Garamond",Georgia,serif);
}
.moments-reference-intro>figure{
  margin:0;
  min-height:690px;
  overflow:hidden;
  background:#d8d1c5;
}
.moments-reference-intro>figure img{
  width:100%;
  height:100%;
  min-height:690px;
  object-fit:cover;
}
.moments-entry-list{display:block}
.moment-entry{
  display:grid;
  grid-template-columns:250px minmax(0,860px);
  gap:108px;
  min-height:440px;
  padding:clamp(94px,7vw,116px) 65px clamp(96px,8vw,126px);
  border-bottom:1px solid rgba(23,23,20,.13);
}
.moment-entry.tone-a{background:var(--moments-tone-a,#f4f1ea)}
.moment-entry.tone-b{background:var(--moments-tone-b,#ded8cb)}
.moment-entry>aside{
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  gap:12px;
  align-content:start;
  color:var(--moments-meta-color,#746f67);
  font-family:var(--font-subtitle,Montserrat,Arial,sans-serif);
  font-weight:500;
  letter-spacing:.13em;
  line-height:1.4;
  text-transform:uppercase;
}
.moment-entry>aside span,.moment-entry>aside p{margin:0}
.moment-entry-body{
  max-width:860px;
  color:var(--moments-body-color,#211f1b);
  font-family:var(--font-heading,"Cormorant Garamond",Georgia,serif)!important;
  font-weight:400;
  line-height:1.55;
}
@media(min-width:901px){
  .moment-entry-body{font-size:clamp(22px,calc(var(--entry-body-size-desktop,18px) * 1.45),34px)!important}
}
.moment-entry-body p,
.moment-detail-body p{margin:0 0 1.45em}
.moment-entry-body p:last-child,
.moment-detail-body p:last-child{margin-bottom:0}
.moment-entry-body strong,.moment-entry-body b,.moment-detail-body strong,.moment-detail-body b{font-weight:700}
.moment-entry-body em,.moment-entry-body i,.moment-detail-body em,.moment-detail-body i{font-style:italic}
.moment-entry-body u,.moment-detail-body u{text-decoration:underline;text-underline-offset:.13em}
.moments-empty{margin:0;padding:80px 5vw;background:var(--moments-tone-a,#f4f1ea);color:var(--moments-meta-color,#746f67)}

.moment-detail-page{min-height:70vh;padding:clamp(90px,10vw,150px) clamp(28px,8vw,128px);background:var(--moment-detail-bg,#f4f1ea);color:var(--moments-body-color,#211f1b)}
.moment-detail-head{display:grid;grid-template-columns:minmax(120px,18%) minmax(0,1fr);gap:40px;align-items:start;margin-bottom:clamp(50px,7vw,92px)}
.moment-detail-head>p{margin:12px 0 0;color:var(--moments-meta-color,#746f67);font-family:var(--font-subtitle,Montserrat,Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase}
.moment-detail-head h1{max-width:980px;margin:0;font-family:var(--font-title,"Cormorant Garamond",Georgia,serif);font-weight:400;letter-spacing:-.055em;line-height:.9}
.moment-detail-body{max-width:900px;margin-left:calc(18% + 40px);font-family:var(--font-heading,"Cormorant Garamond",Georgia,serif)!important;line-height:1.6}

/* Map: explicit zoom controls and level labels. */
.places-map-controls{
  position:absolute;
  z-index:8;
  right:18px;
  top:18px;
  display:grid;
  gap:6px;
}
.places-map-controls button{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(255,255,255,.68);
  border-radius:50%;
  background:rgba(19,25,22,.74);
  color:#fff;
  box-shadow:0 3px 14px rgba(0,0,0,.2);
  cursor:pointer;
  font:500 22px/1 var(--font-ui,Montserrat,Arial,sans-serif);
  backdrop-filter:blur(5px);
}
.places-map-controls button:last-child{font-size:18px}
.places-map-controls button:hover{background:rgba(19,25,22,.92)}
.places-map-level-label{
  position:absolute;
  z-index:3;
  transform:translate(-50%,-50%);
  pointer-events:none;
  color:#fff;
  text-shadow:0 2px 11px rgba(0,0,0,.58);
  font:500 clamp(18px,2.25vw,34px)/1 var(--places-heading-font,var(--font-heading,Georgia,serif));
  letter-spacing:-.02em;
  white-space:nowrap;
}
.places-map-level-label-region{font-size:clamp(16px,1.7vw,26px)}

@media(max-width:1180px) and (min-width:901px){
  .moment-entry{grid-template-columns:210px minmax(0,1fr);gap:72px;padding-left:48px;padding-right:48px}
}
@media(max-width:900px){
  .moments-reference-intro{grid-template-columns:1fr;min-height:0}
  .moments-reference-copy{min-height:560px}
  .moments-reference-intro>figure,.moments-reference-intro>figure img{min-height:520px;height:62vh}
  .moment-entry{grid-template-columns:1fr;gap:34px}
  .moment-entry>aside{max-width:300px}
  .moment-detail-head{grid-template-columns:1fr;gap:14px}.moment-detail-body{margin-left:0}
}
@media(max-width:640px){
  
  
  
  .moments-reference-copy{min-height:510px;padding:60px 20px 56px}
  .moments-reference-kicker{font-size:var(--entry-meta-size-mobile,10px);margin-bottom:36px}
  .moments-reference-copy h1 span{font-size:clamp(78px,25vw,118px)}
  .moments-reference-copy h1 em{font-size:clamp(64px,20vw,96px);line-height:.8}
  .moments-reference-dek{margin-top:44px;font-size:clamp(22px,7vw,29px)}
  .moments-reference-intro>figure,.moments-reference-intro>figure img{min-height:430px;height:56vh}
  .moment-entry{min-height:0;padding:54px 20px 62px;gap:28px}
  .moment-entry-body{line-height:1.62}
  .moment-detail-page{padding:70px 20px}.moment-detail-head{margin-bottom:42px}
  .places-map-controls{right:10px;top:10px}.places-map-controls button{width:38px;height:38px}
}

/* v5.46 — the global Entry Type Size controls also cover archive/card entries,
   not only their individual detail pages. */
.story-grid h2,
.hands-collection-card h2,
.places-story-place h2,
.work-related-grid h3{
  font-size:var(--entry-title-size-desktop,62px)!important;
}
.places-story-note,
.work-related-grid p{
  font-size:var(--entry-body-size-desktop,18px)!important;
}
.places-story-place>div>p:first-child{
  font-size:var(--entry-meta-size-desktop,11px)!important;
}
@media(max-width:640px){
  
  .places-story-note,
  .work-related-grid p{
    font-size:var(--entry-body-size-mobile,17px)!important;
  }
  .places-story-place>div>p:first-child{
    font-size:var(--entry-meta-size-mobile,10px)!important;
  }
}


/* v5.49 — multiple photographs per People entry. */
.people-story-single{padding-top:clamp(78px,8vw,126px)}
.people-photo-carousel{max-width:1480px;margin:0 auto clamp(56px,6vw,82px)}
.people-photo-stage{display:grid;grid-template-columns:58px minmax(0,1fr) 58px;align-items:center;gap:clamp(10px,1.5vw,20px)}
.people-photo-stage figure{position:relative;min-width:0;height:min(72vh,820px);min-height:520px;margin:0;overflow:hidden;background:#dfdcd4}
.people-photo-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .28s ease;pointer-events:none;user-select:none}
.people-photo-stage img.is-active{opacity:1}
.people-photo-arrow{display:grid;place-items:center;width:56px;height:56px;padding:0;border:1px solid rgba(23,23,20,.2);border-radius:50%;background:transparent;color:#171714;font:400 17px/1 var(--font-ui,Montserrat,Arial,sans-serif);cursor:pointer;transition:border-color .2s ease,color .2s ease,opacity .2s ease}
.people-photo-arrow:hover{border-color:#9d4936;color:#9d4936}.people-photo-arrow:disabled{opacity:.25;cursor:default}
.people-photo-progress{display:grid;grid-template-columns:auto minmax(100px,1fr) auto;align-items:center;gap:18px;padding:14px 76px 0;color:#747069;font:500 8px/1.3 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase}
.people-photo-progress i{height:1px;background:rgba(23,23,20,.15);overflow:hidden}.people-photo-progress b{display:block;width:0;height:100%;background:#171714;transition:width .28s ease}
@media (max-width:760px) {.people-story-single{padding:62px 20px}.people-photo-carousel{margin-bottom:48px}.people-photo-stage{grid-template-columns:40px minmax(0,1fr) 40px;gap:7px}.people-photo-stage figure{height:min(68vh,620px);min-height:360px}.people-photo-arrow{width:40px;height:40px}.people-photo-progress{padding:12px 47px 0;grid-template-columns:auto 1fr}.people-photo-progress small{display:none}}

/* v5.50 — Moments opening spread always fills exactly the visible window below the header.
   The layout uses the measured browser/header heights so it remains stable across
   desktop, laptop, tablet, mobile and browser chrome/orientation changes. */
.moments-reference-intro{
  height:calc(var(--app-window-height, 100dvh) - var(--site-header-height, 92px))!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden;
}
.moments-reference-copy,
.moments-reference-intro>figure,
.moments-reference-intro>figure img{
  min-height:0!important;
  height:100%!important;
  max-height:none!important;
}
.moments-reference-copy{
  overflow:hidden;
  padding-top:clamp(34px,6.2vh,90px)!important;
  padding-bottom:clamp(34px,6.2vh,90px)!important;
}
.moments-reference-kicker{
  margin-bottom:clamp(22px,4.2vh,62px)!important;
}
.moments-reference-copy h1 span{
  font-size:clamp(76px,min(9.8vw,17vh),170px)!important;
}
.moments-reference-copy h1 em{
  font-size:clamp(62px,min(8.2vw,14.2vh),142px)!important;
}
.moments-reference-dek{
  margin-top:clamp(28px,5vh,72px)!important;
  font-size:clamp(20px,min(2.2vw,3.5vh),35px)!important;
}
.moments-reference-intro>figure img{object-fit:cover!important}

/* Tablet / phone: keep the same one-window rule, but stack copy and photograph
   inside that single viewport rather than allowing them to become two screens. */
@media(max-width:900px){
  .moments-reference-intro{
    grid-template-columns:1fr!important;
    grid-template-rows:minmax(0,58%) minmax(0,42%)!important;
  }
  .moments-reference-copy{
    min-height:0!important;
    height:100%!important;
    justify-content:center!important;
    padding:clamp(22px,4vh,42px) clamp(20px,6vw,44px)!important;
  }
  .moments-reference-kicker{
    margin:0 0 clamp(12px,2.2vh,24px)!important;
  }
  .moments-reference-copy h1 span{
    font-size:clamp(54px,min(19vw,10.8vh),104px)!important;
  }
  .moments-reference-copy h1 em{
    font-size:clamp(46px,min(16.5vw,9.2vh),90px)!important;
    line-height:.78!important;
  }
  .moments-reference-dek{
    max-width:38rem;
    margin-top:clamp(16px,2.8vh,30px)!important;
    font-size:clamp(17px,min(4.8vw,2.65vh),25px)!important;
    line-height:1.22!important;
  }
  .moments-reference-intro>figure,
  .moments-reference-intro>figure img{
    min-height:0!important;
    height:100%!important;
  }
}

@media(max-width:480px){
  .moments-reference-intro{grid-template-rows:minmax(0,60%) minmax(0,40%)!important}
  .moments-reference-copy{padding:18px 18px 16px!important}
  .moments-reference-kicker{font-size:9px!important;letter-spacing:.13em!important}
  .moments-reference-copy h1 span{font-size:clamp(50px,min(20.5vw,10.5vh),86px)!important}
  .moments-reference-copy h1 em{font-size:clamp(42px,min(17.7vw,8.9vh),74px)!important}
  .moments-reference-dek{font-size:clamp(16px,min(4.7vw,2.45vh),21px)!important}
}

/* Short landscape windows need a little less editorial spacing so no copy is clipped. */
@media(max-height:700px) and (min-width:901px){
  .moments-reference-copy{padding-top:24px!important;padding-bottom:24px!important}
  .moments-reference-kicker{margin-bottom:18px!important}
  .moments-reference-copy h1 span{font-size:clamp(64px,min(8.8vw,15vh),122px)!important}
  .moments-reference-copy h1 em{font-size:clamp(52px,min(7.3vw,12.5vh),104px)!important}
  .moments-reference-dek{margin-top:22px!important;font-size:clamp(18px,min(2vw,3.4vh),28px)!important}
}

/* v5.52 — entry hashtags, frontend filters, and story-led Place results. */
.story-filter-bar{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:18px clamp(28px,5vw,82px);border-top:1px solid rgba(23,23,20,.12);border-bottom:1px solid rgba(23,23,20,.12);
  background:inherit;color:inherit;
}
.story-filter-bar>span{margin-right:7px;font:600 9px/1.2 var(--font-subtitle,Montserrat,Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase;opacity:.58}
.story-filter-bar button{appearance:none;margin:0;padding:8px 12px;border:1px solid rgba(23,23,20,.18);border-radius:999px;background:transparent;color:inherit;font:500 10px/1.1 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.025em;cursor:pointer;transition:.2s ease}
.story-filter-bar button:hover,.story-filter-bar button:focus-visible,.story-filter-bar button.is-active{border-color:currentColor;background:rgba(23,23,20,.88);color:#f7f2ea;outline:0}
.story-hashtags{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:12px;font:500 9px/1.3 var(--font-subtitle,Montserrat,Arial,sans-serif);letter-spacing:.05em;text-transform:lowercase;color:var(--places-accent,#9d4936)}
.story-hashtags span{white-space:nowrap}
[data-story-tags][hidden]{display:none!important}

/* People: tags live below the person's name in the hover caption. */
.people-reference-hover{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.people-reference-hover strong{font:500 14px/1.3 var(--font-heading,Montserrat,Arial,sans-serif);letter-spacing:.06em;text-transform:uppercase}
.people-reference-hover .story-hashtags{margin-top:5px;color:#fff;font-size:8px;letter-spacing:.04em;text-transform:lowercase}
.people-reference-page>.story-filter-bar{background:var(--people-grid-bg,#f4f1ea)}

/* Hands and Moments: keep the original editorial layouts but expose tags cleanly. */
.hands-reference-page>.story-filter-bar{background:var(--hands-bg,#f4f1ea)}
.hands-collection-card .story-hashtags{margin:14px 0 0;color:var(--hands-accent,#b76048)}
.hands-collection-card:hover .story-hashtags,.hands-collection-card:focus-visible .story-hashtags{color:inherit}
.moments-reference-page>.story-filter-bar{background:var(--moments-intro-bg,#f4f1ea)}
.moment-entry aside .story-hashtags{margin-top:13px;color:var(--moments-accent,#b14b36);font-size:8px}
.insights-reference-page>.story-filter-bar{background:var(--insights-grid-bg,#eee9df)}
.story-grid .story-hashtags{margin-top:11px}

/* The selected Place now displays one box per actual entry, never one box per category. */
.places-selection-stage{scroll-margin-top:calc(var(--site-header-height,90px) + 10px)}
.places-story-filter{padding:0 0 28px;border:0;background:transparent}
.places-story-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.places-story-card{min-width:0;border:1px solid rgba(23,23,20,.16);background:var(--places-bg,#f4f1ea);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.places-story-card:hover,.places-story-card:focus-within{transform:translateY(-3px);border-color:var(--places-accent,#9d4936);box-shadow:0 15px 34px rgba(23,23,20,.08)}
.places-story-card>a{display:flex;height:100%;min-height:100%;flex-direction:column;color:var(--places-title-color,#171714)}
.places-story-media{display:grid;width:100%;aspect-ratio:4/3;overflow:hidden;background:#d9d3c7}
.places-story-media img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;transition:transform .45s ease}
.places-story-card:hover .places-story-media img{transform:scale(1.015)}
.places-story-media-2{grid-template-columns:1.45fr 1fr;gap:2px}
.places-story-media-3{grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr;gap:2px}
.places-story-media-3 img:first-child{grid-row:1/3}
.places-story-card-copy{display:flex;min-height:210px;flex:1;flex-direction:column;padding:clamp(20px,2vw,28px)}
.places-story-card h3{margin:0;font:400 clamp(31px,3vw,46px)/.94 var(--font-heading,"Cormorant Garamond",Georgia,serif);letter-spacing:-.035em}
.places-story-note,.places-story-moment-excerpt{margin:17px 0 0;color:var(--places-body-color,#5c574f);font:400 13px/1.62 var(--font-body,Montserrat,Arial,sans-serif)}
.places-story-moment-excerpt{font-family:var(--font-heading,"Cormorant Garamond",Georgia,serif);font-size:clamp(18px,1.65vw,23px);line-height:1.42;letter-spacing:-.012em}
.places-story-card .story-hashtags{margin-top:18px;color:var(--places-accent,#9d4936)}
.places-story-open{margin-top:auto;padding-top:24px;color:var(--places-body-color,#5c574f);font:600 9px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.1em;text-transform:uppercase}

@media(max-width:980px){
  .places-story-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .story-filter-bar{padding:14px 20px;gap:7px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .story-filter-bar::-webkit-scrollbar{display:none}.story-filter-bar>span,.story-filter-bar button{flex:0 0 auto}
  .places-story-filter{padding:0 0 22px}
  .places-story-card-grid{grid-template-columns:1fr}
  .places-story-card-copy{min-height:180px}
  .people-reference-hover{opacity:1;transform:none}
  .people-reference-card:after{opacity:.72}
}

/* v5.52 final — page-local typography, stacked Hands references, editorial Insights. */
.rich-copy p,.story-single .body p,.moment-entry-body p,.moment-detail-body p,.hands-inline-body p{margin:0 0 1.15em}.story-single .body p:last-child,.moment-entry-body p:last-child,.moment-detail-body p:last-child,.hands-inline-body p:last-child{margin-bottom:0}
.story-single .body strong,.moment-entry-body strong,.moment-detail-body strong,.hands-inline-body strong{font-weight:700}.story-single .body em,.moment-entry-body em,.moment-detail-body em,.hands-inline-body em{font-style:italic}.story-single .body u,.moment-entry-body u,.moment-detail-body u,.hands-inline-body u{text-decoration:underline;text-underline-offset:.12em}

/* Places — sizes are controlled only inside Studio → Places. */
.places-reference-intro h1{font-size:var(--places-intro-title-size-desktop,150px)!important}
.places-reference-intro>p{font-size:var(--places-intro-body-size-desktop,30px)!important;line-height:1.35!important}
.places-map-story>h2{font-size:var(--places-map-title-size-desktop,62px)!important}
.places-map-story-body,.places-map-selected>p{font-size:var(--places-map-body-size-desktop,15px)!important}
.places-story-card h3{font-size:var(--places-story-title-size-desktop,44px)!important}
.places-story-note,.places-story-moment-excerpt{font-size:var(--places-story-body-size-desktop,18px)!important}
.places-story-card .story-hashtags,.places-story-open,.places-selection-head>p{font-size:var(--places-meta-size-desktop,10px)!important}

/* People — introduction, gallery caption and person detail each have their own page-local sizes. */
.people-reference-intro h1{font-size:var(--people-intro-title-size-desktop,156px)!important}
.people-reference-intro p{font-size:var(--people-intro-body-size-desktop,30px)!important;line-height:1.34!important}
.people-reference-hover strong{font-size:var(--people-card-title-size-desktop,14px)!important}
.people-reference-hover .story-hashtags{font-size:var(--people-tag-size-desktop,9px)!important}
.people-story-single h1{font-size:var(--people-detail-title-size-desktop,72px)!important}
.people-story-single .lead,.people-story-single .body{font-size:var(--people-detail-body-size-desktop,18px)!important}

/* Moments — section-specific size controls override legacy shared entry sizing. */
.moments-reference-kicker,.moment-entry>aside{font-size:var(--moments-meta-size-desktop,10px)!important}
.moments-reference-copy h1 span{font-size:var(--moments-title-size-desktop,150px)!important}
.moments-reference-copy h1 em{font-size:var(--moments-subtitle-size-desktop,126px)!important}
.moments-reference-dek{font-size:var(--moments-intro-body-size-desktop,30px)!important}
.moment-entry-body,.moment-detail-body{font-size:var(--moments-entry-body-size-desktop,28px)!important}
.moment-detail-head>p{font-size:var(--moments-meta-size-desktop,10px)!important}

/* Work — typography stays local to Work rather than centralized in Appearance. */
.work-services-intro h1{font-size:var(--work-intro-title-size-desktop,108px)!important}
.work-services-intro>p{font-size:var(--work-intro-body-size-desktop,24px)!important}
.work-service-card h2,.work-service-grid[data-service-count] .work-service-card h2{font-size:var(--work-service-title-size-desktop,42px)!important}
.work-service-copy,.work-service-grid[data-service-count] .work-service-copy{font-size:var(--work-service-body-size-desktop,15px)!important}
.work-contact-copy h2{font-size:var(--work-contact-title-size-desktop,70px)!important}
.work-contact-copy>p:last-child{font-size:var(--work-contact-body-size-desktop,18px)!important}
.work-story-single h1,.insight-story-single h1{font-size:var(--detail-title-size-desktop,54px)!important}
.work-story-single .body,.work-story-single .lead,.insight-story-single .body,.insight-story-single .lead{font-size:var(--detail-body-size-desktop,16px)!important}

/* About — independent sizes. */
.about-reference-page>.page-title h1{font-size:var(--about-intro-title-size-desktop,92px)!important}
.about-reference-page>.about>p{font-size:var(--about-body-size-desktop,32px)!important;line-height:1.35!important}

/* Hands reference: every collection is one full editorial section, stacked vertically on one page. */
.hands-reference-intro h1{font-size:var(--hands-intro-title-size-desktop,180px)!important}
.hands-reference-intro>p{font-size:var(--hands-intro-body-size-desktop,34px)!important}
.hands-collection-list{display:block;background:var(--hands-bg,#f4f1ea)}
.hands-inline-collection{display:grid;grid-template-columns:minmax(310px,.72fr) minmax(0,1.28fr);gap:clamp(40px,6vw,105px);align-items:center;min-height:min(820px,88vh);padding:clamp(62px,7vw,112px) clamp(28px,5vw,82px);border-bottom:1px solid rgba(23,23,20,.16);background:var(--hands-collection-bg,var(--hands-bg,#f4f1ea));scroll-margin-top:calc(var(--site-header-height,90px) + 14px)}
.hands-inline-copy{max-width:520px;align-self:center}.hands-inline-index{margin:0 0 30px;color:var(--hands-accent,#b76048);font:600 var(--hands-meta-size-desktop,10px)/1.3 var(--font-subtitle,Montserrat,Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase}.hands-inline-copy h2{margin:0;font:400 var(--hands-collection-title-size-desktop,72px)/.88 var(--font-title,"Cormorant Garamond",Georgia,serif);letter-spacing:-.055em;color:var(--hands-title-color,#171714)}
.hands-inline-copy .story-hashtags{margin:20px 0 0;color:var(--hands-accent,#b76048);font-size:var(--hands-meta-size-desktop,10px)}
.hands-inline-note{margin:clamp(30px,4vw,52px) 0 0;color:var(--hands-body-color,#5c574f);font:400 calc(var(--hands-collection-body-size-desktop,17px) * 1.4)/1.35 var(--font-heading,"Cormorant Garamond",Georgia,serif)}
.hands-inline-body{margin:24px 0 0;color:var(--hands-body-color,#5c574f);font:400 var(--hands-collection-body-size-desktop,17px)/1.72 var(--font-body,Montserrat,Arial,sans-serif)}
.hands-inline-gallery{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) 52px;grid-template-rows:auto auto;gap:14px;align-items:center;min-width:0}

.hands-inline-gallery footer{grid-column:2;display:flex;justify-content:space-between;gap:20px;color:var(--hands-body-color,#5c574f);font:600 var(--hands-meta-size-desktop,10px)/1.3 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.11em;text-transform:uppercase}.hands-inline-empty{grid-column:1/-1;min-height:340px;display:grid;place-items:center;border:1px solid rgba(23,23,20,.16);color:var(--hands-body-color,#5c574f)}

/* Insights reference: editorial rows rather than the generic card grid. */
.insights-reference-page{background:var(--insights-grid-bg,#eee9df);color:var(--insights-title-color,#171714)}
.insights-editorial-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:clamp(48px,9vw,160px);align-items:end;padding:clamp(72px,8vw,128px) clamp(28px,5vw,82px) clamp(58px,6vw,92px);border-bottom:1px solid rgba(23,23,20,.16);background:var(--insights-intro-bg,#f4f1ea)}
.insights-editorial-intro>div>p{margin:0 0 24px;color:var(--insights-accent,#b76048);font:600 var(--insights-meta-size-desktop,10px)/1.3 var(--font-subtitle,Montserrat,Arial,sans-serif);letter-spacing:.15em;text-transform:uppercase}.insights-editorial-intro h1{margin:0;font:400 var(--insights-intro-title-size-desktop,150px)/.78 var(--font-title,"Cormorant Garamond",Georgia,serif);letter-spacing:-.065em}.insights-editorial-intro>p{max-width:620px;margin:0 0 8px;color:var(--insights-body-color,#5c574f);font:400 var(--insights-intro-body-size-desktop,30px)/1.3 var(--font-heading,"Cormorant Garamond",Georgia,serif)}
.insights-entry-list{background:var(--insights-grid-bg,#eee9df)}.insight-editorial-entry{border-bottom:1px solid rgba(23,23,20,.17)}.insight-editorial-entry>a{display:grid;grid-template-columns:62px minmax(0,1fr) minmax(260px,.58fr);gap:clamp(24px,4vw,70px);align-items:center;min-height:320px;padding:clamp(34px,4.5vw,68px) clamp(28px,5vw,82px);color:inherit;transition:background .25s ease}.insight-editorial-entry>a:hover{background:rgba(255,255,255,.22)}
.insight-entry-number{align-self:start;padding-top:10px;color:var(--insights-accent,#b76048);font:600 var(--insights-meta-size-desktop,10px)/1.3 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.12em}.insight-entry-type{margin:0 0 16px;color:var(--insights-accent,#b76048);font:600 var(--insights-meta-size-desktop,10px)/1.3 var(--font-subtitle,Montserrat,Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase}.insight-entry-copy h2{max-width:760px;margin:0;font:400 var(--insights-entry-title-size-desktop,54px)/.94 var(--font-heading,"Cormorant Garamond",Georgia,serif);letter-spacing:-.04em}.insight-entry-excerpt{max-width:690px;margin:22px 0 0;color:var(--insights-body-color,#5c574f);font:400 var(--insights-entry-body-size-desktop,16px)/1.68 var(--font-body,Montserrat,Arial,sans-serif)}.insight-entry-copy .story-hashtags{color:var(--insights-accent,#b76048);font-size:var(--insights-meta-size-desktop,10px)}.insight-entry-read{display:block;margin-top:24px;color:var(--insights-title-color,#171714);font:600 var(--insights-meta-size-desktop,10px)/1.3 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.1em;text-transform:uppercase}
.insight-editorial-entry figure{height:230px;margin:0;overflow:hidden;background:rgba(23,23,20,.08)}.insight-editorial-entry figure img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.insight-editorial-entry>a:hover figure img{transform:scale(1.02)}.insight-entry-placeholder{display:grid;place-items:center}.insight-entry-placeholder span{font:400 80px/1 var(--font-title,"Cormorant Garamond",Georgia,serif);opacity:.18}.insights-empty{margin:0;padding:80px 5vw;color:var(--insights-body-color,#5c574f)}

@media(max-width:900px){
  .places-reference-intro h1{font-size:var(--places-intro-title-size-mobile,92px)!important}.places-reference-intro>p{font-size:var(--places-intro-body-size-mobile,22px)!important}.places-map-story>h2{font-size:var(--places-map-title-size-mobile,42px)!important}.places-map-story-body,.places-map-selected>p{font-size:var(--places-map-body-size-mobile,14px)!important}.places-story-card h3{font-size:var(--places-story-title-size-mobile,34px)!important}.places-story-note,.places-story-moment-excerpt{font-size:var(--places-story-body-size-mobile,16px)!important}.places-story-card .story-hashtags,.places-story-open{font-size:var(--places-meta-size-mobile,9px)!important}
  .people-reference-intro h1{font-size:var(--people-intro-title-size-mobile,92px)!important}.people-reference-intro p{font-size:var(--people-intro-body-size-mobile,22px)!important}.people-reference-hover strong{font-size:var(--people-card-title-size-mobile,13px)!important}.people-reference-hover .story-hashtags{font-size:var(--people-tag-size-mobile,8px)!important}.people-story-single h1{font-size:var(--people-detail-title-size-mobile,46px)!important}.people-story-single .lead,.people-story-single .body{font-size:var(--people-detail-body-size-mobile,17px)!important}
  .moments-reference-kicker,.moment-entry>aside{font-size:var(--moments-meta-size-mobile,9px)!important}.moments-reference-copy h1 span{font-size:var(--moments-title-size-mobile,98px)!important}.moments-reference-copy h1 em{font-size:var(--moments-subtitle-size-mobile,78px)!important}.moments-reference-dek{font-size:var(--moments-intro-body-size-mobile,23px)!important}.moment-entry-body,.moment-detail-body{font-size:var(--moments-entry-body-size-mobile,18px)!important}
  .work-services-intro h1{font-size:var(--work-intro-title-size-mobile,64px)!important}.work-services-intro>p{font-size:var(--work-intro-body-size-mobile,18px)!important}.work-service-card h2,.work-service-grid[data-service-count] .work-service-card h2{font-size:var(--work-service-title-size-mobile,34px)!important}.work-service-copy,.work-service-grid[data-service-count] .work-service-copy{font-size:var(--work-service-body-size-mobile,14px)!important}.work-contact-copy h2{font-size:var(--work-contact-title-size-mobile,48px)!important}.work-contact-copy>p:last-child{font-size:var(--work-contact-body-size-mobile,16px)!important}.work-story-single h1,.insight-story-single h1{font-size:var(--detail-title-size-mobile,38px)!important}.work-story-single .body,.work-story-single .lead,.insight-story-single .body,.insight-story-single .lead{font-size:var(--detail-body-size-mobile,15px)!important}
  .about-reference-page>.page-title h1{font-size:var(--about-intro-title-size-mobile,56px)!important}.about-reference-page>.about>p{font-size:var(--about-body-size-mobile,24px)!important}
  
  .insights-editorial-intro{grid-template-columns:1fr;gap:28px;padding:62px 20px 48px}.insights-editorial-intro h1{font-size:var(--insights-intro-title-size-mobile,94px)}.insights-editorial-intro>p{font-size:var(--insights-intro-body-size-mobile,22px)}.insight-editorial-entry>a{grid-template-columns:42px minmax(0,1fr);gap:16px;padding:36px 20px}.insight-editorial-entry figure{grid-column:2;height:min(60vw,360px);grid-row:auto}.insight-entry-copy h2{font-size:var(--insights-entry-title-size-mobile,38px)}.insight-entry-excerpt{font-size:var(--insights-entry-body-size-mobile,15px)}.insight-entry-number,.insight-entry-type,.insight-entry-copy .story-hashtags,.insight-entry-read{font-size:var(--insights-meta-size-mobile,9px)}
}
@media(max-width:560px){.insight-editorial-entry>a{grid-template-columns:1fr}.insight-entry-number{grid-column:1}.insight-editorial-entry figure{grid-column:1;height:64vw}.insights-editorial-intro h1{letter-spacing:-.055em}}

/* v5.52 final — Places map is deliberately two-part: browser + map. The former right narrative panel is removed. */
.places-map-section{grid-template-columns:clamp(190px,16vw,245px) minmax(0,1fr)!important}
.places-country-browser{grid-column:1!important}
.places-globe-area{grid-column:2!important}
.places-map-instruction,.places-country-browser-head span,.places-country-choice,.places-region-choice,.places-browser-place{font-size:var(--places-map-body-size-desktop,15px)!important}
.places-country-chip-country,.places-country-chip-region{font-size:clamp(9px,calc(var(--places-map-title-size-desktop,62px) * .18),13px)!important}
@media (max-width:760px) {
  .places-map-section{grid-template-columns:1fr!important}
  .places-country-browser,.places-globe-area{grid-column:1!important}
  .places-map-instruction,.places-country-browser-head span,.places-country-choice,.places-region-choice,.places-browser-place{font-size:var(--places-map-body-size-mobile,14px)!important}
  .places-country-chip-country,.places-country-chip-region{font-size:clamp(8px,calc(var(--places-map-title-size-mobile,42px) * .20),11px)!important}
}

/* v5.53 — Moment anchors opened from Places stop below the sticky header. */
.moment-entry{scroll-margin-top:calc(var(--site-header-height,96px) + 10px)}

/* v5.53 — Places: the Browse Places column is one-third of the desktop map spread.
   The map spread tracks the real visible browser height; tablets/phones still stack. */
@media(min-width:921px){
  .places-map-section{
    grid-template-columns:minmax(300px,1fr) minmax(0,2fr)!important;
    height:calc(var(--app-window-height,100dvh) - var(--site-header-height,92px))!important;
    min-height:560px!important;
    max-height:920px!important;
    overflow:hidden!important;
  }
  .places-country-browser{height:100%!important;min-height:0!important;padding:clamp(28px,4vh,42px) 0 28px clamp(30px,3vw,52px)!important}
  .places-country-browser-head{padding-right:clamp(28px,3vw,46px)!important}
  .places-country-browser-head span{max-width:260px!important;font-size:clamp(12px,1vw,15px)!important}
  .places-country-list{padding-right:clamp(28px,3vw,46px)!important}
  .places-continent-group .places-country-choice{font-size:clamp(10px,.85vw,13px)!important;min-height:42px!important}
  .places-continent-group .places-country-inline-cities button{font-size:clamp(9px,.78vw,12px)!important;min-height:34px!important}
  .places-globe-area{height:100%!important;min-height:0!important;padding:52px 24px 20px!important}
  .places-globe-wrap{
    width:min(94%,760px,calc(var(--app-window-height,100dvh) - var(--site-header-height,92px) - 92px))!important;
    max-width:94%!important;
    aspect-ratio:1!important;
  }
}
@media(max-width:920px){
  .places-map-section{height:auto!important;max-height:none!important;overflow:visible!important}
}

/* v5.53 — People photographs: Instagram-style single-frame carousel.
   Only one photograph is visible at a time; arrows, swipe/drag and dots change slides. */
.people-instagram-carousel{width:min(92vw,720px)!important;max-width:720px!important;margin:0 auto clamp(50px,6vw,82px)!important}
.people-instagram-carousel .people-photo-stage{position:relative!important;display:block!important;width:100%!important}
.people-instagram-carousel .people-photo-stage figure{position:relative!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1/1!important;margin:0!important;overflow:hidden!important;background:#e4e0d8!important}
.people-instagram-carousel .people-photo-stage img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;background:#e4e0d8!important;opacity:0!important;transition:opacity .22s ease!important;pointer-events:none!important;user-select:none!important}
.people-instagram-carousel .people-photo-stage img.is-active{opacity:1!important}
.people-instagram-carousel .people-photo-arrow{position:absolute!important;z-index:4!important;top:50%!important;transform:translateY(-50%)!important;width:42px!important;height:42px!important;border:0!important;background:rgba(20,20,18,.62)!important;color:#fff!important;font:400 28px/1 Arial,sans-serif!important;box-shadow:0 2px 12px rgba(0,0,0,.16)!important}
.people-instagram-carousel .people-photo-prev{left:14px!important}.people-instagram-carousel .people-photo-next{right:14px!important}
.people-instagram-carousel .people-photo-arrow:hover{background:rgba(20,20,18,.82)!important;color:#fff!important}
.people-photo-counter{position:absolute;z-index:4;top:14px;right:14px;padding:6px 9px;border-radius:999px;background:rgba(20,20,18,.62);color:#fff;font:600 10px/1 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.04em}
.people-instagram-dots{display:flex!important;justify-content:center;align-items:center;gap:7px;padding:13px 0 0!important}
.people-instagram-dots button{width:6px;height:6px;margin:0;padding:0;border:0;border-radius:50%;background:rgba(23,23,20,.25);cursor:pointer;transition:transform .16s ease,background .16s ease}
.people-instagram-dots button.is-active{background:var(--places-accent,#9d4936);transform:scale(1.28)}
@media(max-width:700px){
  .people-instagram-carousel{width:calc(100vw - 40px)!important}
  .people-instagram-carousel .people-photo-arrow{width:36px!important;height:36px!important;font-size:24px!important}
  .people-instagram-carousel .people-photo-prev{left:9px!important}.people-instagram-carousel .people-photo-next{right:9px!important}
}

/* v5.53 — Hands: match the reference page exactly in structure:
   editorial intro → three collection shortcut panels → each full collection stacked below. */
.hands-reference-page{background:var(--hands-bg,#f4f1ea)!important;color:var(--hands-title-color,#171714)!important}
.hands-reference-page>.story-filter-bar{background:var(--hands-bg,#f4f1ea)!important;border-top:0!important}
.hands-collection-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;background:var(--hands-bg,#f4f1ea)!important}
.hands-collection-card{min-height:clamp(250px,24vw,340px)!important;padding:clamp(34px,3.2vw,52px) clamp(28px,3.4vw,54px) 28px!important}
.hands-collection-card h2{font-size:clamp(46px,4.2vw,76px)!important}
















.hands-use-mobile{display:none}


.hands-reference-outro{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:clamp(70px,7vw,110px) clamp(28px,5vw,82px);background:var(--hands-bg,#f4f1ea);border-bottom:1px solid rgba(23,23,20,.16)}
.hands-reference-outro p,.hands-reference-outro span{margin:0}.hands-reference-outro p{font:400 clamp(38px,4vw,64px)/.96 var(--font-heading,"Cormorant Garamond",Georgia,serif);letter-spacing:-.04em}.hands-reference-outro span{align-self:end;max-width:430px;color:var(--hands-body-color,#5c574f);font:400 clamp(16px,1.4vw,21px)/1.55 var(--font-body,Montserrat,Arial,sans-serif)}
@media(max-width:980px){
  
  
  
}
@media(max-width:640px){
  
  
  
  
  
  
}

/* v5.53 final — Insights follow the visual reference: photograph on the left,
   editorial copy on the right, with the entry number on the far right. */
@media(min-width:901px){
  .insight-editorial-entry>a{grid-template-columns:minmax(360px,.82fr) minmax(0,1.16fr) 46px!important;gap:clamp(42px,6vw,96px)!important;min-height:clamp(430px,54vh,650px)!important;padding:clamp(58px,6vw,92px) clamp(28px,5vw,82px)!important}
  .insight-editorial-entry figure{grid-column:1!important;grid-row:1!important;width:100%!important;height:min(50vh,500px)!important;min-height:340px!important}
  .insight-entry-copy{grid-column:2!important;grid-row:1!important;align-self:center!important}
  .insight-entry-number{grid-column:3!important;grid-row:1!important;align-self:start!important;justify-self:end!important;padding-top:8px!important}
}
@media(max-width:900px){
  .insight-editorial-entry>a{grid-template-columns:1fr!important;gap:22px!important}
  .insight-editorial-entry figure{grid-column:1!important;grid-row:1!important;width:100%!important;height:min(72vw,460px)!important}
  .insight-entry-number{grid-column:1!important;grid-row:2!important;padding-top:0!important}
  .insight-entry-copy{grid-column:1!important;grid-row:3!important}
}

/* Keep the People carousel inside the visible viewport on short laptops while
   retaining a familiar Instagram-style single-post frame. */
@media(min-width:701px){
  .people-instagram-carousel{width:min(90vw,680px,calc((var(--app-window-height,100dvh) - var(--site-header-height,92px) - 150px)))!important}
  .people-instagram-carousel .people-photo-stage figure{max-height:calc(var(--app-window-height,100dvh) - var(--site-header-height,92px) - 150px)!important}
}

/* v5.54 — Place map order + true single-story carousel. */
@media(min-width:921px){
  .places-map-section{
    grid-template-columns:minmax(0,2fr) minmax(300px,1fr)!important;
    height:calc(var(--app-window-height,100dvh) - var(--site-header-height,92px))!important;
    min-height:520px!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  .places-globe-area{
    grid-column:1!important;order:1!important;height:100%!important;min-height:0!important;
    padding:52px clamp(18px,2vw,34px) 20px!important;
  }
  .places-country-browser{
    grid-column:2!important;order:2!important;height:100%!important;min-height:0!important;
    padding:clamp(28px,4vh,42px) clamp(30px,3vw,52px) 28px!important;
    border-left:1px solid rgba(23,23,20,.13)!important;border-right:0!important;
  }
  .places-country-browser-head{padding-right:0!important}.places-country-list{padding-right:0!important}
  .places-globe-wrap{
    width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
    aspect-ratio:auto!important;margin:0!important;min-height:0!important;
  }
}
@media(max-width:920px){
  .places-globe-area{order:1!important}.places-country-browser{order:2!important}
}

.places-story-carousel{width:min(100%,980px);margin:0 auto}
.places-story-carousel-stage{position:relative;width:100%;min-height:0}
.places-story-carousel-track{position:relative;width:100%}
.places-story-carousel .places-story-card{display:none!important;width:100%;margin:0;transform:none!important;box-shadow:none!important}
.places-story-carousel .places-story-card.is-active{display:block!important}
.places-story-carousel .places-story-card>a{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);min-height:560px}
.places-story-carousel .places-story-media{aspect-ratio:auto;height:100%;min-height:560px}
.places-story-carousel .places-story-media img{object-fit:cover}
.places-story-carousel .places-story-card-copy{min-height:560px;padding:clamp(30px,4vw,58px);justify-content:flex-start}
.places-story-carousel .places-story-card h3{max-width:520px}
.places-story-carousel-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:46px;height:46px;margin:0;border:0;border-radius:50%;background:rgba(23,23,20,.72);color:#fff;font:400 30px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.14)}
.places-story-carousel-arrow:hover{background:rgba(23,23,20,.9)}
.places-story-carousel-arrow:disabled{display:none}
.places-story-carousel-arrow.is-prev{left:14px}.places-story-carousel-arrow.is-next{right:14px}
.places-story-carousel-footer{display:flex;align-items:center;justify-content:center;gap:18px;padding:14px 0 0;color:var(--places-body-color,#5c574f);font:600 9px/1 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.08em}
.places-story-carousel-dots{display:flex;align-items:center;gap:7px}
.places-story-carousel-dots button{width:7px;height:7px;margin:0;padding:0;border:0;border-radius:50%;background:rgba(23,23,20,.24);cursor:pointer}
.places-story-carousel-dots button.is-active{background:var(--places-accent,#9d4936);transform:scale(1.22)}
.places-story-carousel .places-story-note p{margin:0 0 .8em}.places-story-carousel .places-story-note p:last-child{margin-bottom:0}

.hands-reference-intro-copy{max-width:760px;margin:0;color:var(--hands-body-color,#5c574f);font-family:var(--font-body,Montserrat,Arial,sans-serif);font-size:var(--hands-intro-body-size-desktop,34px);line-height:1.32}
.hands-reference-intro-copy p{margin:0 0 .9em}.hands-reference-intro-copy p:last-child{margin-bottom:0}
.hands-inline-note{margin:0 0 24px;color:var(--hands-body-color,#5c574f);font-size:calc(var(--hands-collection-body-size-desktop,17px) * 1.12);line-height:1.55}
.hands-inline-note p{margin:0 0 .8em}.hands-inline-note p:last-child{margin-bottom:0}
.story-single .lead.rich-copy p{margin:0 0 .9em}.story-single .lead.rich-copy p:last-child{margin-bottom:0}

@media(max-width:800px){
  .places-story-carousel{width:100%}
  .places-story-carousel .places-story-card>a{grid-template-columns:1fr;min-height:0}
  .places-story-carousel .places-story-media{height:min(78vw,520px);min-height:300px}
  .places-story-carousel .places-story-card-copy{min-height:280px;padding:26px 22px 32px}
  .places-story-carousel-arrow{width:40px;height:40px;font-size:26px}.places-story-carousel-arrow.is-prev{left:9px}.places-story-carousel-arrow.is-next{right:9px}
  
  
}

/* v5.55 — Moments entries are full-width written spreads.
   Desktop: each Moment occupies exactly the visible window below the header.
   Mobile/tablet: natural height, justified copy, normal vertical scrolling. */
.moment-entry{
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:clamp(18px,2.4vh,30px)!important;
  width:100%!important;
  max-width:none!important;
  padding:clamp(38px,5vh,72px) clamp(22px,5vw,82px)!important;
}
.moment-entry-body{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  color:var(--moments-body-color,#211f1b)!important;
  text-align:justify!important;
  text-align-last:left!important;
  hyphens:auto;
  overflow-wrap:break-word;
  text-wrap:pretty;
}
.moment-entry-body p{
  margin:0 0 clamp(.65em,1.35vh,1.15em)!important;
}
.moment-entry-body p:last-child{margin-bottom:0!important}
.moment-entry-meta{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:10px 16px!important;
  width:100%!important;
  margin:0!important;
  color:var(--moments-accent,#b14b36)!important;
  font:600 var(--moments-meta-size-desktop,10px)/1.35 var(--font-ui,Montserrat,Arial,sans-serif)!important;
  letter-spacing:.08em!important;
  text-transform:none!important;
}
.moment-entry-number{
  color:var(--moments-meta-color,#746f67)!important;
  letter-spacing:.12em!important;
}
.moment-entry-meta .story-hashtags{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px 12px!important;
  margin:0!important;
  color:var(--moments-accent,#b14b36)!important;
  font:inherit!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
}

@media(min-width:901px){
  .moment-entry{
    height:calc(var(--app-window-height,100dvh) - var(--site-header-height,92px))!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    padding-top:clamp(34px,4.6vh,66px)!important;
    padding-bottom:clamp(34px,4.6vh,66px)!important;
  }
  .moment-entry-body{
    /* This setting remains the author's requested size; JS only reduces it when
       a long Moment would otherwise exceed one desktop viewport. */
    font-size:var(--moments-entry-body-size-desktop,28px)!important;
    line-height:1.38!important;
  }
}

@media(max-width:900px){
  .moment-entry{
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
    justify-content:flex-start!important;
    padding:50px 20px 58px!important;
    gap:24px!important;
  }
  .moment-entry-body{
    font-size:var(--moments-entry-body-size-mobile,18px)!important;
    line-height:1.58!important;
    text-align:justify!important;
    text-align-last:left!important;
  }
  .moment-entry-meta{
    font-size:var(--moments-meta-size-mobile,9px)!important;
  }
}

/* v5.56 — Places globe sizing from the approved reference.
   Keep the current Browse Places content, but restore the reference proportions:
   a wide map stage (~74%) + a narrower browser rail (~26%), with the globe itself
   sized from the available window height rather than stretched to fill the canvas. */
@media(min-width:921px){
  .places-map-section{
    grid-template-columns:minmax(0,2.85fr) minmax(300px,1fr)!important;
    height:calc(var(--app-window-height,100dvh) - var(--site-header-height,92px))!important;
    min-height:560px!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  .places-globe-area{
    grid-column:1!important;
    order:1!important;
    height:100%!important;
    min-height:0!important;
    padding:46px clamp(24px,2.5vw,44px) 22px!important;
  }
  .places-country-browser{
    grid-column:2!important;
    order:2!important;
    height:100%!important;
    min-height:0!important;
    padding:clamp(34px,4.5vh,54px) clamp(30px,3vw,52px) 30px!important;
    border-left:1px solid rgba(23,23,20,.13)!important;
    border-right:0!important;
  }
  .places-globe-wrap{
    /* Reference: sphere is almost the full usable map height, but does not fill
       the full width of the left panel. Keeping the canvas square also keeps the
       globe physically round at every desktop/laptop aspect ratio. */
    height:calc(100% - 54px)!important;
    width:auto!important;
    max-height:760px!important;
    max-width:82%!important;
    aspect-ratio:1 / 1!important;
    margin:auto!important;
    min-height:0!important;
  }
  #places-globe,#places-globe-overlay{
    width:100%!important;
    height:100%!important;
  }
}

@media(min-width:921px) and (max-height:700px){
  .places-globe-area{padding-top:40px!important;padding-bottom:16px!important}
  .places-globe-wrap{height:calc(100% - 42px)!important;max-height:none!important}
  .places-country-browser{padding-top:30px!important;padding-bottom:22px!important}
}

/* v5.57 — Fix the desktop globe collapsing to the canvas' intrinsic size.
   The previous percentage-height rule could resolve as auto inside the grid, leaving
   the 300px canvas intrinsic box. Give the globe a definite viewport-derived square
   size so it matches the reference visually while keeping the current content. */
@media(min-width:921px){
  .places-map-section{
    grid-template-columns:minmax(0,2.85fr) minmax(300px,1fr)!important;
  }
  .places-globe-area{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:relative!important;
  }
  .places-globe-wrap{
    width:min(68vw, calc(var(--app-window-height,100dvh) - var(--site-header-height,92px) - 72px), 790px)!important;
    height:auto!important;
    aspect-ratio:1 / 1!important;
    max-width:calc(100% - 28px)!important;
    max-height:none!important;
    flex:0 0 auto!important;
    margin:auto!important;
  }
  #places-globe,#places-globe-overlay{
    width:100%!important;
    height:100%!important;
  }
  .places-map-controls{right:clamp(18px,2vw,30px)!important}
}
@media(min-width:921px) and (max-height:700px){
  .places-globe-wrap{
    width:min(66vw, calc(var(--app-window-height,100dvh) - var(--site-header-height,92px) - 44px), 720px)!important;
  }
}


/* v5.58 — Places stories are a grid again; only multiple photographs inside one entry carousel. */
.places-story-card-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(18px,2vw,30px)!important;width:100%!important;margin:0!important}
.places-story-card-grid .places-story-card{display:block!important;width:auto!important;margin:0!important}
.places-story-card-grid .places-story-card>a{display:flex!important;min-height:100%!important;grid-template-columns:none!important;flex-direction:column!important}
.places-story-card-grid .places-story-media{position:relative;aspect-ratio:4/3!important;height:auto!important;min-height:0!important;overflow:hidden;background:#ddd6ca}
.places-story-card-grid .places-story-media figure{display:none;width:100%;height:100%;margin:0}.places-story-card-grid .places-story-media figure.is-active{display:block}.places-story-card-grid .places-story-media img{display:block;width:100%;height:100%;object-fit:cover}
.places-card-media-arrow{position:absolute;z-index:4;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:34px!important;height:34px!important;margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.7)!important;border-radius:50%!important;background:rgba(23,23,20,.58)!important;color:#fff!important;font:400 23px/1 Arial,sans-serif!important;cursor:pointer}.places-card-media-arrow.is-prev{left:10px}.places-card-media-arrow.is-next{right:10px}.places-card-media-arrow:hover{background:rgba(23,23,20,.82)!important}
.places-card-media-footer{position:absolute;z-index:4;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 12px 10px;background:linear-gradient(transparent,rgba(0,0,0,.4));color:#fff;font:600 9px/1 var(--font-ui,Montserrat,Arial,sans-serif)}.places-card-media-dots{display:flex;gap:5px}.places-card-media-dots button{width:6px!important;height:6px!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.55)!important}.places-card-media-dots button.is-active{background:#fff!important;transform:scale(1.2)}
@media(max-width:1050px){.places-story-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){.places-story-card-grid{grid-template-columns:1fr!important}.places-card-media-arrow{width:38px!important;height:38px!important}}

/* v5.58 — hard floor for the desktop world globe. Earlier percentage rules could still be
   overridden by the canvas/layout cascade on the live host. This gives the stage a concrete
   viewport-derived square and the sphere therefore fills it like the reference. */
@media(min-width:921px){
  .places-globe-wrap{width:min(72dvh,760px,calc(100% - 36px))!important;min-width:min(540px,calc(100% - 36px))!important;height:auto!important;aspect-ratio:1/1!important}
  #places-globe,#places-globe-overlay{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
}
@media(min-width:921px) and (max-height:760px){.places-globe-wrap{width:min(68dvh,700px,calc(100% - 28px))!important;min-width:min(470px,calc(100% - 28px))!important}}

/* v5.58 — rich text typography tokens render the same on the public site as in Studio. */
[data-rich-role="title"]{font-family:var(--font-title,"Cormorant Garamond",Georgia,serif)!important}[data-rich-role="heading"]{font-family:var(--font-heading,"Cormorant Garamond",Georgia,serif)!important}[data-rich-role="body"]{font-family:var(--font-body,Montserrat,Arial,sans-serif)!important}[data-rich-role="subtitle"]{font-family:var(--font-subtitle,Montserrat,Arial,sans-serif)!important}[data-rich-role="ui"]{font-family:var(--font-ui,Montserrat,Arial,sans-serif)!important}
[data-rich-font="serif"]{font-family:"Cormorant Garamond",Georgia,serif!important}[data-rich-font="librebaskerville"]{font-family:"Libre Baskerville",Georgia,serif!important}[data-rich-font="sans"]{font-family:Montserrat,Arial,sans-serif!important}[data-rich-font="georgia"]{font-family:Georgia,"Times New Roman",serif!important}[data-rich-font="times"]{font-family:"Times New Roman",Times,serif!important}[data-rich-font="arial"]{font-family:Arial,Helvetica,sans-serif!important}[data-rich-font="custom1"]{font-family:MenatCustom1,Arial,sans-serif!important}[data-rich-font="custom2"]{font-family:MenatCustom2,Arial,sans-serif!important}[data-rich-font="custom3"]{font-family:MenatCustom3,Arial,sans-serif!important}[data-rich-font="custom4"]{font-family:MenatCustom4,Arial,sans-serif!important}

/* v5.59 — rich page-copy fields keep the same layout/typography as their former textareas. */
.people-reference-intro-body{max-width:760px;margin:0;color:inherit;font-size:var(--people-intro-body-size-desktop,30px)!important;line-height:1.34!important}
.people-reference-intro-body p,.insights-editorial-intro-body p,.about-rich-body p{margin:0}.people-reference-intro-body p+p,.insights-editorial-intro-body p+p,.about-rich-body p+p{margin-top:.8em}
.insights-editorial-intro-body{max-width:620px;margin:0 0 8px;color:var(--insights-body-color,#5c574f);font:400 var(--insights-intro-body-size-desktop,30px)/1.3 var(--font-heading,"Cormorant Garamond",Georgia,serif)}
.about-reference-page>.about>.about-rich-body{font-size:var(--about-body-size-desktop,32px)!important;line-height:1.35!important}
@media (max-width:760px) {.people-reference-intro-body{font-size:var(--people-intro-body-size-mobile,22px)!important}.insights-editorial-intro-body{font-size:var(--insights-intro-body-size-mobile,22px)!important}.about-reference-page>.about>.about-rich-body{font-size:var(--about-body-size-mobile,24px)!important}}

/* v5.59 — the browser panel can never squeeze the actual world stage on desktop. JS also
   writes the measured square in pixels, but these rules make the intended layout explicit. */
@media(min-width:921px){.places-map-section{grid-template-columns:minmax(0,3fr) minmax(300px,1fr)!important}.places-globe-area{grid-column:1!important;order:1!important}.places-country-browser{grid-column:2!important;order:2!important}.places-globe-wrap:not(.is-local-map){flex:none!important;justify-self:center!important;align-self:center!important}}

/* v5.60 — interior-page identity + quote-led openings.
   Home keeps the personal tagline. Interior pages announce their section in the
   header, so archive pages no longer need a second oversized page-name hero. */
.section-opening-quote{
  box-sizing:border-box;
  width:100%;
  margin:0;
  padding:clamp(42px,5.2vw,82px) clamp(24px,6.2vw,100px);
  border-bottom:1px solid rgba(23,23,20,.14);
}
.section-opening-quote blockquote{
  width:min(100%,1120px);
  margin:0 auto;
  padding:0;
  border:0;
  color:inherit;
  font-family:var(--font-heading,"Cormorant Garamond",Georgia,serif)!important;
  font-size:clamp(30px,3.25vw,52px)!important;
  font-weight:400;
  line-height:1.16!important;
  letter-spacing:-.025em;
  text-wrap:balance;
}
.section-opening-quote blockquote p{margin:0!important}
.section-opening-quote blockquote p+p{margin-top:.72em!important}
.places-opening-quote{background:var(--places-bg,#f4f1ea);color:var(--places-body-color,#5c574f)}
.people-opening-quote{background:var(--people-intro-bg,#f4f1ea);color:#5c574f}
.hands-opening-quote{background:var(--hands-bg,#f4f1ea);color:var(--hands-body-color,#5c574f)}
.insights-opening-quote{background:var(--insights-intro-bg,#f4f1ea);color:var(--insights-body-color,#5c574f)}
.about-opening-quote{background:var(--about-intro-bg,#f4f1ea);color:#171714}
/* Preserve Studio-controlled sizing where it already exists, but present it as a quote. */
.people-opening-quote .people-reference-intro-body{width:min(100%,1120px)!important;max-width:1120px!important;margin:0 auto!important;font-family:var(--font-heading,"Cormorant Garamond",Georgia,serif)!important;font-size:clamp(30px,3.25vw,var(--people-intro-body-size-desktop,52px))!important;line-height:1.16!important}
.hands-opening-quote .hands-reference-intro-copy{width:min(100%,1120px)!important;max-width:1120px!important;margin:0 auto!important;font-family:var(--font-heading,"Cormorant Garamond",Georgia,serif)!important;font-size:clamp(30px,3.25vw,var(--hands-intro-body-size-desktop,52px))!important;line-height:1.16!important}
.insights-opening-quote .insights-editorial-intro-body{width:min(100%,1120px)!important;max-width:1120px!important;margin:0 auto!important;font-family:var(--font-heading,"Cormorant Garamond",Georgia,serif)!important;font-size:clamp(30px,3.25vw,var(--insights-intro-body-size-desktop,52px))!important;line-height:1.16!important}
.about-opening-quote blockquote{font-size:clamp(34px,4.4vw,var(--about-intro-title-size-desktop,72px))!important;color:#171714}

/* v5.60 — center the WORLD globe in the actual left map panel.
   Previous versions centered the stage through normal flow; live-host layout rules
   could still leave that stage visually left-biased. Position the world stage from
   the panel centre itself. Local/country maps keep their own full-stage behaviour. */
@media(min-width:921px){
  .places-globe-area:not(.is-local-map){position:relative!important;display:block!important}
  .places-globe-area:not(.is-local-map) .places-globe-wrap{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    margin:0!important;
  }
  .places-globe-area:not(.is-local-map) .places-map-instruction{z-index:8}
  .places-globe-area:not(.is-local-map) .places-map-attribution{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:max-content;max-width:80%;z-index:8}
}
@media(max-width:900px){
  .section-opening-quote{padding:34px 20px 38px}
  
  .about-opening-quote blockquote{font-size:clamp(30px,9vw,48px)!important}
}

/* v5.61 — Interior identity is the page name, larger than the Home tagline. */
.brand-line.section-name{font-size:18px!important;font-weight:500;line-height:1.15;letter-spacing:.01em;color:var(--ink,#1d1d19)}
@media (max-width:760px) {.brand-line.section-name{font-size:14px!important;line-height:1.2}}

/* v5.61 — Places quote and map read as one continuous editorial section.
   The colour split follows the map proportions: globe panel left, Browse Places rail right. */
@media(min-width:921px){
  .places-opening-quote{
    display:grid!important;
    grid-template-columns:minmax(0,3fr) minmax(300px,1fr)!important;
    padding:0!important;
    border-bottom:0!important;
    background:linear-gradient(to right,var(--places-bg,#f1ecdf) 0 75%,var(--places-panel-bg,#eee7db) 75% 100%)!important;
  }
  .places-opening-quote blockquote{
    grid-column:1!important;
    width:auto!important;
    max-width:1120px!important;
    margin:0!important;
    padding:clamp(34px,4vw,58px) clamp(30px,6vw,96px)!important;
    font-size:clamp(42px,3.15vw,var(--places-intro-body-size-desktop,52px))!important;
    line-height:1.16!important;
  }
  .places-map-section{border-top:0!important;background:transparent!important}
  .places-globe-area{background:var(--places-bg,#f1ecdf)!important}
  .places-country-browser{background:var(--places-panel-bg,#eee7db)!important}
}
@media(max-width:920px){
  .places-opening-quote{background:var(--places-bg,#f1ecdf)!important;border-bottom:0!important}
  .places-opening-quote blockquote{font-size:clamp(26px,7vw,var(--places-intro-body-size-mobile,38px))!important}
  .places-globe-area{background:var(--places-bg,#f1ecdf)!important}
  .places-country-browser{background:var(--places-panel-bg,#eee7db)!important}
}

/* v5.61 — rich prose written in Studio behaves like document content on the public site. */
.rich-copy a,.story-single .body a,.places-story-note a,.about-rich-body a{color:inherit;text-decoration:underline;text-underline-offset:.12em}
.rich-copy img,.story-single .body img,.places-story-note img,.about-rich-body img{display:block;max-width:100%;height:auto;margin:1.2em auto}
.rich-copy figure,.story-single .body figure,.places-story-note figure,.about-rich-body figure{margin:1.35em 0}
.rich-copy figcaption,.story-single .body figcaption,.places-story-note figcaption,.about-rich-body figcaption{margin-top:.55em;font:500 11px/1.45 var(--font-ui,Montserrat,Arial,sans-serif);text-align:center;opacity:.72}
.rich-copy ul,.rich-copy ol,.story-single .body ul,.story-single .body ol,.places-story-note ul,.places-story-note ol,.about-rich-body ul,.about-rich-body ol{margin:.8em 0 1em;padding-left:2em}
.rich-copy li,.story-single .body li,.places-story-note li,.about-rich-body li{margin:.25em 0}
ul[data-rich-list="check"]{list-style:none!important;padding-left:1.8em!important}ul[data-rich-list="check"]>li{position:relative}ul[data-rich-list="check"]>li:before{content:"☐";position:absolute;left:-1.55em;top:0}ul[data-rich-list="check"]>li[data-checked="1"]:before{content:"☑"}
.rich-copy blockquote,.story-single .body blockquote,.places-story-note blockquote,.about-rich-body blockquote{margin:1em 0;padding:.15em 0 .15em 1em;border-left:2px solid currentColor;font-style:italic}
.rich-copy hr,.story-single .body hr,.places-story-note hr,.about-rich-body hr{margin:1.5em 0;border:0;border-top:1px solid currentColor;opacity:.22}
[data-rich-align="center"]{text-align:center!important}[data-rich-align="right"]{text-align:right!important}[data-rich-align="justify"]{text-align:justify!important;text-justify:inter-word}
@media(min-width:921px){
  .places-globe-area{
    background-color:var(--places-bg,#f1ecdf)!important;
    background-image:radial-gradient(circle at 48% 42%,rgba(255,255,255,.72) 0,rgba(255,255,255,.34) 30%,rgba(255,255,255,.08) 62%,rgba(184,164,132,.10) 100%)!important;
  }
  .places-country-browser{background-color:var(--places-panel-bg,#eee7db)!important;background-image:none!important}
}

/* ============================================================
   v5.62 — viewport composition, section identity, newsletter,
   mobile crop controls and responsive Moments
   ============================================================ */

/* Interior page name + icons behave like one compact identity unit. */
.site-header .brand-meta{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important}
.site-header .brand-line.section-name{
  width:auto!important;min-width:0!important;max-width:none!important;flex:0 0 auto!important;
  margin:0!important;padding-left:clamp(18px,2vw,30px)!important;padding-right:2px!important;
  font-family:var(--section-name-font,var(--font-ui,Montserrat,Arial,sans-serif))!important;
  font-size:var(--section-name-size-desktop,20px)!important;font-weight:500!important;line-height:1.1!important;
  letter-spacing:-.01em!important;white-space:nowrap!important;
}
.site-header .header-inline-social{margin-left:2px!important;gap:7px!important}
.header-social button.newsletter-icon-button{
  appearance:none;display:grid;place-items:center;margin:0;padding:0;border:1px solid currentColor;border-radius:50%;background:transparent;color:inherit;cursor:pointer;
}
.site-header .header-inline-social button.newsletter-icon-button{width:28px;height:28px;opacity:.9}
.site-header .header-inline-social button.newsletter-icon-button svg{width:13px;height:13px}
.site-header .header-inline-social button.newsletter-icon-button:hover,.site-header .header-inline-social button.newsletter-icon-button:focus-visible{opacity:1;transform:translateY(-1px)}
.site-header nav .mobile-menu-social button.newsletter-icon-button{width:42px!important;height:42px!important;border:1px solid rgba(29,29,25,.2)!important;color:var(--ink)!important}
.site-header nav .mobile-menu-social button.newsletter-icon-button svg{width:18px!important;height:18px!important}
.site-footer .header-social button.newsletter-icon-button{width:38px;height:38px;border-color:var(--footer-icon-color,#f4f0e8);color:var(--footer-icon-color,#f4f0e8)}
.site-footer .header-social button.newsletter-icon-button svg{width:18px;height:18px}
@media (max-width:760px) {
  .site-header .brand-line.section-name{font-size:var(--section-name-size-mobile,18px)!important;padding-left:14px!important}
}

/* Newsletter modal opened from the compact header icon. */
body.newsletter-open{overflow:hidden}
.newsletter-modal{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:20px}
.newsletter-modal[hidden]{display:none!important}
.newsletter-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(15,15,13,.58);cursor:pointer}
.newsletter-dialog{position:relative;z-index:1;width:min(92vw,560px);padding:clamp(34px,5vw,58px);background:#f4f1ea;color:#171714;box-shadow:0 28px 80px rgba(0,0,0,.24)}
.newsletter-close{position:absolute;right:18px;top:14px;border:0;background:transparent;color:inherit;font:300 30px/1 Arial,sans-serif;cursor:pointer}
.newsletter-kicker{margin:0 0 18px;font:600 10px/1.2 var(--font-subtitle,Montserrat,Arial,sans-serif);letter-spacing:.16em;text-transform:uppercase;color:#9d4936}
.newsletter-dialog h2{margin:0;font:400 clamp(46px,6vw,72px)/.9 var(--font-title,"Cormorant Garamond",Georgia,serif);letter-spacing:-.05em}
.newsletter-dialog>p:not(.newsletter-kicker){max-width:430px;margin:22px 0 28px;font:400 15px/1.65 var(--font-body,Montserrat,Arial,sans-serif);color:#5c574f}
.newsletter-dialog form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:24px}
.newsletter-dialog form>label:not(.hp){display:grid;gap:8px;font:600 9px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase}
.newsletter-dialog input[type=email]{width:100%;border:0;border-bottom:1px solid #777168;background:transparent;padding:10px 0;font:16px/1.3 var(--font-body,Montserrat,Arial,sans-serif);outline:0}
.newsletter-dialog form>button{border:1px solid #171714;background:#171714;color:#f7f2ea;padding:13px 22px;font:600 10px/1 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.newsletter-success,.newsletter-error{margin:20px 0 0;padding:12px 14px;font:500 13px/1.4 var(--font-body,Montserrat,Arial,sans-serif)}
.newsletter-success{background:#e3eadf;color:#31533a}.newsletter-error{background:#f2dfdb;color:#8e3728}
@media(max-width:560px){.newsletter-dialog form{grid-template-columns:1fr}.newsletter-dialog form>button{justify-self:start}.newsletter-dialog{padding:34px 24px}}

/* Homepage mobile carousel: every image/video can have an independent focal point. */
@media (max-width:760px) {
  .hero-carousel-mobile .hero-panel img,.hero-carousel-mobile .hero-panel video{
    object-fit:cover!important;object-position:var(--mobile-media-x,50%) var(--mobile-media-y,50%)!important;
  }
}

/* Places is one viewport: globe at left, quote + Browse Places in the same right column. */
@media(min-width:921px){
  .places-reference-page{background:var(--places-bg,#f1ecdf)!important}
  .places-map-section{
    display:grid!important;grid-template-columns:minmax(0,3fr) minmax(300px,1fr)!important;
    height:calc(var(--app-window-height,100dvh) - var(--site-header-height,92px))!important;
    min-height:520px!important;max-height:none!important;overflow:hidden!important;border:0!important;background:transparent!important;
  }
  .places-globe-area{
    grid-column:1!important;grid-row:1!important;order:1!important;position:relative!important;display:block!important;
    width:100%!important;height:100%!important;min-height:0!important;padding:46px 36px 22px!important;
    background-color:var(--places-bg,#f1ecdf)!important;
    background-image:radial-gradient(circle at 50% 45%,rgba(255,255,255,.74) 0,rgba(255,255,255,.40) 28%,rgba(255,255,255,.10) 61%,rgba(184,164,132,.11) 100%)!important;
  }
  .places-country-browser{
    grid-column:2!important;grid-row:1!important;order:2!important;display:flex!important;flex-direction:column!important;
    height:100%!important;min-height:0!important;overflow-y:auto!important;padding:clamp(32px,4vh,50px) clamp(28px,3vw,48px)!important;
    border-left:1px solid rgba(23,23,20,.13)!important;border-right:0!important;background:var(--places-panel-bg,#eee7db)!important;
  }
  .places-browser-quote{
    margin:0 0 clamp(28px,4vh,48px)!important;padding:0!important;border:0!important;
    color:var(--places-title-color,#171714)!important;font-family:var(--font-heading,"Cormorant Garamond",Georgia,serif)!important;
    font-size:clamp(25px,min(2.35vw,4.1vh),40px)!important;line-height:1.13!important;letter-spacing:-.026em!important;
  }
  .places-browser-quote p{margin:0!important}.places-browser-quote p+p{margin-top:.65em!important}
  .places-country-browser-head{margin-top:0!important}
  .places-globe-area:not(.is-local-map) .places-globe-wrap{
    left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;margin:0!important;
  }
  .places-map-attribution{bottom:14px!important}
}
@media(max-width:920px){
  .places-map-section{display:flex!important;flex-direction:column!important;height:auto!important;min-height:0!important;overflow:visible!important}
  .places-globe-area{order:1!important;min-height:min(76dvh,680px)!important;height:min(76dvh,680px)!important;padding:42px 14px 22px!important;background:var(--places-bg,#f1ecdf)!important}
  .places-globe-wrap:not(.is-local-map){width:min(88vw,68dvh,600px)!important;height:auto!important;aspect-ratio:1/1!important;margin:auto!important}
  .places-country-browser{order:2!important;padding:34px 22px 44px!important;background:var(--places-panel-bg,#eee7db)!important;border:0!important}
  .places-browser-quote{margin:0 0 30px;padding:0;border:0;font:400 clamp(27px,8vw,44px)/1.12 var(--font-heading,"Cormorant Garamond",Georgia,serif);letter-spacing:-.03em;color:var(--places-title-color,#171714)}
}

/* Quote-led archive pages are not separate hero sections anymore. Remove the dividing lines
   and size the opening + first row as one continuous first screen on desktop. */
@media(min-width:901px){
  .people-reference-page,.hands-reference-page,.insights-reference-page,.about-reference-page{--archive-quote-h:clamp(180px,26vh,260px)}
  .section-opening-quote:not(.places-opening-quote){
    height:var(--archive-quote-h)!important;min-height:0!important;display:flex!important;align-items:center!important;
    padding:clamp(30px,4vh,52px) clamp(42px,6.5vw,106px)!important;border:0!important;
  }
  .section-opening-quote:not(.places-opening-quote) blockquote{width:min(100%,1200px)!important;max-width:1200px!important;margin:0 auto!important}
  .story-filter-bar{border-top:0!important;border-bottom:0!important;padding-top:14px!important;padding-bottom:14px!important}

  .people-reference-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:clamp(14px,1.4vw,24px)!important;
    padding:0 clamp(28px,4vw,66px) 0!important;border:0!important;
    grid-auto-rows:max(340px,calc(var(--app-window-height,100dvh) - var(--site-header-height,92px) - var(--archive-quote-h) - 58px))!important;
  }
  .people-reference-card{height:100%!important;aspect-ratio:auto!important}

  .hands-collection-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;padding:0!important;border:0!important;
    grid-auto-rows:max(330px,calc(var(--app-window-height,100dvh) - var(--site-header-height,92px) - var(--archive-quote-h)))!important;
  }
  .hands-collection-card{height:100%!important;min-height:0!important}

  .insights-entry-list{border-top:0!important}
  .about-reference-page>.about{border-top:0!important;padding-top:clamp(52px,6vw,90px)!important}
}

/* Work opening title + first service row fits the visible screen. More rows continue naturally. */
@media(min-width:901px){
  .work-reference-page{--work-intro-h:clamp(250px,41vh,365px);background:var(--work-page-bg,#f4f1ea)!important}
  .work-services-intro{
    height:var(--work-intro-h)!important;min-height:0!important;align-items:center!important;
    padding:clamp(32px,4vh,56px) clamp(28px,5vw,82px)!important;border:0!important;
  }
  .work-services-intro h1{font-size:min(var(--work-intro-title-size-desktop,108px),7.1vw,13vh)!important;line-height:.86!important}
  .work-services-intro>p{font-size:min(var(--work-intro-body-size-desktop,24px),2.5vh)!important}
  .work-service-grid{
    padding:0 clamp(28px,5vw,82px) 0!important;gap:clamp(12px,1.3vw,22px)!important;
    grid-auto-rows:max(270px,calc(var(--app-window-height,100dvh) - var(--site-header-height,92px) - var(--work-intro-h)))!important;
  }
  .work-service-card,.work-service-card:first-child,.work-service-card:nth-child(3){height:100%!important;min-height:0!important;padding-top:clamp(26px,3vh,38px)!important;padding-bottom:clamp(24px,3vh,34px)!important}
}
@media(min-width:901px) and (max-height:700px){
  .work-reference-page{--work-intro-h:clamp(210px,38vh,285px)}
  .work-services-intro{padding-top:24px!important;padding-bottom:24px!important}
}

/* Mobile Moments: never crop the large title horizontally. The opening may grow vertically;
   the visitor can scroll naturally while all copy remains readable. */
@media (max-width:760px) {
  html,body{max-width:100%;overflow-x:hidden}
  .moments-reference-intro{
    height:auto!important;min-height:calc(var(--app-window-height,100dvh) - var(--site-header-height,82px))!important;
    max-height:none!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(300px,48dvh)!important;overflow:visible!important;
  }
  .moments-reference-copy{height:auto!important;min-height:0!important;overflow:visible!important;padding:24px 18px 26px!important;justify-content:flex-start!important}
  .moments-reference-copy h1{width:100%!important;max-width:100%!important;margin:0!important;overflow:visible!important}
  .moments-reference-copy h1 span{display:block!important;width:100%!important;max-width:100%!important;font-size:clamp(54px,18vw,78px)!important;line-height:.82!important;letter-spacing:-.06em!important;white-space:normal!important;overflow-wrap:normal!important}
  .moments-reference-copy h1 em{display:block!important;width:100%!important;max-width:100%!important;font-size:clamp(46px,15.5vw,68px)!important;line-height:.82!important;letter-spacing:-.055em!important;white-space:normal!important}
  .moments-reference-kicker{margin-bottom:18px!important;font-size:9px!important}
  .moments-reference-dek{margin-top:22px!important;max-width:none!important;font-size:clamp(18px,5.7vw,24px)!important;line-height:1.28!important}
  .moments-reference-intro>figure{height:48dvh!important;min-height:300px!important}
  .moments-reference-intro>figure img{width:100%!important;height:100%!important;object-fit:cover!important}
}

/* Studio-only visual hints used by the new controls. */
.hero-mobile-focal-controls{display:grid;gap:8px;margin-top:14px;padding:14px;border:1px solid rgba(29,29,25,.14);background:#f7f5ef}
.hero-mobile-focal-controls>b{font-size:12px}.hero-mobile-focal-controls>small{color:#706c65;line-height:1.4}.hero-mobile-focal-controls label{display:grid;grid-template-columns:92px 1fr;align-items:center;gap:10px;font-size:11px}.hero-mobile-focal-controls input[type=range]{width:100%}
.section-name-controls{margin-top:18px!important;padding:16px!important;background:#f8f6f0}.section-name-controls label{display:grid;gap:7px}

/* v5.62 final continuity pass — the opening quote belongs to the archive, not to a separate band. */
.people-opening-quote,.hands-opening-quote,.insights-opening-quote,.about-opening-quote{border-bottom:0!important}
.insights-opening-quote{background:var(--insights-grid-bg,var(--insights-intro-bg,#eee9df))!important}
.about-opening-quote{background:var(--about-body-bg,var(--about-intro-bg,#ebe6dc))!important}
@media(min-width:901px){
  .people-opening-quote{background:var(--people-gallery-bg,var(--people-intro-bg,#f4f1ea))!important}
  .hands-opening-quote{background:var(--hands-bg,#f4f1ea)!important}
  .people-reference-grid,.hands-collection-grid,.insights-entry-list,.about-reference-page>.about{border-top:0!important}
}
.hero-mobile-focal-controls .hero-focal-row{display:grid;grid-template-columns:92px 1fr;align-items:center;gap:10px;font-size:11px}

/* v5.63 — unify interior/home header geometry and keep social/contact icons with the navigation. */
@media(min-width:761px){
  .site-header{
    height:96px!important;min-height:96px!important;padding:10px 0!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:center!important;justify-content:normal!important;
  }
  .site-header .brand-group{
    grid-column:1;min-width:0;width:100%;height:100%;padding-left:clamp(28px,4.2vw,88px);padding-right:clamp(18px,2.6vw,48px);
    gap:clamp(24px,2.4vw,34px)!important;
  }
  .site-header .brand img{width:var(--site-logo-width-desktop,190px)!important;max-height:58px!important}
  .site-header nav{
    grid-column:2;display:flex!important;align-items:center!important;justify-content:flex-end!important;min-width:0;width:100%;
    gap:12px!important;padding-left:clamp(18px,2.2vw,36px);padding-right:clamp(28px,4.2vw,88px);
  }
  .site-header nav .header-menu-links{display:flex;align-items:center;justify-content:flex-end;gap:clamp(14px,1.55vw,26px);min-width:0;white-space:nowrap}
  .site-header nav .header-menu-links>a{font:500 10.5px/1 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.145em;text-transform:uppercase;padding:8px 0}
  .site-header .header-menu-social{display:flex!important;align-items:center!important;flex:0 0 auto!important;gap:6px!important;margin:0 0 0 5px!important;color:inherit!important}
  .site-header .header-menu-social a,.site-header .header-menu-social button.newsletter-icon-button{
    display:grid!important;place-items:center!important;width:27px!important;height:27px!important;margin:0!important;padding:0!important;
    border:1px solid currentColor!important;border-radius:50%!important;background:transparent!important;color:inherit!important;opacity:.92!important;
  }
  .site-header .header-menu-social svg{width:13px!important;height:13px!important}
  .site-header .header-menu-social a:hover,.site-header .header-menu-social a:focus-visible,
  .site-header .header-menu-social button.newsletter-icon-button:hover,.site-header .header-menu-social button.newsletter-icon-button:focus-visible{opacity:1!important;transform:translateY(-1px)}
  .site-header.overlay nav{justify-content:flex-end!important}
  .site-header.overlay nav .header-menu-links{gap:clamp(14px,1.55vw,26px)!important}
  .site-header.overlay .header-menu-social{color:#fff!important}
  .site-header.overlay .header-menu-social a,.site-header.overlay .header-menu-social button.newsletter-icon-button{border-color:rgba(255,255,255,.86)!important;color:#fff!important}
}
@media(min-width:761px) and (max-width:1250px){
  .site-header .brand-group{padding-left:28px;padding-right:16px;gap:18px!important}
  .site-header nav{padding-left:12px;padding-right:24px;gap:8px!important}
  .site-header nav .header-menu-links{gap:clamp(8px,1vw,14px)}
  .site-header nav .header-menu-links>a{font-size:9px;letter-spacing:.11em}
  .site-header .header-menu-social{gap:4px!important;margin-left:2px!important}
  .site-header .header-menu-social a,.site-header .header-menu-social button.newsletter-icon-button{width:24px!important;height:24px!important}
  .site-header .header-menu-social svg{width:11px!important;height:11px!important}
}
@media (max-width:760px) {
  .site-header nav .header-menu-links{display:flex;flex-direction:column;align-items:flex-start;gap:0;width:100%}
  .site-header nav .header-menu-links>a{width:100%;padding:12px 0}
  .site-header .header-menu-social{display:none!important}
}

/* v5.63 — Places is one coherent viewport: globe left, quote + Browse Places right. */
@media(min-width:921px){
  .places-map-section{
    height:calc(var(--app-window-height,100dvh) - 96px)!important;min-height:0!important;max-height:none!important;
    grid-template-columns:minmax(0,3fr) minmax(310px,1fr)!important;overflow:hidden!important;
  }
  .places-globe-area{height:100%!important;min-height:0!important;padding:42px 32px 30px!important}
  .places-globe-area:not(.is-local-map) .places-globe-wrap{
    position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
    width:min(calc(100% - 96px),calc(var(--app-window-height,100dvh) - 96px - 104px),720px)!important;
    min-width:0!important;max-width:none!important;height:auto!important;max-height:none!important;aspect-ratio:1/1!important;margin:0!important;
  }
  .places-country-browser{height:100%!important;padding:clamp(28px,3.5vh,42px) clamp(26px,2.8vw,44px)!important}
  .places-browser-quote{margin:0 0 clamp(22px,3vh,34px)!important;font-size:clamp(24px,min(2.15vw,3.7vh),38px)!important;line-height:1.12!important}
}
@media(min-width:921px) and (max-height:720px){
  .places-globe-area:not(.is-local-map) .places-globe-wrap{width:min(calc(100% - 82px),calc(100dvh - 96px - 78px),640px)!important}
  .places-country-browser{padding-top:24px!important;padding-bottom:22px!important}
  .places-browser-quote{font-size:clamp(22px,3.2vh,31px)!important;margin-bottom:20px!important}
}

/* v5.63 — quote + first row read as one composition, with visible breathing room below. */
@media(min-width:901px){
  .people-reference-page,.hands-reference-page,.insights-reference-page,.about-reference-page{--archive-quote-h:clamp(150px,21vh,205px)}
  .section-opening-quote:not(.places-opening-quote){
    height:var(--archive-quote-h)!important;min-height:0!important;padding:clamp(24px,3.3vh,38px) clamp(42px,6.5vw,106px) 20px!important;
    border:0!important;box-shadow:none!important;background-image:none!important;
  }
  .people-opening-quote,.people-reference-grid{background:var(--people-grid-bg,var(--people-intro-bg,#f4f1ea))!important}
  .hands-opening-quote,.hands-collection-grid{background:var(--hands-bg,#f4f1ea)!important}
  .insights-opening-quote,.insights-entry-list{background:var(--insights-grid-bg,var(--insights-intro-bg,#eee9df))!important}
  .about-opening-quote,.about-reference-page>.about{background:var(--about-body-bg,var(--about-intro-bg,#ebe6dc))!important}
  .people-opening-quote,.hands-opening-quote,.insights-opening-quote,.about-opening-quote,
  .people-reference-grid,.hands-collection-grid,.insights-entry-list,.about-reference-page>.about{border-top:0!important;border-bottom:0!important;box-shadow:none!important}
  .people-opening-quote+ .story-filter-bar,.hands-opening-quote+ .story-filter-bar,.insights-opening-quote+ .story-filter-bar{border:0!important;box-shadow:none!important}

  .people-reference-grid{
    padding:14px clamp(28px,4vw,66px) 28px!important;gap:clamp(14px,1.4vw,24px)!important;
    grid-auto-rows:max(300px,calc(var(--app-window-height,100dvh) - 96px - var(--archive-quote-h) - 42px))!important;
  }
  .people-reference-card{height:100%!important;min-height:0!important;aspect-ratio:auto!important}

  .hands-collection-grid{
    padding:14px 0 28px!important;gap:0!important;
    grid-auto-rows:max(285px,calc(var(--app-window-height,100dvh) - 96px - var(--archive-quote-h) - 42px))!important;
  }
  .hands-collection-card{height:100%!important;min-height:0!important}

  .insights-entry-list{padding-top:0!important;margin-top:0!important}
  .insight-editorial-entry:first-child{border-top:0!important}
  .about-reference-page>.about{margin-top:0!important;padding-top:38px!important}
}

/* v5.63 — Work: opening + first service row fits the viewport with a deliberate lower margin. */
@media(min-width:901px){
  .work-reference-page{--work-intro-h:clamp(230px,36vh,320px)}
  .work-services-intro{
    height:var(--work-intro-h)!important;min-height:0!important;padding:clamp(26px,3.2vh,42px) clamp(28px,5vw,82px) 20px!important;
    border:0!important;box-shadow:none!important;
  }
  .work-service-grid{
    padding:12px clamp(28px,5vw,82px) 30px!important;
    grid-auto-rows:max(245px,calc(var(--app-window-height,100dvh) - 96px - var(--work-intro-h) - 42px))!important;
    align-content:start!important;
  }
  .work-service-card,.work-service-card:first-child,.work-service-card:nth-child(3){height:100%!important;min-height:0!important;padding-top:clamp(20px,2.4vh,32px)!important;padding-bottom:clamp(18px,2.2vh,28px)!important}
}
@media(min-width:901px) and (max-height:700px){
  .work-reference-page{--work-intro-h:clamp(200px,33vh,250px)}
  .work-service-grid{padding-bottom:24px!important;grid-auto-rows:max(220px,calc(100dvh - 96px - var(--work-intro-h) - 36px))!important}
}

/* v5.63 — make every archive seam visually continuous, including pages without a filter bar. */
.people-opening-quote+ .people-reference-grid,
.hands-opening-quote+ .hands-collection-grid,
.insights-opening-quote+ .insights-entry-list,
.about-opening-quote+ .about{border-top:0!important;box-shadow:none!important}

/* v5.65 — keep the desktop social/contact group immediately after Work, not after About Me. */
@media(min-width:761px){
  .site-header nav .header-menu-links>.header-menu-social{
    display:flex!important;align-items:center!important;flex:0 0 auto!important;
    gap:6px!important;margin:0 2px 0 2px!important;color:inherit!important;
  }
  .site-header.overlay nav .header-menu-links>.header-menu-social{color:#fff!important}
}

/* v5.65 — deliberate breathing room beneath the Work-card CTA. */
.work-service-card>a,.work-service-explore{
  margin-bottom:12px!important;
}
@media (max-width:760px) {
  .work-service-card>a,.work-service-explore{margin-bottom:10px!important}
}

/* v5.67 — mobile menu proportion + centering, and firmer Work CTA breathing room. */
@media (max-width:760px) {
  .site-header nav{
    justify-content:center!important;
    align-items:center!important;
    padding:104px 22px 30px!important;
    overflow-y:auto!important;
  }
  .site-header nav .header-menu-links{
    width:min(82vw,360px)!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    margin:0!important;
  }
  .site-header nav .header-menu-links>a{
    width:auto!important;
    min-height:0!important;
    padding:9px 18px!important;
    border:0!important;
    color:#151611!important;
    font-family:var(--font-ui,Montserrat,Arial,sans-serif)!important;
    font-size:clamp(22px,6vw,28px)!important;
    font-weight:500!important;
    line-height:1.15!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
    text-align:center!important;
  }
  .site-header nav .header-menu-links>a:first-of-type{border-top:0!important}
  .site-header nav .mobile-menu-social{
    display:flex!important;
    flex:0 0 auto!important;
    width:auto!important;
    justify-content:center!important;
    align-items:center!important;
    gap:12px!important;
    margin:28px 0 0!important;
    padding:0!important;
  }
  .site-header nav .mobile-menu-social a,
  .site-header nav .mobile-menu-social button.newsletter-icon-button{
    width:46px!important;
    height:46px!important;
    min-height:46px!important;
  }
  .site-header nav .mobile-menu-social svg,
  .site-header nav .mobile-menu-social button.newsletter-icon-button svg{
    width:19px!important;
    height:19px!important;
  }
}

@media(min-width:901px){
  .work-service-card,.work-service-card:first-child,.work-service-card:nth-child(3){
    padding-bottom:38px!important;
  }
  .work-service-card>a,.work-service-explore{margin-bottom:0!important}
}
@media (max-width:760px) {
  .work-service-card,.work-service-card:first-child,.work-service-card:nth-child(3){padding-bottom:30px!important}
}

/* v5.68 — mobile menu: balanced two-column composition.
   Navigation occupies the left 50%, a centered vertical divider separates it,
   and social/contact/newsletter actions occupy the right 50%. */
@media (max-width:760px) {
  .site-header nav{
    justify-content:center!important;
    align-items:center!important;
    padding:96px 24px 30px!important;
    overflow-y:auto!important;
  }
  .site-header nav::before{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    width:1px!important;
    height:min(54vh,430px)!important;
    transform:translate(-50%,-44%)!important;
    background:rgba(21,22,17,.18)!important;
    pointer-events:none!important;
  }
  .site-header nav .header-menu-links{
    position:absolute!important;
    left:0!important;
    top:50%!important;
    transform:translateY(-42%)!important;
    width:50%!important;
    max-width:none!important;
    height:auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    margin:0!important;
    padding:0 22px!important;
    box-sizing:border-box!important;
  }
  .site-header nav .header-menu-links>a{
    width:100%!important;
    max-width:250px!important;
    min-height:0!important;
    padding:8px 4px!important;
    border:0!important;
    color:#151611!important;
    font-family:var(--font-ui,Montserrat,Arial,sans-serif)!important;
    font-size:clamp(18px,4.8vw,23px)!important;
    font-weight:500!important;
    line-height:1.16!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
    text-align:center!important;
  }
  .site-header nav .mobile-menu-social{
    position:absolute!important;
    right:0!important;
    top:50%!important;
    transform:translateY(-42%)!important;
    width:50%!important;
    height:auto!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    gap:15px!important;
    margin:0!important;
    padding:0 22px!important;
    box-sizing:border-box!important;
    border:0!important;
  }
  .site-header nav .mobile-menu-social a,
  .site-header nav .mobile-menu-social button.newsletter-icon-button{
    width:48px!important;
    height:48px!important;
    min-height:48px!important;
    flex:0 0 48px!important;
    padding:0!important;
    margin:0!important;
    border:1px solid rgba(21,22,17,.25)!important;
    border-radius:50%!important;
    display:grid!important;
    place-items:center!important;
    color:#151611!important;
    background:transparent!important;
  }
  .site-header nav .mobile-menu-social svg,
  .site-header nav .mobile-menu-social button.newsletter-icon-button svg{
    width:19px!important;
    height:19px!important;
  }
}

/* Very narrow phones: preserve the 50/50 structure while keeping everything comfortably inside. */
@media(max-width:390px){
  .site-header nav .header-menu-links,
  .site-header nav .mobile-menu-social{padding-left:14px!important;padding-right:14px!important}
  .site-header nav .header-menu-links>a{font-size:clamp(16px,4.7vw,19px)!important;padding:7px 2px!important}
  .site-header nav .mobile-menu-social{gap:12px!important}
  .site-header nav .mobile-menu-social a,
  .site-header nav .mobile-menu-social button.newsletter-icon-button{width:44px!important;height:44px!important;min-height:44px!important;flex-basis:44px!important}
  .site-header nav::before{height:min(50vh,390px)!important}
}

/* v5.69 — desktop homepage header follows the two-image split.
   Logo + tagline + social/contact actions stay entirely in the LEFT image.
   The RIGHT image contains only the navigation menu. */
@media(min-width:761px){
  .site-header.overlay .brand-group{
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
  }
  .site-header.overlay .brand-meta{flex:0 1 auto!important;min-width:0!important}
  .site-header.overlay .home-desktop-social{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex:0 0 auto!important;
    gap:6px!important;
    margin-left:auto!important;
    color:#fff!important;
  }
  .site-header.overlay .home-desktop-social a,
  .site-header.overlay .home-desktop-social button.newsletter-icon-button{
    display:grid!important;
    place-items:center!important;
    width:27px!important;
    height:27px!important;
    min-width:27px!important;
    padding:0!important;
    margin:0!important;
    border:1px solid rgba(255,255,255,.86)!important;
    border-radius:50%!important;
    background:transparent!important;
    color:#fff!important;
  }
  .site-header.overlay .home-desktop-social svg{width:13px!important;height:13px!important}
  .site-header.overlay nav{padding-left:clamp(28px,3vw,52px)!important;padding-right:clamp(28px,4.2vw,88px)!important}
  .site-header.overlay nav .header-menu-links{
    width:100%!important;
    justify-content:space-between!important;
    gap:0!important;
  }
  .site-header.overlay nav .header-menu-links>a{flex:0 0 auto!important}
}
@media(min-width:761px) and (max-width:1250px){
  .site-header.overlay .home-desktop-social{gap:4px!important}
  .site-header.overlay .home-desktop-social a,
  .site-header.overlay .home-desktop-social button.newsletter-icon-button{width:24px!important;height:24px!important;min-width:24px!important}
  .site-header.overlay .home-desktop-social svg{width:11px!important;height:11px!important}
  .site-header.overlay nav{padding-left:18px!important;padding-right:24px!important}
  .site-header.overlay nav .header-menu-links>a{font-size:9px!important;letter-spacing:.11em!important}
}
@media (max-width:760px) {
  .site-header .home-desktop-social{display:none!important}
}

/* v5.70 — quote-first mobile flow + About opening containment.
   Places begins with the quote/Browse Places rail on phones, then the globe.
   About no longer forces a long opening quote into the shared fixed archive height. */
@media(max-width:920px){
  .places-country-browser{
    order:1!important;
    padding:34px 22px 38px!important;
  }
  .places-globe-area{
    order:2!important;
    min-height:min(72dvh,640px)!important;
    height:min(72dvh,640px)!important;
  }
  .places-browser-quote{
    margin:0 0 30px!important;
  }
}

@media(min-width:901px){
  .about-reference-page{--archive-quote-h:auto!important}
  .about-opening-quote{
    height:auto!important;
    min-height:clamp(250px,31vh,340px)!important;
    padding:clamp(34px,4.4vh,54px) clamp(42px,6.5vw,106px)!important;
    display:flex!important;
    align-items:center!important;
    overflow:visible!important;
  }
  .about-opening-quote blockquote{
    font-size:clamp(46px,min(4.4vw,7.4vh),72px)!important;
    line-height:1.05!important;
    text-wrap:balance!important;
  }
}

@media(max-width:900px){
  .about-opening-quote{
    height:auto!important;
    min-height:0!important;
    padding:34px 20px 38px!important;
    overflow:visible!important;
  }
  .about-opening-quote blockquote{
    font-size:clamp(32px,8.6vw,48px)!important;
    line-height:1.08!important;
  }
}

/* v5.71 — homepage desktop header rhythm.
   The social cluster finishes close to the 50/50 image divider and the navigation begins
   the same distance on the other side. Menu-to-menu spacing uses that same visual rhythm,
   while labels are slightly larger for a stronger desktop presence. */
@media(min-width:1251px){
  .site-header.overlay .brand-group{
    padding-right:20px!important;
  }
  .site-header.overlay .home-desktop-social{
    margin-left:auto!important;
  }
  .site-header.overlay nav{
    padding-left:20px!important;
    padding-right:clamp(28px,3.2vw,56px)!important;
    justify-content:flex-start!important;
  }
  .site-header.overlay nav .header-menu-links{
    width:auto!important;
    justify-content:flex-start!important;
    gap:clamp(28px,2.05vw,36px)!important;
  }
  .site-header.overlay nav .header-menu-links>a{
    font-size:11.5px!important;
    letter-spacing:.135em!important;
  }
}

/* Laptop widths keep the same logic, just slightly tighter so the entire menu stays on one line. */
@media(min-width:761px) and (max-width:1250px){
  .site-header.overlay .brand-group{padding-right:14px!important}
  .site-header.overlay nav{
    padding-left:14px!important;
    padding-right:20px!important;
    justify-content:flex-start!important;
  }
  .site-header.overlay nav .header-menu-links{
    width:auto!important;
    justify-content:flex-start!important;
    gap:clamp(14px,1.55vw,22px)!important;
  }
  .site-header.overlay nav .header-menu-links>a{
    font-size:10px!important;
    letter-spacing:.115em!important;
  }
}

/* v5.73 — mobile menu refinement: editorial 50/50 menu with Explore / Connect labels.
   The left half contains numbered page links; the right half contains named contact/social rows. */
.header-social .social-label{display:none}
.header-social .social-icon-glyph{display:grid;place-items:center}
@media (max-width:760px) {
  .site-header nav{
    padding:96px 0 34px!important;
    overflow:hidden!important;
  }
  .site-header nav::before{
    top:50%!important;
    height:min(52vh,420px)!important;
    transform:translate(-50%,-39%)!important;
    background:rgba(21,22,17,.16)!important;
  }
  .site-header nav .header-menu-links,
  .site-header nav .mobile-menu-social{
    top:50%!important;
    transform:translateY(-39%)!important;
    width:50%!important;
    min-height:min(52vh,420px)!important;
    justify-content:center!important;
    box-sizing:border-box!important;
  }
  .site-header nav .header-menu-links{
    left:0!important;
    align-items:flex-start!important;
    padding:0 clamp(24px,7vw,46px)!important;
    gap:1px!important;
    counter-reset:mobile-nav!important;
  }
  .site-header nav .header-menu-links::before{
    content:"EXPLORE";
    display:block;
    margin:0 0 18px 2px;
    color:#9d4936;
    font:600 10px/1.1 var(--font-ui,Montserrat,Arial,sans-serif);
    letter-spacing:.18em;
  }
  .site-header nav .header-menu-links>a{
    counter-increment:mobile-nav;
    display:flex!important;
    align-items:baseline!important;
    gap:11px!important;
    width:100%!important;
    max-width:none!important;
    padding:7px 0!important;
    text-align:left!important;
    font-size:clamp(16px,4.8vw,20px)!important;
    line-height:1.12!important;
    letter-spacing:.11em!important;
  }
  .site-header nav .header-menu-links>a::before{
    content:counter(mobile-nav, decimal-leading-zero);
    flex:0 0 20px;
    color:#9d4936;
    font:500 8px/1 var(--font-ui,Montserrat,Arial,sans-serif);
    letter-spacing:.08em;
  }
  .site-header nav .mobile-menu-social{
    right:0!important;
    align-items:stretch!important;
    gap:5px!important;
    padding:0 clamp(20px,6vw,42px)!important;
  }
  .site-header nav .mobile-menu-social::before{
    content:"CONNECT";
    display:block;
    margin:0 0 16px 0;
    color:#9d4936;
    font:600 10px/1.1 var(--font-ui,Montserrat,Arial,sans-serif);
    letter-spacing:.18em;
    text-align:left;
  }
  .site-header nav .mobile-menu-social a,
  .site-header nav .mobile-menu-social button.newsletter-icon-button{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:11px!important;
    width:100%!important;
    height:auto!important;
    min-height:44px!important;
    flex:0 0 auto!important;
    margin:0!important;
    padding:2px 0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#151611!important;
    text-align:left!important;
  }
  .site-header nav .mobile-menu-social .social-icon-glyph{
    flex:0 0 40px!important;
    width:40px!important;
    height:40px!important;
    border:1px solid rgba(21,22,17,.24)!important;
    border-radius:50%!important;
  }
  .site-header nav .mobile-menu-social svg,
  .site-header nav .mobile-menu-social button.newsletter-icon-button svg{
    width:17px!important;
    height:17px!important;
  }
  .site-header nav .mobile-menu-social .social-label{
    display:inline!important;
    min-width:0!important;
    color:#151611!important;
    font:500 clamp(12px,3.55vw,14px)/1.2 var(--font-ui,Montserrat,Arial,sans-serif)!important;
    letter-spacing:.07em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
  }
}
@media(max-width:390px){
  .site-header nav .header-menu-links{padding-left:21px!important;padding-right:18px!important}
  .site-header nav .mobile-menu-social{padding-left:18px!important;padding-right:16px!important}
  .site-header nav .header-menu-links>a{font-size:15.5px!important;gap:8px!important}
  .site-header nav .mobile-menu-social .social-icon-glyph{width:36px!important;height:36px!important;flex-basis:36px!important}
  .site-header nav .mobile-menu-social .social-label{font-size:11.5px!important}
}

/* v5.73 — About opening: never clip the first line under the header.
   Give the large statement real top breathing room and let its natural height define the section. */
@media(min-width:901px){
  .about-reference-page{overflow:visible!important}
  .about-opening-quote{
    height:auto!important;
    min-height:0!important;
    display:block!important;
    padding:clamp(64px,7.5vh,92px) clamp(42px,6.5vw,106px) clamp(42px,5.5vh,66px)!important;
    overflow:visible!important;
  }
  .about-opening-quote blockquote{
    width:min(100%,1200px)!important;
    max-width:1200px!important;
    margin:0 auto!important;
    padding:.12em 0 .04em!important;
    overflow:visible!important;
    line-height:1.08!important;
  }
  .about-opening-quote+ .about{padding-top:clamp(42px,5.5vw,74px)!important}
}
@media(max-width:900px){
  .about-opening-quote{
    display:block!important;
    padding:44px 20px 38px!important;
    overflow:visible!important;
  }
  .about-opening-quote blockquote{margin:0!important;padding:.12em 0 .04em!important;overflow:visible!important}
}

/* v5.73 — NASA credit is discreet and pinned to the map stage instead of creating blank space. */
.places-globe-area{position:relative!important}
.places-map-attribution{
  position:absolute!important;
  right:14px!important;
  bottom:10px!important;
  left:auto!important;
  transform:none!important;
  width:auto!important;
  max-width:70%!important;
  margin:0!important;
  z-index:9!important;
  color:rgba(23,23,20,.52)!important;
  font:500 7px/1.25 var(--font-ui,Montserrat,Arial,sans-serif)!important;
  letter-spacing:.035em!important;
  text-align:right!important;
  pointer-events:none!important;
}
.places-globe-area.is-local-map .places-map-attribution{color:rgba(247,242,234,.72)!important}
@media(max-width:920px){
  .places-map-attribution{right:10px!important;bottom:8px!important;max-width:82%!important;font-size:6.5px!important}
}

/* ============================================================
   v5.74 — final header rhythm, roomier mobile menu, About top fix
   ============================================================ */

/* Homepage / laptop: the 50/50 image split is the header grid too.
   Social actions finish just before the centre line; the navigation begins
   the same distance after it and runs almost to the right edge. */
@media(min-width:1101px){
  .site-header.overlay .brand-group{
    padding-left:clamp(30px,4.2vw,70px)!important;
    padding-right:18px!important;
  }
  .site-header.overlay .home-desktop-social{
    margin-left:auto!important;
    margin-right:0!important;
    gap:6px!important;
  }
  .site-header.overlay nav{
    padding-left:18px!important;
    padding-right:18px!important;
    justify-content:stretch!important;
  }
  .site-header.overlay nav .header-menu-links{
    display:grid!important;
    grid-template-columns:repeat(7,max-content)!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-width:0!important;
    gap:0!important;
  }
  .site-header.overlay nav .header-menu-links>a{
    font-size:clamp(11.5px,.76vw,13px)!important;
    letter-spacing:.125em!important;
    white-space:nowrap!important;
  }
}

/* Smaller laptops keep the same edge-to-edge logic but reduce type just enough
   to guarantee one line rather than creating a large blank area after About Me. */
@media(min-width:761px) and (max-width:1100px){
  .site-header.overlay .brand-group{padding-left:24px!important;padding-right:12px!important}
  .site-header.overlay .home-desktop-social{margin-left:auto!important;margin-right:0!important;gap:4px!important}
  .site-header.overlay nav{padding-left:12px!important;padding-right:12px!important;justify-content:stretch!important}
  .site-header.overlay nav .header-menu-links{
    display:grid!important;
    grid-template-columns:repeat(7,max-content)!important;
    justify-content:space-between!important;
    align-items:center!important;
    width:100%!important;
    gap:0!important;
  }
  .site-header.overlay nav .header-menu-links>a{font-size:clamp(9.3px,1vw,10.5px)!important;letter-spacing:.095em!important;white-space:nowrap!important}
}

/* Interior desktop header: keep social actions immediately before Work, but use
   the available navigation half instead of leaving an oversized trailing gap. */
@media(min-width:1101px){
  .site-header:not(.overlay) nav{padding-left:18px!important;padding-right:18px!important;gap:16px!important}
  .site-header:not(.overlay) nav .header-menu-links{
    flex:1 1 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:clamp(15px,1.4vw,24px)!important;
  }
  .site-header:not(.overlay) nav .header-menu-links>a{font-size:11px!important}
  .site-header:not(.overlay) .header-menu-social{margin-right:2px!important}
}

/* Mobile menu: retain the editorial 50/50 split, but let it breathe across
   more of the viewport. Type, icons and row spacing are intentionally larger. */
@media (max-width:760px) {
  .site-header nav{
    padding:100px 0 44px!important;
    overflow:hidden!important;
  }
  .site-header nav::before{
    top:52%!important;
    height:min(64vh,540px)!important;
    transform:translate(-50%,-46%)!important;
    background:rgba(21,22,17,.16)!important;
  }
  .site-header nav .header-menu-links,
  .site-header nav .mobile-menu-social{
    top:52%!important;
    transform:translateY(-46%)!important;
    width:50%!important;
    min-height:min(64vh,540px)!important;
    justify-content:center!important;
  }
  .site-header nav .header-menu-links{
    left:0!important;
    padding:0 clamp(26px,8vw,52px)!important;
    gap:0!important;
  }
  .site-header nav .header-menu-links::before,
  .site-header nav .mobile-menu-social::before{
    margin-bottom:24px!important;
    font-size:clamp(11px,3vw,13px)!important;
    letter-spacing:.2em!important;
  }
  .site-header nav .header-menu-links>a{
    gap:13px!important;
    padding:10px 0!important;
    font-size:clamp(19px,5.6vw,24px)!important;
    line-height:1.12!important;
    letter-spacing:.105em!important;
  }
  .site-header nav .header-menu-links>a::before{
    flex-basis:23px!important;
    font-size:clamp(9px,2.6vw,11px)!important;
  }
  .site-header nav .mobile-menu-social{
    right:0!important;
    padding:0 clamp(24px,7vw,48px)!important;
    gap:8px!important;
  }
  .site-header nav .mobile-menu-social a,
  .site-header nav .mobile-menu-social button.newsletter-icon-button{
    min-height:58px!important;
    gap:14px!important;
    padding:4px 0!important;
  }
  .site-header nav .mobile-menu-social .social-icon-glyph{
    flex:0 0 50px!important;
    width:50px!important;
    height:50px!important;
  }
  .site-header nav .mobile-menu-social svg,
  .site-header nav .mobile-menu-social button.newsletter-icon-button svg{
    width:20px!important;
    height:20px!important;
  }
  .site-header nav .mobile-menu-social .social-label{
    font-size:clamp(14px,4vw,17px)!important;
    letter-spacing:.065em!important;
  }
}

@media(max-width:390px){
  .site-header nav::before{height:min(61vh,500px)!important}
  .site-header nav .header-menu-links,
  .site-header nav .mobile-menu-social{min-height:min(61vh,500px)!important}
  .site-header nav .header-menu-links{padding-left:20px!important;padding-right:16px!important}
  .site-header nav .mobile-menu-social{padding-left:16px!important;padding-right:16px!important}
  .site-header nav .header-menu-links>a{font-size:clamp(18px,5vw,21px)!important;padding:9px 0!important}
  .site-header nav .mobile-menu-social .social-icon-glyph{width:46px!important;height:46px!important;flex-basis:46px!important}
  .site-header nav .mobile-menu-social .social-label{font-size:13px!important}
}

/* About Me: natural-height opening, no first-line collision with the header.
   Rich-text descendants cannot introduce negative top margins/transforms. */
.about-reference-page{overflow:visible!important}
.about-opening-quote{
  position:relative!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  overflow:visible!important;
}
.about-opening-quote blockquote,
.about-opening-quote blockquote>*{
  transform:none!important;
}
.about-opening-quote blockquote>*:first-child{margin-top:0!important}
.about-opening-quote blockquote>*:last-child{margin-bottom:0!important}
@media(min-width:901px){
  .about-opening-quote{
    display:block!important;
    padding:clamp(72px,8vh,104px) clamp(42px,6.5vw,106px) clamp(48px,6vh,76px)!important;
  }
  .about-opening-quote blockquote{
    width:min(100%,1200px)!important;
    max-width:1200px!important;
    margin:0 auto!important;
    padding:0!important;
    line-height:1.08!important;
  }
  .about-opening-quote blockquote p,
  .about-opening-quote blockquote div,
  .about-opening-quote blockquote span{line-height:inherit!important}
  .about-opening-quote+.about{margin-top:0!important;padding-top:clamp(44px,5.2vw,72px)!important}
}
@media(max-width:900px){
  .about-opening-quote{padding:48px 22px 40px!important}
  .about-opening-quote blockquote{margin:0!important;padding:0!important;line-height:1.1!important}
  .about-opening-quote blockquote p,
  .about-opening-quote blockquote div,
  .about-opening-quote blockquote span{line-height:inherit!important}
}

/* ============================================================
   v5.75 — Places/footer join + slightly more compact footer
   ============================================================ */

/* The Places map already consumes the available viewport below the header.
   An old min-height:100vh on the page wrapper was adding one header-height of
   empty paper between the map and the footer. Let the wrapper follow its real
   content height instead. */
.places-reference-page{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}
.places-reference-page > .places-map-section:last-of-type{
  margin-bottom:0!important;
}
.places-reference-page + .site-footer{
  margin-top:0!important;
}

/* Footer: keep the same three-part composition, just reduce its visual weight. */
@media(min-width:761px){
  .site-footer{
    min-height:0!important;
    padding-top:12px!important;
    padding-bottom:12px!important;
    gap:clamp(18px,3vw,52px)!important;
  }
  .site-footer .footer-name{
    font-size:min(var(--footer-name-size-desktop,17px),16px)!important;
  }
  .site-footer .footer-email,
  .site-footer .footer-follow>p{
    font-size:min(var(--footer-contact-size-desktop,14px),13px)!important;
  }
  .site-footer .header-social.footer-social{gap:8px!important}
  .site-footer .header-social.footer-social a,
  .site-footer .header-social.footer-social button.newsletter-icon-button{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
  }
  .site-footer .header-social.footer-social svg,
  .site-footer .header-social.footer-social button.newsletter-icon-button svg{
    width:16px!important;
    height:16px!important;
  }
}

@media (max-width:760px) {
  .site-footer{
    min-height:0!important;
    padding:14px 20px 16px!important;
    gap:7px!important;
  }
  .site-footer .footer-name{font-size:min(var(--footer-name-size-mobile,17px),16px)!important}
  .site-footer .footer-email,
  .site-footer .footer-follow>p{font-size:min(var(--footer-contact-size-mobile,14px),13px)!important}
  .site-footer .header-social.footer-social a,
  .site-footer .header-social.footer-social button.newsletter-icon-button{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
  }
  .site-footer .header-social.footer-social svg,
  .site-footer .header-social.footer-social button.newsletter-icon-button svg{
    width:16px!important;
    height:16px!important;
  }
}

/* ============================================================
   v5.76 — roomier mobile Explore / Connect menu
   ============================================================ */
@media (max-width:760px) {
  .site-header nav::before{
    top:54%!important;
    height:min(76dvh,620px)!important;
    transform:translate(-50%,-50%)!important;
  }
  .site-header nav .header-menu-links,
  .site-header nav .mobile-menu-social{
    top:54%!important;
    transform:translateY(-50%)!important;
    min-height:min(76dvh,620px)!important;
    height:min(76dvh,620px)!important;
    justify-content:space-between!important;
  }
  .site-header nav .header-menu-links{
    padding:0 clamp(26px,7.5vw,48px)!important;
  }
  .site-header nav .header-menu-links::before,
  .site-header nav .mobile-menu-social::before{
    margin:0!important;
    font-size:clamp(12px,3.3vw,14px)!important;
    letter-spacing:.19em!important;
  }
  .site-header nav .header-menu-links>a{
    flex:0 0 auto!important;
    padding:0!important;
    font-size:clamp(20px,5.7vw,24px)!important;
    line-height:1.08!important;
    gap:13px!important;
  }
  .site-header nav .header-menu-links>a::before{
    flex-basis:24px!important;
    font-size:clamp(9px,2.8vw,11px)!important;
  }
  .site-header nav .mobile-menu-social{
    padding:0 clamp(24px,6.8vw,44px)!important;
    gap:0!important;
  }
  .site-header nav .mobile-menu-social a,
  .site-header nav .mobile-menu-social button.newsletter-icon-button{
    flex:0 0 auto!important;
    min-height:0!important;
    padding:0!important;
    gap:15px!important;
  }
  .site-header nav .mobile-menu-social .social-icon-glyph{
    width:54px!important;
    height:54px!important;
    flex-basis:54px!important;
  }
  .site-header nav .mobile-menu-social svg,
  .site-header nav .mobile-menu-social button.newsletter-icon-button svg{
    width:21px!important;
    height:21px!important;
  }
  .site-header nav .mobile-menu-social .social-label{
    font-size:clamp(15px,4.2vw,18px)!important;
    letter-spacing:.06em!important;
  }
}
@media(max-width:390px){
  .site-header nav::before{height:min(72dvh,560px)!important}
  .site-header nav .header-menu-links,
  .site-header nav .mobile-menu-social{height:min(72dvh,560px)!important;min-height:min(72dvh,560px)!important}
  .site-header nav .header-menu-links{padding-left:22px!important;padding-right:17px!important}
  .site-header nav .mobile-menu-social{padding-left:18px!important;padding-right:15px!important}
  .site-header nav .header-menu-links>a{font-size:clamp(19px,5.4vw,22px)!important}
  .site-header nav .mobile-menu-social .social-icon-glyph{width:50px!important;height:50px!important;flex-basis:50px!important}
  .site-header nav .mobile-menu-social .social-label{font-size:clamp(14px,3.8vw,16px)!important}
}
@media(max-height:700px) and (max-width:760px){
  .site-header nav::before,
  .site-header nav .header-menu-links,
  .site-header nav .mobile-menu-social{height:min(66dvh,455px)!important;min-height:min(66dvh,455px)!important}
  .site-header nav .header-menu-links>a{font-size:18px!important}
  .site-header nav .mobile-menu-social .social-icon-glyph{width:44px!important;height:44px!important;flex-basis:44px!important}
  .site-header nav .mobile-menu-social .social-label{font-size:13px!important}
}

/* Existing values such as “Srilanka” are now normalised by the map script, so
   older entries still sit under Asia even before they are re-saved from Studio. */

/* ============================================================
   v5.77 — scalable map pins + calmer mobile header/menu
   ============================================================ */

/* Places globe: permanent rectangular labels become compact editorial pins.
   Names appear only on hover/focus or for the active location, so a growing
   archive does not cover the Earth. */
.places-map-pin{
  --pin-accent:var(--places-accent,#a94c38);
  position:absolute!important;
  z-index:9!important;
  width:24px!important;
  height:30px!important;
  margin:0!important;
  padding:0!important;
  transform:translate(-50%,-92%)!important;
  border:0!important;
  background:transparent!important;
  color:var(--places-title-color,#171714)!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  overflow:visible!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.places-map-pin-dot{
  position:absolute;
  left:50%;top:0;
  width:21px;height:21px;
  transform:translateX(-50%) rotate(45deg);
  border:1.5px solid rgba(255,255,255,.94);
  border-radius:50% 50% 50% 4px;
  background:var(--pin-accent);
  box-shadow:0 3px 9px rgba(0,0,0,.24);
  transition:transform .18s ease,box-shadow .18s ease;
}
.places-map-pin-dot::after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:5px;height:5px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#f5f1e8;
}
.places-map-pin-label{
  position:absolute;
  left:50%;bottom:34px;
  transform:translate(-50%,5px);
  max-width:min(190px,42vw);
  padding:7px 9px;
  border:1px solid rgba(23,23,20,.16);
  background:rgba(247,244,237,.97);
  box-shadow:0 5px 18px rgba(20,20,18,.12);
  color:#171714;
  font:600 9px/1.15 var(--font-ui,Montserrat,Arial,sans-serif);
  letter-spacing:.09em;
  text-transform:uppercase;
  white-space:nowrap;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .15s ease,transform .15s ease,visibility .15s ease;
}
.places-map-pin:hover .places-map-pin-label,
.places-map-pin:focus-visible .places-map-pin-label,
.places-map-pin.is-active .places-map-pin-label{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}
.places-map-pin:hover .places-map-pin-dot,
.places-map-pin:focus-visible .places-map-pin-dot,
.places-map-pin.is-active .places-map-pin-dot{
  transform:translateX(-50%) rotate(45deg) scale(1.15);
  box-shadow:0 5px 14px rgba(0,0,0,.28);
}
.places-map-pin-region{--pin-accent:#b65c43}
.places-map-pin-place{--pin-accent:#9d4936}
.places-map-pin.is-active{z-index:12!important}

/* Keep map controls in their own safe zone, away from location pins. */
@media (max-width:760px) {
  .places-map-pin{width:30px!important;height:36px!important}
  .places-map-pin-dot{width:25px;height:25px}
  .places-map-pin-label{bottom:39px;font-size:9px;max-width:160px}
  .places-map-controls{right:14px!important;top:14px!important;gap:8px!important;z-index:14!important}
  .places-map-controls button{width:46px!important;height:46px!important}
}

/* Mobile closed header: section identity belongs beside MENU, not in the
   middle of the logo area. Homepage overlay keeps its existing identity. */
@media (max-width:760px) {
  .site-header:not(.overlay){position:relative!important}
  .site-header:not(.overlay) .brand-group{min-width:0!important;flex:1 1 auto!important}
  .site-header:not(.overlay) .brand-meta{
    position:absolute!important;
    right:88px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:auto!important;
    max-width:34vw!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    z-index:24!important;
  }
  .site-header:not(.overlay) .brand-line{
    width:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    font-size:clamp(13px,4vw,17px)!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .site-header:not(.overlay) .menu-toggle{margin-left:auto!important;position:relative!important;z-index:25!important}
  .site-header.nav-open:not(.overlay) .brand-meta,
  body.menu-open .site-header:not(.overlay) .brand-meta{opacity:0!important;pointer-events:none!important}
}

/* Mobile menu: use more of the page, with larger type and genuinely generous
   vertical rhythm. Both columns breathe from header to lower viewport. */
@media (max-width:760px) {
  .site-header nav::before{
    top:55%!important;
    height:min(70dvh,650px)!important;
    transform:translate(-50%,-50%)!important;
  }
  .site-header nav .header-menu-links,
  .site-header nav .mobile-menu-social{
    top:55%!important;
    height:min(70dvh,650px)!important;
    min-height:min(70dvh,650px)!important;
    transform:translateY(-50%)!important;
    justify-content:space-evenly!important;
  }
  .site-header nav .header-menu-links{
    padding:0 clamp(28px,8vw,54px)!important;
  }
  .site-header nav .mobile-menu-social{
    padding:0 clamp(24px,7vw,50px)!important;
  }
  .site-header nav .header-menu-links::before,
  .site-header nav .mobile-menu-social::before{
    margin:0 0 8px!important;
    font-size:clamp(12px,3.5vw,15px)!important;
  }
  .site-header nav .header-menu-links>a{
    font-size:clamp(21px,6.2vw,27px)!important;
    line-height:1.08!important;
    gap:15px!important;
  }
  .site-header nav .header-menu-links>a::before{
    flex-basis:26px!important;
    font-size:clamp(10px,3vw,12px)!important;
  }
  .site-header nav .mobile-menu-social a,
  .site-header nav .mobile-menu-social button.newsletter-icon-button{
    gap:16px!important;
  }
  .site-header nav .mobile-menu-social .social-icon-glyph{
    width:58px!important;height:58px!important;flex-basis:58px!important;
  }
  .site-header nav .mobile-menu-social .social-label{
    font-size:clamp(15px,4.5vw,19px)!important;
  }
}
@media(max-width:390px){
  .site-header nav::before,
  .site-header nav .header-menu-links,
  .site-header nav .mobile-menu-social{height:min(66dvh,570px)!important;min-height:min(66dvh,570px)!important}
  .site-header nav .header-menu-links{padding-left:22px!important;padding-right:16px!important}
  .site-header nav .mobile-menu-social{padding-left:17px!important;padding-right:14px!important}
  .site-header nav .header-menu-links>a{font-size:clamp(19px,5.8vw,23px)!important}
  .site-header nav .mobile-menu-social .social-icon-glyph{width:50px!important;height:50px!important;flex-basis:50px!important}
  .site-header nav .mobile-menu-social .social-label{font-size:clamp(13px,4vw,16px)!important}
}

/* ============================================================
   v5.78 — desktop header/menu normalization
   Keep mobile v5.77 untouched. This block deliberately resets the
   accumulated desktop header rules so the laptop/desktop menu stays
   on one clean line with predictable spacing.
   ============================================================ */
@media(min-width:761px){
  .site-header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:center!important;
    width:100%!important;
    min-height:96px!important;
    padding:0!important;
  }
  .site-header .brand-group,
  .site-header nav{
    min-width:0!important;
    height:96px!important;
    align-items:center!important;
  }
  .site-header .brand-group{
    display:flex!important;
    padding:0 clamp(28px,4vw,66px)!important;
    overflow:hidden!important;
  }
  .site-header nav{
    display:flex!important;
    position:static!important;
    inset:auto!important;
    width:auto!important;
    padding:0 clamp(24px,3.2vw,54px)!important;
    margin:0!important;
    background:transparent!important;
    overflow:visible!important;
  }
  .site-header nav::before{display:none!important}
  .site-header nav .header-menu-links{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    display:flex!important;
    flex:1 1 auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    align-items:center!important;
    justify-content:space-between!important;
    flex-wrap:nowrap!important;
    gap:clamp(14px,1.35vw,25px)!important;
  }
  .site-header nav .header-menu-links>a{
    flex:0 0 auto!important;
    padding:8px 0!important;
    margin:0!important;
    white-space:nowrap!important;
    font-size:clamp(10px,.72vw,12px)!important;
    line-height:1!important;
    letter-spacing:.12em!important;
  }
  .site-header .mobile-menu-social{display:none!important}

  /* Homepage: social actions belong to the left image, navigation alone
     occupies the right image. */
  .site-header.overlay .brand-group{
    padding-left:clamp(34px,5vw,82px)!important;
    padding-right:18px!important;
  }
  .site-header.overlay .home-desktop-social{
    display:flex!important;
    flex:0 0 auto!important;
    margin-left:auto!important;
    margin-right:0!important;
    gap:7px!important;
  }
  .site-header.overlay nav{
    padding-left:18px!important;
    padding-right:clamp(28px,3.4vw,58px)!important;
  }
  .site-header.overlay nav .header-menu-links{
    justify-content:space-between!important;
    gap:clamp(15px,1.35vw,25px)!important;
  }

  /* Interior pages: social/contact group is a single compact unit immediately
     before Work; the page links then share the remaining width evenly. */
  .site-header:not(.overlay) .header-menu-social{
    display:flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    gap:5px!important;
    margin:0 4px 0 0!important;
    padding:0!important;
  }
  .site-header:not(.overlay) .header-menu-social a,
  .site-header:not(.overlay) .header-menu-social button.newsletter-icon-button{
    flex:0 0 28px!important;
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    margin:0!important;
  }
  .site-header:not(.overlay) .header-menu-social svg{width:13px!important;height:13px!important}
}

/* Slightly tighter desktop/laptop fallback before the mobile breakpoint. */
@media(min-width:761px) and (max-width:1180px){
  .site-header .brand-group{padding-inline:24px!important}
  .site-header nav{padding-inline:16px!important}
  .site-header nav .header-menu-links{gap:clamp(8px,1vw,15px)!important}
  .site-header nav .header-menu-links>a{font-size:9.5px!important;letter-spacing:.09em!important}
  .site-header:not(.overlay) .header-menu-social{gap:3px!important;margin-right:1px!important}
  .site-header:not(.overlay) .header-menu-social a,
  .site-header:not(.overlay) .header-menu-social button.newsletter-icon-button{
    width:25px!important;height:25px!important;min-width:25px!important;flex-basis:25px!important
  }
}

/* ============================================================
   v5.79 — mobile menu: 2/3 Explore + 1/3 Connect icon rail
   Starts immediately below the logo/header and uses the full screen height.
   Desktop rules from v5.78 remain unchanged.
   ============================================================ */
@media (max-width:760px) {
  .site-header nav{
    padding:0!important;
    overflow:hidden!important;
  }

  /* The divider now marks a true 2/3 : 1/3 split. */
  .site-header nav::before{
    display:block!important;
    content:""!important;
    position:absolute!important;
    left:66.666%!important;
    top:124px!important;
    bottom:34px!important;
    width:1px!important;
    height:auto!important;
    transform:none!important;
    background:rgba(29,29,25,.16)!important;
  }

  /* Both columns begin directly below the open-menu masthead rather than
     floating as one compact block in the middle of the screen. */
  .site-header nav .header-menu-links,
  .site-header nav .mobile-menu-social{
    position:absolute!important;
    top:122px!important;
    bottom:32px!important;
    height:auto!important;
    min-height:0!important;
    transform:none!important;
    margin:0!important;
    justify-content:space-between!important;
  }

  .site-header nav .header-menu-links{
    left:0!important;
    width:66.666%!important;
    padding:22px clamp(28px,8vw,54px) 24px clamp(34px,9vw,60px)!important;
    align-items:stretch!important;
  }

  .site-header nav .mobile-menu-social{
    left:66.666%!important;
    right:0!important;
    width:33.334%!important;
    padding:22px clamp(14px,4vw,24px) 24px!important;
    align-items:center!important;
  }

  /* Editorial section labels stay, but Explore receives the visual weight. */
  .site-header nav .header-menu-links::before,
  .site-header nav .mobile-menu-social::before{
    flex:0 0 auto!important;
    margin:0 0 4px!important;
    font-size:clamp(13px,3.7vw,16px)!important;
    letter-spacing:.18em!important;
  }
  .site-header nav .mobile-menu-social::before{
    width:100%!important;
    text-align:center!important;
  }

  /* Seven Explore rows genuinely use the available vertical space. */
  .site-header nav .header-menu-links>a{
    flex:0 0 auto!important;
    width:100%!important;
    min-height:0!important;
    padding:0!important;
    border:0!important;
    font-size:clamp(23px,6.7vw,31px)!important;
    line-height:1.03!important;
    letter-spacing:.105em!important;
    gap:clamp(14px,4vw,22px)!important;
  }
  .site-header nav .header-menu-links>a::before{
    flex:0 0 28px!important;
    width:28px!important;
    font-size:clamp(11px,3.2vw,14px)!important;
  }

  /* Connect becomes a clean icon rail: no repeated social names. */
  .site-header nav .mobile-menu-social a,
  .site-header nav .mobile-menu-social button.newsletter-icon-button{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .site-header nav .mobile-menu-social .social-label{
    display:none!important;
  }
  .site-header nav .mobile-menu-social .social-icon-glyph{
    width:clamp(58px,17vw,72px)!important;
    height:clamp(58px,17vw,72px)!important;
    flex:0 0 clamp(58px,17vw,72px)!important;
    border:1px solid rgba(29,29,25,.22)!important;
    border-radius:50%!important;
    display:grid!important;
    place-items:center!important;
  }
  .site-header nav .mobile-menu-social svg,
  .site-header nav .mobile-menu-social button.newsletter-icon-button svg{
    width:clamp(20px,6vw,26px)!important;
    height:clamp(20px,6vw,26px)!important;
  }
}

@media(max-width:390px){
  .site-header nav::before{top:118px!important;bottom:28px!important}
  .site-header nav .header-menu-links,
  .site-header nav .mobile-menu-social{top:116px!important;bottom:26px!important}
  .site-header nav .header-menu-links{padding-left:26px!important;padding-right:20px!important}
  .site-header nav .mobile-menu-social{padding-left:10px!important;padding-right:10px!important}
  .site-header nav .header-menu-links>a{font-size:clamp(21px,6.3vw,26px)!important}
  .site-header nav .mobile-menu-social .social-icon-glyph{width:56px!important;height:56px!important;flex-basis:56px!important}
}

/* ============================================================
   v5.80 — anchored globe pins + revised desktop Places hierarchy
   ============================================================ */

/* Desktop: the left stage begins with the editorial introduction, while the
   right rail begins immediately with Browse Places. The interaction hint is
   demoted to a small line below the Earth. */
.places-globe-intro{
  margin:0;
  padding:0;
  border:0;
  max-width:min(940px,92%);
  color:var(--places-title-color,#171714);
  font-family:var(--font-heading,"Cormorant Garamond",Georgia,serif);
  font-size:clamp(27px,2.15vw,40px);
  line-height:1.12;
  letter-spacing:-.025em;
  font-style:italic;
  align-self:start;
  justify-self:start;
}
.places-globe-intro p{margin:0}.places-globe-intro p+p{margin-top:.5em}
.places-map-instruction-below{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  margin:4px 0 0!important;
  width:100%!important;
  text-align:center!important;
  color:var(--places-body-color,#5c574f)!important;
  font:500 9px/1.35 var(--font-ui,Montserrat,Arial,sans-serif)!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
  opacity:.72;
}
@media(min-width:921px){
  .places-map-section{
    grid-template-columns:minmax(0,3fr) minmax(300px,1fr)!important;
    align-items:stretch!important;
  }
  .places-globe-area{
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    justify-items:center!important;
    gap:clamp(12px,1.8vh,22px)!important;
    padding:clamp(26px,3.4vh,42px) clamp(30px,3.4vw,56px) clamp(18px,2.4vh,30px)!important;
  }
  .places-globe-intro{grid-row:1;width:100%;max-width:100%}
  .places-globe-wrap{grid-row:2!important;align-self:center!important}
  .places-map-instruction-below{grid-row:3!important}
  .places-country-browser{padding-top:clamp(28px,3.5vh,42px)!important}
  .places-country-browser-head{margin-top:0!important}
}
@media(max-width:920px){
  .places-globe-intro{
    max-width:none;
    margin:0 20px 22px;
    font-size:clamp(24px,7vw,36px);
    line-height:1.14;
  }
  .places-map-instruction-below{margin-top:12px!important;font-size:8px!important}
}

/* True anchored markers. The geographical coordinate is the bottom tip of the
   SVG, not the centre of a floating circular button. A tiny contact shadow at
   the exact coordinate makes the pin read as touching the globe. */
.places-map-pin{
  --pin-accent:var(--places-accent,#a94c38);
  position:absolute!important;
  z-index:9!important;
  width:34px!important;
  height:48px!important;
  margin:0!important;
  padding:0!important;
  transform:translate(-50%,-100%)!important;
  border:0!important;
  background:transparent!important;
  cursor:pointer!important;
  overflow:visible!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  filter:drop-shadow(0 4px 5px rgba(0,0,0,.27));
  transform-origin:50% 100%!important;
}
.places-map-pin-marker{
  position:absolute;
  inset:0 1px 4px 1px;
  display:block;
  transform-origin:50% 100%;
  transition:transform .16s ease,filter .16s ease;
}
.places-map-pin-marker svg{display:block;width:100%;height:100%;overflow:visible}
.places-map-pin-shape{
  fill:var(--pin-accent);
  stroke:#fffaf0;
  stroke-width:1.7;
  vector-effect:non-scaling-stroke;
}
.places-map-pin-core{fill:#fffaf0;stroke:rgba(77,39,29,.24);stroke-width:1}
.places-map-pin-anchor{
  position:absolute;
  left:50%;bottom:-1px;
  width:9px;height:4px;
  transform:translateX(-50%);
  border-radius:50%;
  background:rgba(20,15,12,.34);
  filter:blur(.5px);
  opacity:.78;
}
.places-map-pin-dot{display:none!important}
.places-map-pin-label{
  position:absolute!important;
  left:50%!important;
  bottom:52px!important;
  transform:translate(-50%,6px)!important;
  max-width:min(190px,44vw)!important;
  padding:7px 10px!important;
  border:1px solid rgba(23,23,20,.14)!important;
  background:rgba(247,244,237,.98)!important;
  box-shadow:0 6px 18px rgba(20,20,18,.14)!important;
  color:#171714!important;
  font:600 9px/1.15 var(--font-ui,Montserrat,Arial,sans-serif)!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transition:opacity .15s ease,transform .15s ease,visibility .15s ease!important;
}
.places-map-pin:hover .places-map-pin-label,
.places-map-pin:focus-visible .places-map-pin-label,
.places-map-pin.is-active .places-map-pin-label{
  opacity:1!important;visibility:visible!important;transform:translate(-50%,0)!important;
}
.places-map-pin:hover .places-map-pin-marker,
.places-map-pin:focus-visible .places-map-pin-marker,
.places-map-pin.is-active .places-map-pin-marker{transform:scale(1.15) translateY(-1px)}
.places-map-pin-country{width:36px!important;height:50px!important}
.places-map-pin-region{--pin-accent:#bd634b;width:32px!important;height:45px!important}
.places-map-pin-place{--pin-accent:#93432f;width:30px!important;height:42px!important}
.places-map-pin.is-active{z-index:13!important}
@media (max-width:760px) {
  .places-map-pin-country{width:38px!important;height:53px!important}
  .places-map-pin-region{width:35px!important;height:49px!important}
  .places-map-pin-place{width:33px!important;height:46px!important}
  .places-map-pin-label{bottom:55px!important;font-size:9px!important;max-width:155px!important}
}


/* ============================================================
   v5.80 final — Places desktop composition hardening
   ============================================================ */
@media(min-width:921px){
  /* Older Places revisions positioned the globe absolutely. For the new three-row
     composition it must participate in the grid so the intro, Earth and hint all
     reserve real space inside one viewport. */
  .places-globe-area:not(.is-local-map) .places-globe-wrap{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:auto!important;
    align-self:center!important;
    justify-self:center!important;
  }
  .places-globe-intro{
    align-self:start!important;
    justify-self:stretch!important;
    width:100%!important;
    max-width:min(980px,96%)!important;
    margin:0!important;
  }
  .places-map-instruction-below{
    align-self:end!important;
    margin:0!important;
  }
  .places-map-attribution{
    position:absolute!important;
    right:14px!important;
    left:auto!important;
    bottom:10px!important;
    transform:none!important;
    width:auto!important;
    max-width:48%!important;
  }
}

/* The coordinate itself is the very bottom tip. The contact halo is centred on
   that exact point, which makes the marker read as planted on the sphere rather
   than as a floating interface chip. */
.places-map-pin{transform:translate(-50%,-100%)!important;transform-origin:50% 100%!important}
.places-map-pin-marker{bottom:0!important;inset:auto 1px 0 1px!important}
.places-map-pin-anchor{
  bottom:-2px!important;
  width:11px!important;
  height:5px!important;
  background:rgba(25,17,12,.42)!important;
  box-shadow:0 0 0 2px rgba(255,248,237,.18)!important;
}
.places-map-pin-country .places-map-pin-shape{fill:var(--places-accent,#a94c38)!important}
.places-map-pin-country .places-map-pin-core{fill:#fffaf0!important}

/* ============================================================
   v5.81 — simpler mobile menu, richer compact footer, Places breathing room,
   and readable small-type Moments.
   ============================================================ */

/* A smaller chosen Moment font should not collapse the reading rhythm. */
.moment-entry-body{line-height:var(--moment-reading-leading,1.5)!important;letter-spacing:var(--moment-reading-tracking,0)!important}
.moment-entry-body p{margin-bottom:var(--moment-paragraph-gap,1.05em)!important}

/* Keep a deliberate piece of Places paper between the interactive content and footer. */
.places-reference-page{padding-bottom:clamp(34px,5vh,72px)!important;background:var(--places-bg,#f3efe7)!important}

/* Footer: compact but useful — identity, shortcuts, legal and trust signals. */
.site-footer-expanded{
  display:grid!important;
  grid-template-columns:minmax(230px,1.35fr) minmax(220px,1fr) minmax(130px,.62fr) minmax(240px,1.15fr)!important;
  align-items:start!important;
  gap:clamp(24px,3.5vw,58px)!important;
  padding:clamp(22px,2.8vw,34px) clamp(24px,4vw,58px)!important;
}
.site-footer-expanded .footer-identity,.site-footer-expanded .footer-shortcuts,.site-footer-expanded .footer-legal,.site-footer-expanded .footer-trust{min-width:0}
.site-footer-expanded .footer-name{margin:0 0 7px!important}
.site-footer-expanded .footer-email{margin:0 0 12px!important}
.site-footer-expanded .footer-follow{align-items:flex-start!important}
.site-footer-expanded .footer-shortcuts>p,.site-footer-expanded .footer-legal>p,.site-footer-expanded .footer-trust>p{
  margin:0 0 10px!important;color:var(--footer-name-color,#f4f0e8)!important;font:600 10px/1.2 var(--footer-body-font,var(--sans))!important;letter-spacing:.13em!important;text-transform:uppercase!important
}
.site-footer-expanded .footer-shortcuts>div{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px 18px!important}
.site-footer-expanded .footer-legal>div{display:grid!important;gap:7px!important}
.site-footer-expanded .footer-shortcuts a,.site-footer-expanded .footer-legal a,.site-footer-expanded .footer-trust span{
  color:var(--footer-body-color,#d6d4cc)!important;text-decoration:none!important;font:400 12px/1.45 var(--footer-body-font,var(--sans))!important
}
.site-footer-expanded .footer-shortcuts a:hover,.site-footer-expanded .footer-legal a:hover{text-decoration:underline!important;text-underline-offset:3px!important}
.site-footer-expanded .footer-trust{display:flex!important;flex-direction:column!important;gap:7px!important}
.site-footer-expanded .footer-follow>p{font-size:12px!important}
.site-footer-expanded .header-social.footer-social a,.site-footer-expanded .header-social.footer-social button.newsletter-icon-button{width:34px!important;height:34px!important}
.site-footer-expanded .header-social.footer-social svg,.site-footer-expanded .header-social.footer-social button.newsletter-icon-button svg{width:16px!important;height:16px!important}

.legal-page{min-height:calc(100dvh - var(--site-header-height,92px));padding:clamp(70px,10vw,150px) clamp(24px,9vw,150px);background:#f4f1ea;color:#211f1b}
.legal-page .legal-kicker{margin:0 0 22px;font:600 10px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.15em;text-transform:uppercase}
.legal-page h1{margin:0 0 32px;font:400 clamp(58px,8vw,120px)/.9 var(--font-heading,"Cormorant Garamond",Georgia,serif);letter-spacing:-.05em}
.legal-page>p:not(.legal-kicker):not(.legal-updated){max-width:920px;margin:0;font:400 clamp(18px,2vw,27px)/1.55 var(--font-heading,"Cormorant Garamond",Georgia,serif)}
.legal-page .legal-updated{margin:38px 0 0;font:500 10px/1.3 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.1em;text-transform:uppercase}

@media(max-width:800px){
  /* Mobile menu is now one natural vertical flow: menu first, icon row second. */
  .site-header nav::before{display:none!important}
  .site-header nav .header-menu-links,
  .site-header nav .mobile-menu-social{
    position:absolute!important;left:0!important;right:0!important;width:100%!important;transform:none!important;height:auto!important;min-height:0!important;margin:0!important
  }
  .site-header nav .header-menu-links{
    top:calc(var(--site-header-height,92px) + 18px)!important;bottom:auto!important;padding:18px clamp(30px,9vw,48px) 10px!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:clamp(15px,2.4vh,24px)!important;justify-content:flex-start!important
  }
  .site-header nav .header-menu-links::before,.site-header nav .mobile-menu-social::before{display:none!important;content:none!important}
  .site-header nav .header-menu-links>a{width:100%!important;min-height:0!important;padding:0!important;font-size:clamp(23px,6.3vw,29px)!important;line-height:1.06!important;letter-spacing:.08em!important;gap:18px!important}
  .site-header nav .header-menu-links>a::before{font-size:11px!important;flex-basis:26px!important;width:26px!important}
  .site-header nav .mobile-menu-social{
    top:auto!important;bottom:clamp(28px,6vh,54px)!important;padding:0 26px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:clamp(14px,4.5vw,24px)!important
  }
  .site-header nav .mobile-menu-social a,.site-header nav .mobile-menu-social button.newsletter-icon-button{width:auto!important;height:auto!important;min-height:0!important;padding:0!important;border:0!important;flex:0 0 auto!important}
  .site-header nav .mobile-menu-social .social-label{display:none!important}
  .site-header nav .mobile-menu-social .social-icon-glyph{width:50px!important;height:50px!important;flex:0 0 50px!important;border:1px solid rgba(29,29,25,.22)!important;border-radius:50%!important;display:grid!important;place-items:center!important}
  .site-header nav .mobile-menu-social svg,.site-header nav .mobile-menu-social button.newsletter-icon-button svg{width:19px!important;height:19px!important}

  .site-footer-expanded{grid-template-columns:1fr 1fr!important;gap:24px 28px!important;padding:24px 20px 28px!important}
  .site-footer-expanded .footer-identity{grid-column:1/-1}
  .site-footer-expanded .footer-trust{grid-column:1/-1}
  .site-footer-expanded .footer-shortcuts>div{grid-template-columns:1fr!important}
  .legal-page{padding:54px 22px 72px}.legal-page h1{font-size:clamp(52px,17vw,82px)}
}

/* ============================================================
   v5.82 — Places composition: mobile = intro → browse → globe.
   Desktop keeps intro above the globe and Browse Places at right.
   ============================================================ */
@media(min-width:921px){
  .places-map-section{
    display:grid!important;
    grid-template-columns:minmax(0,3fr) minmax(300px,1fr)!important;
    grid-template-rows:auto minmax(0,1fr)!important;
    grid-template-areas:
      "places-intro places-browser"
      "places-globe places-browser"!important;
    align-items:stretch!important;
    column-gap:0!important;
    row-gap:0!important;
    padding:0!important;
  }
  .places-globe-intro{
    grid-area:places-intro!important;
    align-self:end!important;
    justify-self:stretch!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:clamp(30px,3.4vh,44px) clamp(34px,4vw,66px) clamp(8px,1.3vh,16px)!important;
    background:var(--places-bg,#f1ecdf)!important;
  }
  .places-country-browser{
    grid-area:places-browser!important;
    grid-column:auto!important;
    grid-row:auto!important;
    order:initial!important;
    height:100%!important;
    min-height:0!important;
  }
  .places-globe-area{
    grid-area:places-globe!important;
    grid-column:auto!important;
    grid-row:auto!important;
    order:initial!important;
    display:grid!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    gap:clamp(8px,1.2vh,14px)!important;
    min-height:0!important;
    height:auto!important;
    padding:0 clamp(30px,3.4vw,56px) clamp(30px,3.8vh,48px)!important;
  }
  .places-globe-wrap{grid-row:1!important}
  .places-map-instruction-below{grid-row:2!important;margin:0!important}
}

@media(max-width:920px){
  .places-map-section{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    height:auto!important;
    padding:0 0 clamp(58px,9vh,92px)!important;
    background:var(--places-bg,#f1ecdf)!important;
  }
  .places-globe-intro{
    order:1!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:clamp(34px,7vh,58px) clamp(28px,8vw,52px) clamp(26px,4.5vh,40px)!important;
    background:var(--places-bg,#f1ecdf)!important;
    font-size:clamp(24px,6.8vw,34px)!important;
    line-height:1.2!important;
  }
  .places-country-browser{
    order:2!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:clamp(24px,4.5vh,38px) clamp(28px,7vw,46px) clamp(30px,5vh,44px)!important;
    background:var(--places-panel-bg,#eee7db)!important;
    border:0!important;
  }
  .places-globe-area{
    order:3!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    padding:clamp(34px,6vh,54px) 14px clamp(44px,7vh,70px)!important;
    background:var(--places-bg,#f1ecdf)!important;
  }
  .places-globe-area:not(.is-local-map) .places-globe-wrap{
    position:relative!important;
    width:min(92vw,620px)!important;
    height:auto!important;
    aspect-ratio:1!important;
    margin:0 auto!important;
  }
  .places-map-instruction-below{
    margin:clamp(16px,2.7vh,24px) 0 0!important;
    padding:0 18px!important;
  }
  .places-map-attribution{
    bottom:clamp(16px,2.6vh,24px)!important;
  }
}

/* ============================================================
   v5.83 — Places desktop integrated composition + compact mobile menu
   ============================================================ */

/* Desktop Places: intro, Earth and Browse Places are one horizontal composition.
   The intro no longer reserves a full row above the Earth. */
@media (min-width:921px){
  .places-map-section{
    display:grid!important;
    grid-template-columns:minmax(230px,28%) minmax(420px,47%) minmax(300px,25%)!important;
    grid-template-rows:minmax(0,1fr)!important;
    grid-template-areas:"places-intro places-globe places-browser"!important;
    min-height:calc(100dvh - var(--site-header-height,92px))!important;
    height:auto!important;
    align-items:stretch!important;
    padding:0 0 clamp(34px,4vh,54px)!important;
    background:var(--places-bg,#f1ecdf)!important;
  }
  .places-globe-intro{
    grid-area:places-intro!important;
    align-self:start!important;
    justify-self:stretch!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:clamp(54px,7vh,90px) clamp(20px,2.2vw,38px) 32px clamp(34px,4vw,66px)!important;
    background:transparent!important;
    line-height:1.45!important;
  }
  .places-globe-intro p,
  .places-globe-intro div{
    line-height:1.45!important;
  }
  .places-globe-area{
    grid-area:places-globe!important;
    align-self:stretch!important;
    display:grid!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    align-items:center!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    padding:clamp(26px,3.6vh,46px) clamp(18px,2vw,34px) clamp(20px,2.5vh,34px)!important;
    gap:clamp(8px,1.2vh,14px)!important;
  }
  .places-globe-area:not(.is-local-map) .places-globe-wrap{
    width:min(100%,66vh,680px)!important;
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:1!important;
    margin:auto!important;
  }
  .places-country-browser{
    grid-area:places-browser!important;
    align-self:stretch!important;
    height:auto!important;
    min-height:0!important;
    overflow:auto!important;
  }
  .places-map-instruction-below{
    margin:0!important;
    padding-top:4px!important;
    text-align:center!important;
    font-size:9px!important;
    letter-spacing:.13em!important;
  }
}

@media (max-width:800px){
  /* Mobile menu: content-sized paper, menu first, social icons directly below.
     No full-screen empty tail and no rule above Instagram. */
  .site-header nav{
    height:auto!important;
    min-height:0!important;
    max-height:calc(100dvh - 12px)!important;
    inset:0 0 auto 0!important;
    padding:calc(var(--site-header-height,92px) + 18px) clamp(26px,7vw,42px) 30px!important;
    overflow-y:auto!important;
    justify-content:flex-start!important;
    gap:0!important;
  }
  .site-header nav .header-menu-links,
  .site-header nav .mobile-menu-social{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    transform:none!important;
    margin:0!important;
  }
  .site-header nav .header-menu-links{
    padding:4px 0 0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:clamp(13px,2vh,20px)!important;
  }
  .site-header nav .header-menu-links>a{
    font-size:clamp(22px,6.2vw,28px)!important;
    line-height:1.04!important;
    padding:0!important;
    min-height:0!important;
  }
  .site-header nav .mobile-menu-social{
    padding:clamp(26px,4.2vh,38px) 0 0!important;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:clamp(12px,4vw,20px)!important;
    border:0!important;
  }
  .site-header nav .mobile-menu-social::before,
  .site-header nav .mobile-menu-social::after,
  .site-header nav .mobile-menu-social a:first-child,
  .site-header nav .mobile-menu-social>*:first-child{
    border-top:0!important;
  }
  .site-header nav .mobile-menu-social .social-icon-glyph{
    width:clamp(46px,13vw,56px)!important;
    height:clamp(46px,13vw,56px)!important;
    flex:0 0 clamp(46px,13vw,56px)!important;
  }
  .site-header nav .mobile-menu-social svg,
  .site-header nav .mobile-menu-social button.newsletter-icon-button svg{
    width:19px!important;
    height:19px!important;
  }

  /* Places mobile keeps Intro → Browse → Globe, with a real paper margin before footer. */
  .places-map-section{
    padding-bottom:clamp(88px,12vh,126px)!important;
  }
  .places-globe-area{
    padding-bottom:clamp(64px,9vh,94px)!important;
  }
}

/* ============================================================
   v5.84 — Places left composition uses one continuous paper colour
   Intro, globe stage and the breathing room beneath it now read as
   one section. Browse Places retains its contrasting side panel.
   ============================================================ */
.places-reference-page,
.places-map-section{
  background:var(--places-bg,#f1ecdf)!important;
}
.places-globe-intro,
.places-globe-area{
  background-color:var(--places-bg,#f1ecdf)!important;
  background-image:none!important;
}
/* Ensure any bottom breathing room belongs visually to the same Places paper. */
.places-map-section::before,
.places-map-section::after{
  background:transparent!important;
}
.places-country-browser{
  background-color:var(--places-panel-bg,#eee7db)!important;
  background-image:none!important;
}
@media(min-width:921px){
  .places-map-section,
  .places-globe-intro,
  .places-globe-area{
    background:var(--places-bg,#f1ecdf)!important;
  }
}
@media(max-width:920px){
  .places-map-section,
  .places-globe-intro,
  .places-globe-area{
    background:var(--places-bg,#f1ecdf)!important;
  }
}

/* ============================================================
   v5.85 — unified cumulative build + calmer editorial footer
   Keeps v5.84 Places continuity and v5.83 compact mobile menu.
   ============================================================ */

/* Footer should read as one editorial band, not four equal admin columns. */
.site-footer-expanded{
  grid-template-columns:minmax(260px,1.15fr) minmax(360px,1.55fr) minmax(300px,1.2fr)!important;
  gap:clamp(38px,5vw,86px)!important;
  padding:clamp(24px,2.7vw,36px) clamp(34px,5.2vw,82px)!important;
  align-items:center!important;
}
.site-footer-expanded .footer-identity,
.site-footer-expanded .footer-shortcuts,
.site-footer-expanded .footer-meta{min-width:0!important}
.site-footer-expanded .footer-name{
  margin:0 0 8px!important;
  font-size:clamp(16px,1.25vw,20px)!important;
  line-height:1.15!important;
}
.site-footer-expanded .footer-email{
  margin:0 0 14px!important;
  font-size:clamp(12px,.95vw,14px)!important;
  line-height:1.4!important;
}
.site-footer-expanded .footer-follow{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
}
.site-footer-expanded .footer-follow>p{
  margin:0!important;
  font-size:11px!important;
  letter-spacing:.03em!important;
}
.site-footer-expanded .footer-shortcuts>p,
.site-footer-expanded .footer-legal>p{
  margin:0 0 12px!important;
  color:var(--footer-name-color,#f4f0e8)!important;
  font:600 9px/1.2 var(--footer-body-font,var(--sans))!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
.site-footer-expanded .footer-shortcuts>div{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px clamp(18px,2vw,34px)!important;
}
.site-footer-expanded .footer-shortcuts a{
  color:var(--footer-body-color,#d6d4cc)!important;
  text-decoration:none!important;
  font:400 clamp(12px,.9vw,14px)/1.35 var(--footer-body-font,var(--sans))!important;
  white-space:nowrap!important;
}
.site-footer-expanded .footer-meta{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:18px!important;
}
.site-footer-expanded .footer-legal>div{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px 18px!important;
}
.site-footer-expanded .footer-legal a{
  color:var(--footer-body-color,#d6d4cc)!important;
  text-decoration:none!important;
  font:400 12px/1.35 var(--footer-body-font,var(--sans))!important;
}
.site-footer-expanded .footer-trust{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  padding-top:14px!important;
  border-top:1px solid rgba(244,240,232,.16)!important;
}
.site-footer-expanded .footer-trust span{
  color:var(--footer-body-color,#d6d4cc)!important;
  font:400 10.5px/1.45 var(--footer-body-font,var(--sans))!important;
  opacity:.82!important;
}
.site-footer-expanded .header-social.footer-social{
  gap:8px!important;
}
.site-footer-expanded .header-social.footer-social a,
.site-footer-expanded .header-social.footer-social button.newsletter-icon-button{
  width:36px!important;
  height:36px!important;
}
.site-footer-expanded .header-social.footer-social svg,
.site-footer-expanded .header-social.footer-social button.newsletter-icon-button svg{
  width:16px!important;
  height:16px!important;
}

@media(max-width:980px) and (min-width:801px){
  .site-footer-expanded{
    grid-template-columns:1fr 1.4fr!important;
    gap:28px 46px!important;
  }
  .site-footer-expanded .footer-meta{grid-column:1/-1!important;display:grid!important;grid-template-columns:auto 1fr!important;align-items:start!important;gap:32px!important}
  .site-footer-expanded .footer-trust{padding-top:0!important;border-top:0!important}
}

@media(max-width:800px){
  .site-footer-expanded{
    display:flex!important;
    flex-direction:column!important;
    gap:26px!important;
    padding:30px 24px 34px!important;
    align-items:stretch!important;
  }
  .site-footer-expanded .footer-identity,
  .site-footer-expanded .footer-shortcuts,
  .site-footer-expanded .footer-meta{width:100%!important}
  .site-footer-expanded .footer-shortcuts>div{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px 24px!important;
  }
  .site-footer-expanded .footer-meta{gap:16px!important}
  .site-footer-expanded .footer-legal>div{gap:8px 18px!important}
  .site-footer-expanded .footer-trust{padding-top:14px!important;border-top:1px solid rgba(244,240,232,.16)!important}
  .site-footer-expanded .footer-name{font-size:18px!important}
  .site-footer-expanded .footer-email{font-size:13px!important}
}

/* ============================================================
   v5.86 — definitive cumulative cleanup
   Resolves legacy mobile-menu cascade conflicts, keeps Places as one
   continuous surface, and simplifies the footer into one editorial band.
   ============================================================ */

/* Places: intro + globe + bottom breathing room are one visual surface. */
.places-reference-page,
.places-map-section,
.places-globe-intro,
.places-globe-area{
  background-color:var(--places-bg,#f1ecdf)!important;
  background-image:none!important;
}
.places-map-section{
  box-shadow:none!important;
}
.places-globe-intro,
.places-globe-area{
  border-top:0!important;
  border-bottom:0!important;
}
.places-country-browser{
  background-color:var(--places-panel-bg,#eee7db)!important;
  background-image:none!important;
}

/* Desktop Places composition: quote and globe belong to the same left stage. */
@media(min-width:921px){
  .places-map-section{
    display:grid!important;
    grid-template-columns:minmax(0,3fr) minmax(300px,1fr)!important;
    grid-template-rows:1fr!important;
    align-items:stretch!important;
  }
  .places-globe-intro{
    grid-column:1!important;
    grid-row:1!important;
    align-self:start!important;
    justify-self:start!important;
    z-index:3!important;
    width:min(33%,390px)!important;
    margin:clamp(52px,6vh,76px) 0 0 clamp(44px,4vw,68px)!important;
    padding:0!important;
    border:0!important;
    pointer-events:none!important;
  }
  .places-globe-area{
    grid-column:1!important;
    grid-row:1!important;
    min-width:0!important;
    min-height:clamp(610px,73vh,820px)!important;
    padding:clamp(46px,5vh,68px) clamp(34px,4vw,64px) clamp(54px,6vh,76px) clamp(250px,27vw,430px)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .places-globe-area:not(.is-local-map) .places-globe-wrap{
    width:min(100%,min(64vh,650px))!important;
    max-width:650px!important;
    aspect-ratio:1!important;
    margin:auto!important;
  }
  .places-country-browser{
    grid-column:2!important;
    grid-row:1!important;
    height:auto!important;
    min-height:100%!important;
    overflow:auto!important;
  }
  .places-map-instruction-below{
    margin:12px 0 0!important;
    padding:0!important;
  }
}

/* Mobile menu: remove all legacy split-menu artefacts. */
@media(max-width:800px){
  .site-header nav{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    bottom:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:calc(100dvh - 8px)!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:stretch!important;
    padding:calc(var(--site-header-height,92px) + 18px) clamp(28px,7vw,46px) 28px!important;
    overflow-y:auto!important;
    background:var(--paper,#f3f1eb)!important;
  }
  .site-header nav::before,
  .site-header nav::after,
  .site-header nav .header-menu-links::before,
  .site-header nav .header-menu-links::after,
  .site-header nav .mobile-menu-social::before,
  .site-header nav .mobile-menu-social::after{
    content:none!important;
    display:none!important;
    border:0!important;
  }
  .site-header nav .header-menu-links,
  .site-header nav .mobile-menu-social{
    position:static!important;
    inset:auto!important;
    transform:none!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
  }
  .site-header nav .header-menu-links{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:clamp(15px,2.1vh,22px)!important;
    padding:2px 0 0!important;
    counter-reset:mobile-nav!important;
  }
  .site-header nav .header-menu-links>a{
    counter-increment:mobile-nav!important;
    display:flex!important;
    align-items:baseline!important;
    gap:14px!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    font-size:clamp(23px,6.7vw,30px)!important;
    line-height:1.05!important;
    letter-spacing:.09em!important;
    text-align:left!important;
  }
  .site-header nav .header-menu-links>a::before{
    content:counter(mobile-nav,decimal-leading-zero)!important;
    flex:0 0 24px!important;
    color:var(--accent,#9d4936)!important;
    font:500 10px/1 var(--font-ui,Montserrat,Arial,sans-serif)!important;
    letter-spacing:.08em!important;
  }
  .site-header nav .mobile-menu-social{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:clamp(11px,3.3vw,17px)!important;
    padding:clamp(24px,3.5vh,34px) 0 0!important;
    border:0!important;
  }
  .site-header nav .mobile-menu-social a,
  .site-header nav .mobile-menu-social button.newsletter-icon-button{
    display:grid!important;
    place-items:center!important;
    width:clamp(48px,13vw,56px)!important;
    height:clamp(48px,13vw,56px)!important;
    min-height:0!important;
    flex:0 0 clamp(48px,13vw,56px)!important;
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(21,22,17,.22)!important;
    border-radius:50%!important;
    background:transparent!important;
  }
  .site-header nav .mobile-menu-social .social-icon-glyph{
    width:auto!important;
    height:auto!important;
    flex:0 0 auto!important;
    border:0!important;
    border-radius:0!important;
  }
  .site-header nav .mobile-menu-social .social-label{
    display:none!important;
  }
  .site-header nav .mobile-menu-social svg,
  .site-header nav .mobile-menu-social button.newsletter-icon-button svg{
    width:19px!important;
    height:19px!important;
  }
}

/* Footer: one calm editorial band with clear hierarchy. */
.site-footer-expanded{
  display:grid!important;
  grid-template-columns:minmax(280px,1.05fr) minmax(420px,1.45fr) minmax(300px,1fr)!important;
  align-items:start!important;
  gap:clamp(42px,5vw,88px)!important;
  padding:clamp(30px,3vw,42px) clamp(44px,5.5vw,88px)!important;
}
.site-footer-expanded .footer-identity{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
}
.site-footer-expanded .footer-name{
  margin:0!important;
  font-size:clamp(17px,1.2vw,20px)!important;
}
.site-footer-expanded .footer-email{
  margin:0!important;
  font-size:clamp(12px,.9vw,14px)!important;
}
.site-footer-expanded .footer-follow{
  margin-top:6px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.site-footer-expanded .footer-follow>p{margin:0!important}
.site-footer-expanded .footer-shortcuts>p,
.site-footer-expanded .footer-legal>p{
  margin:0 0 13px!important;
  font-size:9px!important;
  letter-spacing:.17em!important;
}
.site-footer-expanded .footer-shortcuts>div{
  display:grid!important;
  grid-template-columns:repeat(4,max-content)!important;
  gap:10px clamp(22px,2.2vw,38px)!important;
  justify-content:start!important;
}
.site-footer-expanded .footer-shortcuts a{
  font-size:clamp(12px,.9vw,14px)!important;
  line-height:1.35!important;
}
.site-footer-expanded .footer-meta{
  display:flex!important;
  flex-direction:column!important;
  gap:16px!important;
}
.site-footer-expanded .footer-legal>div{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px 16px!important;
}
.site-footer-expanded .footer-trust{
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  padding-top:13px!important;
  border-top:1px solid rgba(244,240,232,.14)!important;
}
.site-footer-expanded .footer-trust span{
  font-size:10.5px!important;
  line-height:1.5!important;
  opacity:.78!important;
}

@media(max-width:980px) and (min-width:801px){
  .site-footer-expanded{
    grid-template-columns:1fr 1fr!important;
    gap:30px 48px!important;
  }
  .site-footer-expanded .footer-meta{grid-column:1/-1!important}
  .site-footer-expanded .footer-shortcuts>div{grid-template-columns:repeat(3,max-content)!important}
}
@media(max-width:800px){
  .site-footer-expanded{
    display:flex!important;
    flex-direction:column!important;
    gap:24px!important;
    padding:28px 24px 32px!important;
  }
  .site-footer-expanded .footer-shortcuts>div{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px 22px!important;
  }
  .site-footer-expanded .footer-meta{gap:14px!important}
}


/* ============================================================
   v5.88 — Places panel continuity + compact four-column footer
   ============================================================ */

/* Desktop Places: remove the parent padding strip. Each visual column
   owns its own bottom breathing room, so the Browse rail colour continues
   all the way down while the globe/intro remain on their paper colour. */
@media (min-width:921px){
  .places-map-section{
    padding-bottom:0!important;
    background:var(--places-bg,#f1ecdf)!important;
  }
  .places-globe-intro,
  .places-globe-area{
    background:var(--places-bg,#f1ecdf)!important;
  }
  .places-globe-area{
    padding-bottom:clamp(62px,7vh,88px)!important;
  }
  .places-country-browser{
    align-self:stretch!important;
    min-height:100%!important;
    padding-bottom:clamp(62px,7vh,88px)!important;
    background:var(--places-panel-bg,#eee7db)!important;
  }
}

/* Footer: four compact desktop groups, all left-aligned.
   Navigation links run in two rows / four columns instead of tall columns. */
.site-footer-expanded{
  display:grid!important;
  grid-template-columns:minmax(240px,1.05fr) minmax(430px,1.7fr) minmax(190px,.72fr) minmax(250px,1fr)!important;
  gap:clamp(28px,3vw,52px)!important;
  align-items:start!important;
  padding:clamp(24px,2.3vw,32px) clamp(40px,4.4vw,70px)!important;
  text-align:left!important;
}
.site-footer-expanded .footer-identity,
.site-footer-expanded .footer-shortcuts,
.site-footer-expanded .footer-legal,
.site-footer-expanded .footer-credit{
  min-width:0!important;
  text-align:left!important;
}
.site-footer-expanded .footer-identity{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}
.site-footer-expanded .footer-email{
  margin:0!important;
  text-align:left!important;
  font-size:clamp(12px,.9vw,14px)!important;
}
.site-footer-expanded .footer-follow{
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
}
.site-footer-expanded .footer-follow>p{margin:0!important;text-align:left!important}
.site-footer-expanded .footer-shortcuts>p,
.site-footer-expanded .footer-legal>p{
  margin:0 0 11px!important;
  text-align:left!important;
  font-size:9px!important;
  letter-spacing:.17em!important;
  text-transform:uppercase!important;
}
.site-footer-expanded .footer-shortcuts>div{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,max-content))!important;
  grid-auto-flow:row!important;
  gap:8px clamp(18px,1.8vw,30px)!important;
  justify-content:start!important;
  align-items:start!important;
}
.site-footer-expanded .footer-shortcuts a{
  display:block!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  white-space:nowrap!important;
  font-size:clamp(12px,.86vw,14px)!important;
  line-height:1.35!important;
}
.site-footer-expanded .footer-legal>div{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:7px!important;
}
.site-footer-expanded .footer-legal a{
  text-align:left!important;
  font-size:12px!important;
}
.site-footer-expanded .footer-credit{
  justify-self:stretch!important;
  padding-left:clamp(4px,1vw,16px)!important;
}
.site-footer-expanded .footer-credit p{
  margin:0 0 10px!important;
  color:var(--footer-name-color,#f4f0e8)!important;
  font:400 clamp(16px,1.12vw,19px)/1.2 var(--footer-name-font,var(--serif))!important;
  white-space:nowrap!important;
}
.site-footer-expanded .footer-credit span{
  display:block!important;
  max-width:290px!important;
  color:var(--footer-body-color,#d6d4cc)!important;
  font:400 10.5px/1.45 var(--footer-body-font,var(--sans))!important;
  opacity:.78!important;
}

@media(max-width:1100px) and (min-width:801px){
  .site-footer-expanded{
    grid-template-columns:1fr 1.5fr .7fr 1fr!important;
    gap:24px!important;
    padding-left:30px!important;
    padding-right:30px!important;
  }
  .site-footer-expanded .footer-shortcuts>div{
    grid-template-columns:repeat(2,max-content)!important;
  }
}

@media(max-width:800px){
  .site-footer-expanded{
    display:flex!important;
    flex-direction:column!important;
    gap:22px!important;
    padding:28px 24px 32px!important;
  }
  .site-footer-expanded .footer-shortcuts>div{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px 22px!important;
  }
  .site-footer-expanded .footer-legal>div{
    flex-direction:row!important;
    flex-wrap:wrap!important;
    gap:8px 16px!important;
  }
  .site-footer-expanded .footer-credit{padding-left:0!important}
  .site-footer-expanded .footer-credit p{white-space:normal!important}
}


/* ============================================================
   v5.89 — desktop hero focal points + definitive Places surfaces
   ============================================================ */
.hero-carousel-desktop .hero-slide .hero-panel>img,
.hero-carousel-desktop .hero-slide .hero-panel>video{
  object-position:var(--desktop-media-x,50%) var(--desktop-media-y,50%)!important;
}
@media(min-width:921px){
  /* One uninterrupted two-colour canvas: left intro/globe/padding stays Places
     paper; right Browse Places rail keeps its panel colour through the same
     bottom breathing room. */
  .places-map-section{
    background:linear-gradient(to right,var(--places-bg,#f1ecdf) 0%,var(--places-bg,#f1ecdf) 75%,var(--places-panel-bg,#eee7db) 75%,var(--places-panel-bg,#eee7db) 100%)!important;
    padding-bottom:clamp(62px,7vh,88px)!important;
  }
  .places-globe-intro,.places-globe-area,.places-country-browser{background:transparent!important;background-image:none!important}
  .places-globe-area,.places-country-browser{padding-bottom:0!important}
}

/* ============================================================
   v5.90 — Places bottom colour continuity (definitive)
   The bottom breathing room belongs to each grid column, not the parent.
   This keeps the Browse Places panel colour running all the way to the
   footer while the intro/globe column retains the Places paper colour.
   ============================================================ */
@media (min-width:921px){
  .places-map-section{
    padding-bottom:0!important;
    background:var(--places-bg,#f1ecdf)!important;
    background-image:none!important;
  }
  .places-globe-intro,
  .places-globe-area{
    background:var(--places-bg,#f1ecdf)!important;
    background-image:none!important;
  }
  .places-globe-area{
    padding-bottom:clamp(74px,8vh,104px)!important;
  }
  .places-country-browser{
    align-self:stretch!important;
    height:auto!important;
    min-height:100%!important;
    box-sizing:border-box!important;
    padding-bottom:clamp(74px,8vh,104px)!important;
    background:var(--places-panel-bg,#eee7db)!important;
    background-image:none!important;
  }
}

/* ============================================================
   v5.91 — Places right rail colour continuity
   The Browse Places colour is painted by the section itself so it cannot
   stop early when the browser content is shorter than the globe column.
   ============================================================ */
@media (min-width:921px){
  .places-map-section{
    position:relative!important;
    isolation:isolate!important;
    background:var(--places-bg,#f1ecdf)!important;
    background-image:none!important;
  }
  .places-map-section::after{
    content:""!important;
    position:absolute!important;
    z-index:0!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    width:25%!important;
    background:var(--places-panel-bg,#eee7db)!important;
    pointer-events:none!important;
  }
  .places-globe-intro,
  .places-globe-area,
  .places-country-browser{
    position:relative!important;
    z-index:1!important;
  }
  .places-country-browser{
    background:transparent!important;
    background-image:none!important;
  }
}

/* ============================================================
   v5.92 — Places bottom strip definitive fix
   The visible gap above the footer was NOT inside Browse Places; it was
   .places-reference-page bottom padding. Remove that outer page padding and
   make the Places section itself own the breathing room. On desktop the
   section paints one continuous 75/25 two-colour surface all the way down.
   ============================================================ */
.places-reference-page{
  padding-bottom:0!important;
}
@media (min-width:921px){
  .places-map-section{
    padding-bottom:clamp(58px,6.5vh,86px)!important;
    background:linear-gradient(
      to right,
      var(--places-bg,#f1ecdf) 0%,
      var(--places-bg,#f1ecdf) 75%,
      var(--places-panel-bg,#eee7db) 75%,
      var(--places-panel-bg,#eee7db) 100%
    )!important;
    background-image:linear-gradient(
      to right,
      var(--places-bg,#f1ecdf) 0%,
      var(--places-bg,#f1ecdf) 75%,
      var(--places-panel-bg,#eee7db) 75%,
      var(--places-panel-bg,#eee7db) 100%
    )!important;
  }
  .places-map-section::before,
  .places-map-section::after{
    display:none!important;
    content:none!important;
  }
  .places-globe-intro,
  .places-globe-area,
  .places-country-browser{
    background:transparent!important;
    background-image:none!important;
  }
  .places-globe-area,
  .places-country-browser{
    padding-bottom:0!important;
  }
}

/* ============================================================
   v5.93 — Places colour split: structural bottom cells
   The bottom breathing room is now real grid content, not parent padding or
   a pseudo-element. This guarantees the left paper continues under intro +
   globe and the Browse Places panel colour continues under the right rail.
   ============================================================ */
@media (min-width:921px){
  .places-map-section{
    display:grid!important;
    grid-template-columns:minmax(230px,28%) minmax(420px,47%) minmax(300px,25%)!important;
    grid-template-rows:minmax(0,1fr) clamp(58px,6.5vh,86px)!important;
    grid-template-areas:
      "places-intro places-globe places-browser"
      "places-left-pad places-left-pad places-browser-pad"!important;
    padding:0!important;
    background:transparent!important;
    background-image:none!important;
    min-height:calc(100dvh - var(--site-header-height,92px))!important;
    align-items:stretch!important;
  }
  .places-map-section::before,
  .places-map-section::after{display:none!important;content:none!important}
  .places-globe-intro{
    grid-area:places-intro!important;
    background:var(--places-bg,#f1ecdf)!important;
  }
  .places-globe-area{
    grid-area:places-globe!important;
    padding-bottom:clamp(20px,2.5vh,34px)!important;
    background:var(--places-bg,#f1ecdf)!important;
  }
  .places-country-browser{
    grid-area:places-browser!important;
    align-self:stretch!important;
    min-height:0!important;
    padding-bottom:32px!important;
    background:var(--places-panel-bg,#eee7db)!important;
  }
  .places-left-bottom-pad{
    display:block!important;
    grid-area:places-left-pad!important;
    min-height:clamp(58px,6.5vh,86px)!important;
    background:var(--places-bg,#f1ecdf)!important;
  }
  .places-browser-bottom-pad{
    display:block!important;
    grid-area:places-browser-pad!important;
    min-height:clamp(58px,6.5vh,86px)!important;
    background:var(--places-panel-bg,#eee7db)!important;
  }
}
@media (max-width:920px){
  .places-left-bottom-pad,
  .places-browser-bottom-pad{display:none!important}
}

/* ============================================================
   v5.94 — Places desktop surface split fixed at the parent level
   The blank breathing room before the footer belongs to <main>, not reliably
   to the inner grid. Paint the entire Places main as the same 75/25 split so
   any residual/gap area continues the Browse Places panel colour on the right.
   ============================================================ */
@media (min-width:921px){
  .places-reference-page{
    background:linear-gradient(
      to right,
      var(--places-bg,#f1ecdf) 0,
      var(--places-bg,#f1ecdf) 75%,
      var(--places-panel-bg,#eee7db) 75%,
      var(--places-panel-bg,#eee7db) 100%
    )!important;
  }
  .places-map-section{
    background:transparent!important;
  }
  .places-globe-intro,
  .places-globe-area,
  .places-left-bottom-pad{
    background:var(--places-bg,#f1ecdf)!important;
  }
  .places-country-browser,
  .places-browser-bottom-pad{
    background:var(--places-panel-bg,#eee7db)!important;
  }
  /* Any content revealed below the map returns to the normal Places paper. */
  .places-selection-stage{
    position:relative!important;
    z-index:1!important;
    background:var(--places-bg,#f1ecdf)!important;
  }
}


/* ============================================================
   v5.95 — remove Places spacer band entirely
   The blank breathing-room row above the footer is removed instead of
   recoloured. The map/browser grid now ends with its actual content and the
   footer follows immediately. No synthetic bottom-pad cells remain.
   ============================================================ */
@media (min-width:921px){
  .places-reference-page{
    padding-bottom:0!important;
    background:transparent!important;
    background-image:none!important;
  }
  .places-map-section{
    grid-template-columns:minmax(230px,28%) minmax(420px,47%) minmax(300px,25%)!important;
    grid-template-rows:minmax(0,1fr)!important;
    grid-template-areas:"places-intro places-globe places-browser"!important;
    padding:0!important;
    margin-bottom:0!important;
    min-height:0!important;
    background:transparent!important;
    background-image:none!important;
  }
  .places-globe-intro{grid-area:places-intro!important;background:var(--places-bg,#f1ecdf)!important}
  .places-globe-area{grid-area:places-globe!important;background:var(--places-bg,#f1ecdf)!important;padding-bottom:clamp(18px,2.2vh,28px)!important}
  .places-country-browser{grid-area:places-browser!important;background:var(--places-panel-bg,#eee7db)!important;padding-bottom:clamp(18px,2.2vh,28px)!important}
  .places-left-bottom-pad,.places-browser-bottom-pad{display:none!important;height:0!important;min-height:0!important;padding:0!important;margin:0!important}
}

/* ============================================================
   v5.96 — restore proportional desktop Places composition after v5.95
   Keep the spacer removed, but give the live Places row a real viewport-sized
   stage again so the intro retains a readable measure and the Earth does not
   collapse when the footer follows immediately.
   ============================================================ */
@media (min-width:921px){
  .places-map-section{
    display:grid!important;
    grid-template-columns:minmax(320px,29%) minmax(500px,46%) minmax(300px,25%)!important;
    grid-template-rows:1fr!important;
    grid-template-areas:"places-intro places-globe places-browser"!important;
    height:calc(100dvh - var(--site-header-height,92px))!important;
    min-height:620px!important;
    max-height:none!important;
    padding:0!important;
    margin:0!important;
    align-items:stretch!important;
    overflow:hidden!important;
    background:transparent!important;
  }
  .places-globe-intro{
    grid-area:places-intro!important;
    align-self:center!important;
    justify-self:stretch!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:clamp(34px,4.5vh,62px) clamp(24px,2.7vw,46px) clamp(34px,4.5vh,62px) clamp(42px,4vw,68px)!important;
    font-size:clamp(20px,1.45vw,var(--places-intro-body-size-desktop,30px))!important;
    line-height:1.42!important;
    letter-spacing:-.018em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
    background:var(--places-bg,#f1ecdf)!important;
  }
  .places-globe-intro p,
  .places-globe-intro div{
    margin:0!important;
    line-height:1.42!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    white-space:normal!important;
  }
  .places-globe-intro p+p,
  .places-globe-intro div+div,
  .places-globe-intro p+div,
  .places-globe-intro div+p{margin-top:.52em!important}

  .places-globe-area{
    grid-area:places-globe!important;
    display:grid!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    align-items:center!important;
    justify-items:center!important;
    box-sizing:border-box!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    padding:clamp(20px,2.8vh,34px) clamp(12px,1.5vw,24px) clamp(18px,2.5vh,30px)!important;
    gap:clamp(8px,1.2vh,14px)!important;
    background:var(--places-bg,#f1ecdf)!important;
    overflow:visible!important;
  }
  .places-globe-area:not(.is-local-map) .places-globe-wrap{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:center!important;
    width:min(100%,64dvh,640px)!important;
    min-width:min(430px,100%)!important;
    max-width:640px!important;
    height:auto!important;
    max-height:none!important;
    aspect-ratio:1/1!important;
    margin:0!important;
  }
  .places-map-instruction-below{
    grid-row:2!important;
    align-self:end!important;
    margin:0!important;
    padding:0!important;
  }
  .places-map-attribution{bottom:10px!important}

  .places-country-browser{
    grid-area:places-browser!important;
    align-self:stretch!important;
    height:100%!important;
    min-height:0!important;
    box-sizing:border-box!important;
    overflow-y:auto!important;
    background:var(--places-panel-bg,#eee7db)!important;
  }
}
@media (min-width:921px) and (max-height:720px){
  .places-map-section{min-height:540px!important}
  .places-globe-area:not(.is-local-map) .places-globe-wrap{
    width:min(100%,58dvh,570px)!important;
    min-width:min(390px,100%)!important;
  }
}

/* ============================================================
   v5.97 — Places desktop intro aligns to the top of the stage
   Keep v5.96 proportions and globe size; only move the editorial intro
   from vertical-centre to the top so it begins alongside Browse Places.
   ============================================================ */
@media (min-width:921px){
  .places-globe-intro{
    align-self:start!important;
    padding-top:clamp(46px,5vh,62px)!important;
  }
}


/* ============================================================
   v5.98 — true two-axis homepage carousel focal positioning
   object-position cannot move an image on an axis where `cover` creates no
   overflow (for example horizontal on some desktop crops, or vertical on
   portrait/mobile crops). A small overscan canvas gives both sliders real
   movement on every image while keeping the crop edge-to-edge.
   ============================================================ */
.hero-carousel-desktop .hero-slide .hero-panel>img,
.hero-carousel-desktop .hero-slide .hero-panel>video{
  position:absolute!important;
  width:112%!important;
  height:112%!important;
  max-width:none!important;
  max-height:none!important;
  left:var(--desktop-pan-left,-6%)!important;
  top:var(--desktop-pan-top,-6%)!important;
  object-fit:cover!important;
  object-position:center center!important;
}
@media(max-width:920px){
  .hero-carousel-mobile .hero-slide .hero-panel>img,
  .hero-carousel-mobile .hero-slide .hero-panel>video{
    position:absolute!important;
    width:112%!important;
    height:112%!important;
    max-width:none!important;
    max-height:none!important;
    left:var(--mobile-pan-left,-6%)!important;
    top:var(--mobile-pan-top,-6%)!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}

/* v5.99 — Insights: tighten the transition from the opening quote into the first story.
   The previous desktop editorial-entry padding created a large blank band before the
   first image/copy. Keep later rows spacious, but let the first row begin immediately
   beneath the introduction. */
@media(min-width:901px){
  .insights-entry-list .insight-editorial-entry:first-child>a{
    padding-top:clamp(14px,1.6vh,24px)!important;
  }
}

/* v6.01 — About editorial story */
.about-editorial{background:var(--about-body-bg);overflow:hidden}.about-editorial figure{margin:0}.about-editorial img{width:100%;height:100%;object-fit:cover}.about-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"title photo" "name photo";gap:clamp(28px,5vw,82px);padding:clamp(70px,8vw,125px) clamp(24px,6vw,92px);background:var(--about-intro-bg);align-items:start}.about-hero-title{grid-area:title;font-family:var(--serif);font-size:clamp(48px,5vw,var(--about-title-size));line-height:.98;letter-spacing:-.045em}.about-hero-title p{margin:0}.about-hero figure{grid-area:photo;min-height:650px;max-height:78vh}.about-name{grid-area:name;max-width:590px;font-size:var(--about-copy-size);line-height:1.72}.about-name p,.about-copy p{margin:0 0 1.35em}.about-question{display:grid;grid-template-columns:1.05fr .75fr;gap:clamp(50px,10vw,170px);padding:clamp(90px,11vw,175px) clamp(24px,7vw,110px)}.about-big-copy{font-family:var(--serif);font-size:clamp(38px,4.5vw,74px);line-height:1.04;letter-spacing:-.035em}.about-big-copy p{margin:0 0 .5em}.about-copy{font-size:var(--about-copy-size);line-height:1.8;max-width:720px}.about-photo-wide{height:min(72vh,820px);margin:0 clamp(24px,5vw,76px)!important}.about-storyteller{display:grid;grid-template-columns:.9fr .7fr;grid-template-areas:"copy curiosity" "copy photo";gap:45px clamp(50px,9vw,145px);padding:clamp(95px,11vw,170px) clamp(24px,7vw,110px)}.about-storyteller>.about-copy{grid-area:copy}.about-curiosity{grid-area:curiosity;font-family:var(--serif);font-size:clamp(38px,4vw,66px);line-height:1.05}.about-curiosity p{margin:0 0 .2em}.about-storyteller figure{grid-area:photo;height:430px}.about-between{padding:30px clamp(24px,7vw,110px) clamp(90px,10vw,150px)}.about-between .about-copy{max-width:850px;margin-left:auto;font-family:var(--serif);font-size:clamp(25px,2.5vw,40px);line-height:1.45}.about-photo-panorama{height:min(78vh,850px)}.about-camera{padding:clamp(100px,12vw,190px) clamp(24px,7vw,110px)}.about-camera .about-copy{max-width:920px;font-family:var(--serif);font-size:clamp(27px,3vw,48px);line-height:1.4}.about-people{display:grid;grid-template-columns:1.1fr .75fr;gap:clamp(45px,8vw,130px);align-items:center;padding:0 clamp(24px,7vw,110px) clamp(100px,11vw,170px)}.about-people figure{height:min(72vh,760px)}.about-ending{padding:clamp(100px,13vw,210px) clamp(24px,8vw,130px);background:var(--about-intro-bg);font-family:var(--serif);font-size:clamp(40px,5vw,80px);line-height:1.05;letter-spacing:-.04em}.about-ending p{max-width:1100px;margin:.25em 0}.studio-media-preview{width:100%;max-width:520px;max-height:260px;object-fit:cover;margin-top:12px;border-radius:8px}
@media (max-width:760px) {.about-hero,.about-question,.about-storyteller,.about-people{grid-template-columns:1fr}.about-hero{grid-template-areas:"title" "photo" "name";padding:52px 22px}.about-hero-title{font-size:var(--about-title-size-mobile)}.about-hero figure{min-height:0;height:58vh}.about-name,.about-copy{font-size:var(--about-copy-size-mobile)}.about-question{padding:72px 22px;gap:42px}.about-big-copy{font-size:clamp(36px,11vw,54px)}.about-photo-wide{height:55vh;margin:0 22px!important}.about-storyteller{grid-template-areas:"copy" "curiosity" "photo";padding:76px 22px}.about-storyteller figure{height:52vh}.about-between{padding:20px 22px 76px}.about-between .about-copy{font-size:25px}.about-photo-panorama{height:58vh}.about-camera{padding:80px 22px}.about-camera .about-copy{font-size:27px}.about-people{padding:0 22px 85px;gap:40px}.about-people figure{height:60vh}.about-ending{padding:85px 22px;font-size:clamp(38px,11vw,56px)}}

/* v6.02 About editorial balance fix */
.about-photo-slot{background:#ded8cc;overflow:hidden;position:relative}.about-photo-placeholder{width:100%;height:100%;min-height:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px solid rgba(25,25,20,.14);color:rgba(25,25,20,.48);letter-spacing:.16em;font-size:11px}.about-photo-placeholder small{font-family:var(--sans);font-size:10px;letter-spacing:.08em;text-transform:none}.about-hero{grid-template-columns:minmax(330px,.82fr) minmax(500px,1.18fr);grid-template-rows:auto 1fr;grid-template-areas:"title photo" "name photo";gap:30px clamp(45px,6vw,95px);padding:clamp(58px,6vw,88px) clamp(36px,6vw,92px);min-height:0;align-items:start}.about-hero-title{font-size:clamp(42px,4vw,62px);line-height:1.01;max-width:620px;padding-top:10px}.about-hero figure{height:clamp(520px,62vh,690px);min-height:0;max-height:none}.about-name{align-self:end;padding-bottom:8px;max-width:620px}.about-name p:first-child{font-family:var(--serif);font-size:clamp(28px,2.25vw,38px);line-height:1.15;margin-bottom:28px}.about-question{padding-top:clamp(70px,8vw,120px)}
@media (max-width:760px) {.about-hero{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:"title" "photo" "name";gap:28px;padding:42px 20px 56px}.about-hero-title{font-size:clamp(38px,11vw,var(--about-title-size-mobile));max-width:92%;padding:0}.about-hero figure{height:58vh;min-height:390px}.about-name{padding:0;max-width:none}.about-name p:first-child{font-size:29px;margin-bottom:22px}.about-photo-placeholder small{max-width:220px;text-align:center}}

/* v6.03 — About paired visual story builder */
.about-pairs-page{background:var(--about-bg,#f4f1ea)}
.about-pair-row{display:grid;grid-template-columns:1fr 1fr;min-height:clamp(520px,72vh,760px);background:var(--about-bg,#f4f1ea);overflow:hidden}
.about-pair-row.is-reversed .about-pair-copy-cell{order:2}.about-pair-row.is-reversed .about-pair-image-cell{order:1}
.about-pair-cell{position:relative;min-width:0;min-height:inherit}
.about-pair-copy{position:absolute;left:var(--x,5%);top:var(--y,8%);width:var(--w,88%);font-size:var(--about-copy-size,19px);line-height:1.72;color:#171714}
.about-pair-copy p{margin:0 0 1.15em}.about-pair-copy p:first-child{font-family:var(--serif);font-size:clamp(30px,3vw,52px);line-height:1.08;letter-spacing:-.025em}
.about-pair-image{position:absolute;left:var(--x,5%);top:var(--y,5%);width:var(--w,90%);height:var(--h,90%);margin:0;overflow:hidden;background:#ddd7cc}
.about-pair-image img{width:100%;height:100%;object-fit:cover;display:block}
.about-pair-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.16em;font:11px var(--sans);color:rgba(20,20,18,.45);border:1px solid rgba(20,20,18,.12)}
.about-pair-row+ .about-pair-row{border-top:1px solid rgba(30,30,25,.08)}
@media (max-width:760px) {.about-pair-row,.about-pair-row.is-reversed{display:flex;flex-direction:column;min-height:0}.about-pair-row .about-pair-copy-cell,.about-pair-row.is-reversed .about-pair-copy-cell{order:1;min-height:auto;padding:44px 22px 28px}.about-pair-row .about-pair-image-cell,.about-pair-row.is-reversed .about-pair-image-cell{order:2;min-height:0;padding:0 22px 46px}.about-pair-copy{position:static;width:auto!important;font-size:var(--about-copy-size-mobile,17px)}.about-pair-copy p:first-child{font-size:clamp(28px,8.5vw,42px)}.about-pair-image{position:relative;left:auto;top:auto;width:100%!important;height:min(62vh,520px)!important}.about-pair-placeholder{min-height:360px}}

/* Studio visual pair editor */
.about-visual-form{overflow:hidden}.about-pair-editor{border:1px solid #d9d2c5;margin:24px 0;padding:14px;background:#faf8f3}.about-pair-editor-head{display:flex;gap:14px;align-items:center;margin-bottom:12px}.about-pair-editor-head span{font-size:12px;color:#7b746a}.about-pair-editor-head button{margin-left:auto;padding:7px 10px;font-size:12px}.about-pair-preview{display:grid;grid-template-columns:1fr 1fr;height:420px;border:1px solid #d8d1c5;background:#f4f1ea;overflow:hidden}.about-pair-preview.is-reversed .text-half{order:2}.about-pair-preview.is-reversed .image-half{order:1}.about-preview-half{position:relative;overflow:hidden;border-right:1px solid rgba(30,30,25,.10)}.about-preview-half:last-child{border-right:0}.draggable-block{position:absolute;left:var(--x,5%);top:var(--y,5%);width:var(--w,90%);box-sizing:border-box;touch-action:none}.about-preview-text{font-family:var(--serif);font-size:25px;line-height:1.15;padding:12px;border:1px dashed rgba(20,20,18,.35);background:rgba(255,255,255,.45);min-height:90px;cursor:move}.about-preview-text p{margin:0 0 .55em}.about-preview-image{height:var(--h,90%);background:#ddd7cc;border:1px dashed rgba(20,20,18,.35);cursor:move;overflow:hidden}.about-preview-image img{width:100%;height:100%;display:block;object-fit:cover}.about-image-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:13px;color:#777}.resize-handle{position:absolute;right:-1px;bottom:-1px;width:18px;height:18px;background:#a84f3d;border-radius:10px 0 0 0;cursor:nwse-resize}.about-pair-fields{display:grid;grid-template-columns:1.4fr .6fr;gap:16px;margin-top:12px}.about-pair-fields textarea{min-height:150px}.about-focal-controls{display:flex;gap:20px;margin-top:10px}.about-focal-controls label{flex:1;font-size:12px}.about-focal-controls input{width:100%}
@media(max-width:900px){.about-pair-preview{height:330px}.about-preview-text{font-size:19px}.about-pair-fields{grid-template-columns:1fr}}

/* v6.04 — People gallery: editorial desktop, compact Instagram-like mobile grid. */
.people-multiple-media{
  position:absolute;z-index:5;top:12px;right:12px;width:23px;height:23px;pointer-events:none;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.25));
}
.people-multiple-media i{position:absolute;width:14px;height:14px;border:1.5px solid #fff;border-radius:2px;background:transparent}
.people-multiple-media i:first-child{top:2px;right:2px}.people-multiple-media i:last-child{left:2px;bottom:2px;background:rgba(20,20,18,.08)}

@media(min-width:761px){
  .people-reference-grid{
    gap:clamp(16px,1.35vw,24px)!important;
    padding-top:14px!important;
    padding-bottom:clamp(28px,3.5vw,52px)!important;
    align-items:start!important;
    grid-auto-rows:auto!important;
  }
  .people-reference-card{
    height:auto!important;
    aspect-ratio:4/5!important;
  }
  .people-reference-card img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
}

@media (max-width:760px) {
  .people-reference-page>.story-filter-bar{padding:10px 12px!important}
  .people-reference-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:3px!important;
    padding:3px 0 20px!important;
    border:0!important;
    width:100%!important;
  }
  .people-reference-card{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1/1!important;
    overflow:hidden!important;
    border:0!important;
    background:#ded9cf!important;
  }
  .people-reference-card img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    object-fit:cover!important;
    transform:none!important;
  }
  .people-reference-hover,.people-reference-card:after{display:none!important}
  .people-reference-placeholder{font-size:clamp(13px,3.8vw,18px)!important;padding:8px!important}
  .people-multiple-media{top:6px;right:6px;width:18px;height:18px}
  .people-multiple-media i{width:11px;height:11px;border-width:1.3px}
}

/* ============================================================
   v6.05 — People natural photography + same-page lightbox
   ============================================================ */
.people-reference-grid{
  display:block!important;
  columns:4;
  column-gap:clamp(16px,1.5vw,26px)!important;
  padding:clamp(18px,2.4vw,34px) clamp(28px,4vw,66px) clamp(34px,4vw,60px)!important;
  border:0!important;
}
.people-reference-card{
  appearance:none;border:0;padding:0;margin:0 0 clamp(16px,1.5vw,26px)!important;width:100%!important;height:auto!important;aspect-ratio:auto!important;
  display:inline-block!important;position:relative;vertical-align:top;break-inside:avoid;background:transparent!important;color:inherit;text-align:left;cursor:pointer;overflow:visible!important;
}
.people-reference-card img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;transform:none!important;transition:opacity .25s ease}
.people-reference-card:hover img,.people-reference-card:focus-visible img{transform:none!important;opacity:.93}
.people-reference-card:after,.people-reference-hover{display:none!important}
.people-reference-title{display:block;padding:8px 2px 0;font:500 var(--people-card-title-size-desktop,14px)/1.35 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.025em;color:#171714}
.people-multiple-media{top:10px;right:10px}
@media(max-width:1050px){.people-reference-grid{columns:3}}
@media (max-width:760px) {
  .people-reference-grid{columns:2!important;column-gap:10px!important;padding:12px 10px 30px!important}
  .people-reference-card{margin-bottom:10px!important;aspect-ratio:auto!important;overflow:visible!important}
  .people-reference-card img{width:100%!important;height:auto!important;object-fit:contain!important}
  .people-reference-title{font-size:var(--people-card-title-size-mobile,13px);padding-top:6px}
  .people-multiple-media{top:6px;right:6px}
}
@media(max-width:420px){.people-reference-grid{columns:2!important;column-gap:8px!important;padding-inline:8px!important}.people-reference-card{margin-bottom:8px!important}}
.people-lightbox[hidden]{display:none!important}.people-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(12,12,11,.94);display:grid;place-items:center;padding:56px clamp(18px,4vw,70px);color:#fff}.people-lightbox figure{margin:0;max-width:min(92vw,1200px);max-height:88dvh;display:flex;flex-direction:column;align-items:center;gap:10px}.people-lightbox figure img{display:block;max-width:100%;max-height:80dvh;width:auto;height:auto;object-fit:contain}.people-lightbox figcaption{font:500 12px/1.4 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.08em;text-transform:uppercase}.people-lightbox-close{position:absolute;right:20px;top:16px;width:44px;height:44px;border:0;background:transparent;color:#fff;font-size:36px;line-height:1;cursor:pointer}.people-lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);border:0;background:rgba(255,255,255,.08);color:#fff;width:48px;height:64px;font-size:38px;cursor:pointer}.people-lightbox-arrow.is-prev{left:16px}.people-lightbox-arrow.is-next{right:16px}.people-lightbox-count{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);font:500 10px var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.12em}.people-lightbox-open{overflow:hidden}
@media (max-width:760px) {.people-lightbox{padding:60px 12px 52px}.people-lightbox figure img{max-height:76dvh}.people-lightbox-arrow{width:38px;height:52px;font-size:30px;background:rgba(0,0,0,.22)}.people-lightbox-arrow.is-prev{left:4px}.people-lightbox-arrow.is-next{right:4px}}

/* About: one fixed photograph on the right, moving text cards on the left. */
.about-slider-page{background:var(--about-bg,#f4f1ea)}
.about-slider-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:calc(100dvh - var(--site-header-height,92px));min-height:560px;overflow:hidden;background:var(--about-bg,#f4f1ea)}
.about-slider-copy{position:relative;min-width:0;display:flex;flex-direction:column;padding:clamp(36px,5vw,82px) clamp(34px,6vw,96px) clamp(28px,4vw,54px);overflow:hidden}
.about-slider-track{position:relative;flex:1;min-height:0}
.about-slider-card{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateX(28px);pointer-events:none;transition:opacity .38s ease,transform .38s ease;font-size:var(--about-copy-size,19px);line-height:1.7;color:#171714;overflow:auto;padding-right:12px}
.about-slider-card.is-active{opacity:1;transform:none;pointer-events:auto}
.about-slider-card p{margin:0 0 1.15em}.about-slider-card p:first-child{font-family:var(--font-heading,"Cormorant Garamond",Georgia,serif);font-size:clamp(30px,3.2vw,54px);line-height:1.06;letter-spacing:-.028em}
.about-slider-controls{display:flex;align-items:center;gap:14px;padding-top:18px;border-top:1px solid rgba(23,23,20,.12)}
.about-slider-controls>button{border:0;background:transparent;padding:8px 4px;font-size:20px;cursor:pointer}.about-slider-controls>span{font:500 9px var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.12em;white-space:nowrap}.about-slider-dots{display:flex;gap:6px;flex:1}.about-slider-dots button{width:22px;height:2px;padding:0;border:0;background:rgba(23,23,20,.18);cursor:pointer}.about-slider-dots button.is-active{background:#171714}
.about-slider-image{margin:0;height:100%;overflow:hidden;background:#ddd7cc}.about-slider-image img{width:100%;height:100%;object-fit:cover;object-position:var(--about-focal-x,50%) var(--about-focal-y,50%);display:block}.about-slider-placeholder{height:100%;display:grid;place-items:center;text-transform:uppercase;letter-spacing:.18em;font:10px var(--font-ui,Montserrat,Arial,sans-serif);color:rgba(20,20,18,.45)}
@media (max-width:760px) {.about-slider-stage{height:auto;min-height:0;display:flex;flex-direction:column}.about-slider-image{order:1;height:min(54dvh,520px);min-height:320px}.about-slider-copy{order:2;min-height:460px;padding:36px 22px 28px}.about-slider-track{min-height:340px}.about-slider-card{font-size:var(--about-copy-size-mobile,17px);justify-content:flex-start;overflow:auto}.about-slider-card p:first-child{font-size:clamp(29px,9vw,42px)}.about-slider-dots button{width:14px}}

/* Studio About preview */
.about-simple-preview{display:grid;grid-template-columns:1fr 1fr;height:360px;margin:18px 0 24px;border:1px solid #d8d1c5;background:#f4f1ea;overflow:hidden}.about-simple-preview-copy{padding:28px;overflow:hidden}.about-simple-preview-copy>span{display:block;font:600 9px Montserrat,sans-serif;letter-spacing:.14em;color:#777;margin-bottom:20px}.about-simple-preview-copy>div{font:26px/1.15 "Cormorant Garamond",Georgia,serif}.about-simple-preview-image{background:#ddd7cc;display:grid;place-items:center;overflow:hidden}.about-simple-preview-image img{width:100%;height:100%;object-fit:cover}.about-simple-preview-image span{font:11px Montserrat,sans-serif;color:#777}.about-card-editor{margin:18px 0}.about-card-editor>.rich-editor{margin-bottom:10px}@media (max-width:760px) {.about-simple-preview{grid-template-columns:1fr;height:auto}.about-simple-preview-copy{min-height:220px}.about-simple-preview-image{min-height:280px}}

/* v6.06 — People gallery: original aspect ratios, full-width 3-column masonry,
   no generated titles under photographs, real hover-video preview, clearer multi-photo cue. */
.people-reference-grid{
  columns:3!important;
  column-gap:clamp(18px,2vw,30px)!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  padding:clamp(34px,4vw,58px) clamp(42px,4vw,66px) clamp(54px,5vw,78px)!important;
}
.people-reference-card{
  display:inline-block!important;
  width:100%!important;
  margin:0 0 clamp(18px,2vw,30px)!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
  break-inside:avoid!important;
  -webkit-column-break-inside:avoid!important;
  aspect-ratio:auto!important;
  text-align:left!important;
  cursor:zoom-in!important;
}
.people-card-media{position:relative;display:block;width:100%;overflow:hidden;background:#ded9cf}
.people-reference-card img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;transform:none!important;margin:0!important}
.people-reference-title{display:none!important}
.people-hover-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .22s ease;background:#111;pointer-events:none}
.people-reference-card.has-hover-video:hover .people-hover-video,.people-reference-card.has-hover-video:focus-visible .people-hover-video{opacity:1}
.people-reference-card.has-hover-video:hover> .people-card-media > img,.people-reference-card.has-hover-video:focus-visible> .people-card-media > img{opacity:0}
.people-video-mark{position:absolute;left:12px;bottom:12px;z-index:4;display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.82);border-radius:50%;background:rgba(15,15,14,.22);color:#fff;font:10px/1 Arial,sans-serif;backdrop-filter:blur(3px);transition:opacity .18s ease}
.people-reference-card.has-hover-video:hover .people-video-mark{opacity:0}
.people-multiple-media{display:block!important;top:10px!important;right:10px!important;width:34px!important;height:22px!important;z-index:5!important}
.people-multiple-media i{width:14px!important;height:14px!important}
.people-multiple-media b{position:absolute;right:-1px;top:1px;color:#fff;font:500 19px/18px Arial,sans-serif;text-shadow:0 1px 4px rgba(0,0,0,.35)}
@media(max-width:1050px){.people-reference-grid{columns:3!important}}
@media (max-width:760px) {
  .people-reference-grid{columns:1!important;column-gap:0!important;padding:20px 18px 38px!important}
  .people-reference-card{margin-bottom:18px!important}
  .people-reference-card img{width:100%!important;height:auto!important;object-fit:contain!important}
  .people-hover-video{display:none!important}
  .people-video-mark{display:none!important}
  .people-multiple-media{top:8px!important;right:8px!important}
}

/* v8.0 — People: no intro, split tag/country filters, inline photo arrows, separate zoom, on-demand video. */
.people-reference-page.people-no-intro{background:var(--people-grid-bg,#f4f1ea);min-height:100dvh}
.people-filter-shell{
  display:flex;align-items:flex-start;justify-content:space-between;gap:24px;
  padding:18px clamp(42px,4vw,66px) 10px;background:var(--people-grid-bg,#f4f1ea);
  border-bottom:1px solid rgba(23,23,20,.1)
}
.people-filter-shell>.story-filter-bar{
  width:auto!important;min-width:0;padding:0!important;border:0!important;background:transparent!important
}
.people-filter-shell>.story-filter-bar:first-child{justify-content:flex-start}
.people-country-filter{justify-content:flex-end;margin-left:auto}
.people-country-filter>span{margin-left:8px}
.people-country-filter button{white-space:nowrap}

.people-reference-page.people-no-intro .people-reference-grid{padding-top:24px!important}
.people-reference-card{cursor:default!important}
.people-card-media{isolation:isolate}
.people-card-media [data-people-card-image]{display:none!important;width:100%!important;height:auto!important;opacity:1!important}
.people-card-media [data-people-card-image].is-active{display:block!important}

.people-card-arrow,.people-zoom-cue,.people-video-play,.people-video-mute{
  appearance:none;border:1px solid rgba(255,255,255,.8);background:rgba(15,15,14,.28);color:#fff;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);cursor:pointer;z-index:8
}
.people-card-arrow{
  position:absolute;top:50%;transform:translateY(-50%);width:34px;height:46px;border-radius:999px;
  display:grid;place-items:center;font:400 24px/1 Arial,sans-serif;opacity:.78;transition:opacity .18s ease,background .18s ease
}
.people-card-arrow.is-prev{left:10px}.people-card-arrow.is-next{right:10px}
.people-card-arrow:hover,.people-card-arrow:focus-visible{opacity:1;background:rgba(15,15,14,.48);outline:0}
.people-card-count{
  position:absolute;right:12px;bottom:12px;z-index:7;padding:5px 7px;border-radius:999px;background:rgba(15,15,14,.32);color:#fff;
  font:500 8px/1 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.08em;backdrop-filter:blur(4px)
}
.people-zoom-cue{
  position:absolute;left:12px;top:12px;display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;
  opacity:.84;transition:opacity .18s ease,background .18s ease
}
.people-zoom-cue span{font:400 17px/1 Arial,sans-serif;transform:rotate(-18deg)}
.people-zoom-cue b,.people-video-play b{font:600 8px/1 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase}
.people-zoom-cue:hover,.people-zoom-cue:focus-visible{opacity:1;background:rgba(15,15,14,.5);outline:0}

.people-hover-video{opacity:0!important;pointer-events:none!important;z-index:4;object-fit:cover!important}
.people-reference-card.has-hover-video:hover> .people-card-media > img,
.people-reference-card.has-hover-video:focus-visible> .people-card-media > img{opacity:1!important}
.people-reference-card.is-video-playing .people-hover-video{opacity:1!important}
.people-reference-card.is-video-playing> .people-card-media > img{opacity:0!important}
.people-video-mark,.people-multiple-media{display:none!important}
.people-video-play{
  position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;
  opacity:0;pointer-events:none;transition:opacity .18s ease,background .18s ease
}
.people-video-play span{font:10px/1 Arial,sans-serif}
.people-video-mute{
  position:absolute;right:12px;top:12px;padding:7px 9px;border-radius:999px;font:600 8px/1 var(--font-ui,Montserrat,Arial,sans-serif);
  letter-spacing:.08em;text-transform:uppercase;opacity:0;pointer-events:none;transition:opacity .18s ease,background .18s ease
}
.people-reference-card.has-hover-video:hover .people-video-play,
.people-reference-card.has-hover-video:hover .people-video-mute,
.people-reference-card.has-hover-video:focus-within .people-video-play,
.people-reference-card.has-hover-video:focus-within .people-video-mute{opacity:1;pointer-events:auto}
.people-reference-card.is-video-playing .people-video-play{opacity:0!important;pointer-events:none!important}
.people-reference-card.has-hover-video .people-video-play:hover,
.people-reference-card.has-hover-video .people-video-mute:hover{background:rgba(15,15,14,.55)}
.people-reference-card.has-hover-video .people-card-count{bottom:52px}

@media (max-width:760px) {
  .people-filter-shell{display:block;padding:12px 18px 8px;overflow:hidden}
  .people-filter-shell>.story-filter-bar{display:flex!important;overflow-x:auto;flex-wrap:nowrap!important;padding:7px 0!important;scrollbar-width:none}
  .people-filter-shell>.story-filter-bar::-webkit-scrollbar{display:none}
  .people-country-filter{justify-content:flex-start;margin-left:0;border-top:1px solid rgba(23,23,20,.08)!important}
  .people-country-filter>span{margin-left:0}
  .people-reference-page.people-no-intro .people-reference-grid{padding-top:12px!important}
  .people-card-arrow{width:32px;height:42px;opacity:.9}
  .people-zoom-cue{top:9px;left:9px}.people-zoom-cue b{display:none}
  .people-card-count{right:9px;bottom:9px}
  .people-video-play,.people-video-mute{display:none!important}
}

/* v8.1 — People gallery cleanup: row-first grid, no separator, one photo arrow, right-side zoom. */
.people-filter-shell{border-bottom:0!important;padding-bottom:14px!important}
.people-reference-page.people-no-intro .people-reference-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(22px,2vw,30px)!important;
  columns:auto!important;
  column-gap:normal!important;
  align-items:start!important;
  padding-top:10px!important;
}
.people-reference-card{display:block!important;width:100%!important;margin:0!important;break-inside:auto!important;-webkit-column-break-inside:auto!important}
.people-card-arrow.is-cycle{left:10px!important;right:auto!important;transform:translateY(-50%) rotate(180deg)!important}
.people-zoom-cue{left:auto!important;right:12px!important;top:12px!important}
.people-card-count{display:none!important}
.people-video-play{left:50%!important;bottom:auto!important;top:50%!important;transform:translate(-50%,-50%)!important;padding:9px 13px!important;background:rgba(15,15,14,.42)!important}
.people-video-mute{display:none!important}
.people-reference-card.is-video-playing .people-video-mute{display:block!important;opacity:1!important;pointer-events:auto!important;top:auto!important;bottom:12px!important;right:12px!important}
.people-reference-card.has-hover-video:hover .people-hover-video{opacity:0!important}
.people-reference-card.has-hover-video:hover> .people-card-media > img{opacity:1!important}
.people-reference-card.is-video-playing .people-hover-video{opacity:1!important}
.people-reference-card.is-video-playing> .people-card-media > img{opacity:0!important}
.people-reference-card.is-video-playing .people-zoom-cue,.people-reference-card.is-video-playing .people-card-arrow{opacity:0!important;pointer-events:none!important}

.people-lightbox-media{position:relative;display:grid;place-items:center;max-width:100%;max-height:80dvh}
.people-lightbox-media img{grid-area:1/1;display:block;max-width:100%;max-height:80dvh;width:auto;height:auto;object-fit:contain}
.people-lightbox-media video{grid-area:1/1;display:none;max-width:100%;max-height:80dvh;width:auto;height:auto;object-fit:contain;background:#000}
.people-lightbox-media.is-video .people-lightbox-media img{display:none}
.people-lightbox-media.is-video video{display:block}
.people-lightbox-video-play,.people-lightbox-video-mute{position:absolute;z-index:4;border:1px solid rgba(255,255,255,.82);border-radius:999px;background:rgba(15,15,14,.38);color:#fff;backdrop-filter:blur(4px);cursor:pointer;font:600 9px/1 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.08em;text-transform:uppercase}
.people-lightbox-video-play{left:14px;bottom:14px;padding:10px 13px}
.people-lightbox-video-mute{right:14px;bottom:14px;padding:10px 13px}

@media(max-width:1050px){.people-reference-page.people-no-intro .people-reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:760px) {
  .people-reference-page.people-no-intro .people-reference-grid{grid-template-columns:1fr!important;gap:18px!important;padding-top:8px!important}
  .people-zoom-cue{right:9px!important;left:auto!important}
}

/* v8.2 — People spacing + minimal controls + hover video. */
.people-reference-page.people-no-intro .people-reference-grid{
  column-gap:clamp(18px,1.7vw,26px)!important;
  row-gap:clamp(18px,1.7vw,26px)!important;
}
.people-reference-card{min-width:0!important;overflow:hidden!important}
.people-card-media{width:100%!important;overflow:hidden!important}
.people-card-media [data-people-card-image]{max-width:100%!important}
.people-zoom-cue{
  left:auto!important;right:10px!important;top:50%!important;bottom:auto!important;
  transform:translateY(-50%)!important;width:36px!important;height:36px!important;padding:0!important;
  display:grid!important;place-items:center!important;border-radius:50%!important;gap:0!important
}
.people-zoom-cue span{font-size:18px!important;transform:rotate(-18deg)!important}
.people-zoom-cue b{display:none!important}
.people-video-play{display:none!important}
.people-reference-card.has-hover-video:hover .people-hover-video{opacity:1!important}
.people-reference-card.has-hover-video:hover> .people-card-media > img{opacity:0!important}
.people-video-mute{
  display:none!important;right:10px!important;top:auto!important;bottom:10px!important;
  width:30px!important;height:30px!important;padding:0!important;border-radius:50%!important;
  font:500 13px/1 Arial,sans-serif!important;letter-spacing:0!important;text-transform:none!important
}
.people-reference-card.is-video-playing .people-video-mute{display:grid!important;place-items:center!important;opacity:1!important;pointer-events:auto!important}
.people-reference-card.is-video-playing .people-zoom-cue,.people-reference-card.is-video-playing .people-card-arrow{opacity:0!important;pointer-events:none!important}
@media (max-width:760px) {
  .people-reference-page.people-no-intro .people-reference-grid{column-gap:0!important;row-gap:18px!important}
  .people-zoom-cue{right:9px!important;top:50%!important}
  .people-video-mute{display:none!important}
}

/* v8.3 — People bottom controls, hover photo cycling, title-free lightbox. */
.people-card-controls{
  position:absolute!important;left:12px!important;bottom:12px!important;z-index:8!important;
  display:flex!important;align-items:center!important;gap:6px!important;
  width:auto!important;height:auto!important;pointer-events:auto!important
}
.people-card-controls .people-card-arrow,
.people-card-controls .people-zoom-cue{
  position:static!important;inset:auto!important;transform:none!important;
  width:32px!important;height:32px!important;min-width:32px!important;padding:0!important;
  display:grid!important;place-items:center!important;border:1px solid rgba(255,255,255,.72)!important;
  border-radius:50%!important;background:rgba(18,18,17,.28)!important;color:#fff!important;
  backdrop-filter:blur(4px)!important;opacity:.9!important;cursor:pointer!important
}
.people-card-controls .people-card-arrow{font:400 22px/1 Arial,sans-serif!important}
.people-card-controls .people-zoom-cue span{font-size:16px!important;transform:rotate(-18deg)!important}
.people-card-controls .people-card-arrow:hover,
.people-card-controls .people-zoom-cue:hover{background:rgba(18,18,17,.5)!important;opacity:1!important}
.people-card-dots{display:flex;align-items:center;gap:4px;padding:0 2px;pointer-events:none}
.people-card-dots i{display:block;width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.46);transition:transform .18s ease,background .18s ease}
.people-card-dots i.is-active{background:#fff;transform:scale(1.35)}
.people-reference-card.is-video-playing .people-card-controls{opacity:0!important;pointer-events:none!important}
.people-video-mute{
  right:12px!important;bottom:12px!important;width:auto!important;height:32px!important;padding:0 10px!important;
  gap:5px!important;border-radius:999px!important;font:600 8px/1 var(--font-ui,Montserrat,Arial,sans-serif)!important;
  letter-spacing:.08em!important;text-transform:uppercase!important;background:rgba(18,18,17,.38)!important
}
.people-video-mute span{font-size:14px;line-height:1}.people-video-mute b{font:inherit}
.people-lightbox figcaption,[data-people-lightbox-title]{display:none!important}
.people-lightbox figure{gap:0!important}
@media (max-width:760px) {
  .people-card-controls{left:9px!important;bottom:9px!important;gap:5px!important}
  .people-card-controls .people-card-arrow,.people-card-controls .people-zoom-cue{width:30px!important;height:30px!important;min-width:30px!important}
  .people-card-dots i{width:4px;height:4px}
}

/* v8.4 — People controls: one quiet bottom-left strip; dots replace arrows. */
.people-card-controls{
  left:12px!important;bottom:12px!important;gap:7px!important;
  padding:5px 6px!important;border-radius:999px!important;
  background:rgba(18,18,17,.24)!important;
  backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important;
  opacity:0!important;transition:opacity .18s ease,background .18s ease!important
}
.people-reference-card:hover .people-card-controls,
.people-reference-card:focus-within .people-card-controls{opacity:1!important}
.people-card-controls .people-zoom-cue,
.people-card-controls .people-video-toggle{
  position:static!important;inset:auto!important;transform:none!important;
  width:25px!important;height:25px!important;min-width:25px!important;padding:0!important;
  display:grid!important;place-items:center!important;border:0!important;border-radius:50%!important;
  background:transparent!important;color:#fff!important;opacity:.92!important;cursor:pointer!important
}
.people-card-controls .people-zoom-cue:hover,
.people-card-controls .people-video-toggle:hover{background:rgba(255,255,255,.12)!important;opacity:1!important}
.people-video-toggle span{font:500 13px/1 Arial,sans-serif!important;transform:none!important}
.people-card-controls .people-zoom-cue span{font-size:15px!important;transform:rotate(-18deg)!important}
.people-card-dots{display:flex!important;align-items:center!important;gap:5px!important;padding:0 2px!important;pointer-events:auto!important}
.people-card-dots button{
  appearance:none;border:0;padding:0;width:6px;height:6px;border-radius:50%;
  background:rgba(255,255,255,.48);cursor:pointer;transition:transform .18s ease,background .18s ease
}
.people-card-dots button.is-active{background:#fff;transform:scale(1.25)}
.people-card-dots button:focus-visible{outline:1px solid #fff;outline-offset:3px}
.people-card-dots i,.people-card-arrow{display:none!important}
.people-reference-card.is-video-playing .people-card-controls{opacity:1!important;pointer-events:auto!important}
.people-reference-card.is-video-playing .people-card-controls .people-zoom-cue,
.people-reference-card.is-video-playing .people-card-controls .people-video-toggle{opacity:.95!important;pointer-events:auto!important}
.people-reference-card.is-video-playing .people-card-dots{opacity:.7}
.people-video-mute{
  display:none!important;right:12px!important;top:12px!important;bottom:auto!important;
  width:auto!important;height:28px!important;padding:0 9px!important;gap:5px!important;
  border-radius:999px!important;background:rgba(18,18,17,.34)!important;
  font:600 8px/1 var(--font-ui,Montserrat,Arial,sans-serif)!important;letter-spacing:.06em!important;text-transform:none!important
}
.people-reference-card.is-video-playing:hover .people-video-mute,
.people-reference-card.is-video-playing:focus-within .people-video-mute{display:flex!important;align-items:center!important;opacity:1!important;pointer-events:auto!important}
.people-video-mute span{font-size:13px!important}.people-video-mute b{font:inherit!important}
.people-hover-video{cursor:pointer!important}
@media (max-width:760px) {
  .people-card-controls{opacity:1!important;left:9px!important;bottom:9px!important;padding:4px 5px!important}
  .people-video-toggle{display:none!important}
  .people-video-mute{display:none!important}
}

/* v8.5 — People controls always visible; single next arrow; whole-card zoom; 10-second photo rotation. */
.people-card-controls{
  opacity:1!important;
  background:rgba(18,18,17,.22)!important;
  padding:4px 5px!important;
  gap:3px!important;
}
.people-card-controls .people-card-next,
.people-card-controls .people-zoom-cue,
.people-card-controls .people-video-toggle{
  position:static!important;inset:auto!important;transform:none!important;
  width:27px!important;height:27px!important;min-width:27px!important;padding:0!important;
  display:grid!important;place-items:center!important;border:0!important;border-radius:50%!important;
  background:transparent!important;color:#fff!important;opacity:.96!important;cursor:pointer!important;
}
.people-card-controls .people-card-next:hover,
.people-card-controls .people-zoom-cue:hover,
.people-card-controls .people-video-toggle:hover{background:rgba(255,255,255,.13)!important}
.people-card-next span{font:400 22px/1 Arial,sans-serif!important;transform:translateY(-1px)}
.people-card-dots{display:none!important}
.people-reference-card .people-card-media{cursor:zoom-in}
.people-reference-card .people-card-controls,.people-reference-card .people-video-mute{cursor:default}
.people-reference-card.is-video-playing .people-card-controls{opacity:1!important;pointer-events:auto!important}
.people-reference-card.is-video-playing .people-card-next{opacity:.92!important;pointer-events:auto!important}
@media (max-width:760px) {
  .people-card-controls{opacity:1!important;left:9px!important;bottom:9px!important;padding:4px!important}
  .people-card-controls .people-card-next,.people-card-controls .people-zoom-cue{width:28px!important;height:28px!important;min-width:28px!important}
}

/* v8.6 — Choosing another photograph while a hover video is active must reveal the photo immediately. */
.people-reference-card.has-hover-video:hover .people-hover-video,
.people-reference-card.has-hover-video:focus-within .people-hover-video{
  opacity:0!important;
}
.people-reference-card.has-hover-video:hover > .people-card-media > img,
.people-reference-card.has-hover-video:focus-within > .people-card-media > img{
  opacity:1!important;
}
.people-reference-card.is-video-playing .people-hover-video,
.people-reference-card.is-video-playing:hover .people-hover-video,
.people-reference-card.is-video-playing:focus-within .people-hover-video{
  opacity:1!important;
}
.people-reference-card.is-video-playing > .people-card-media > img,
.people-reference-card.is-video-playing:hover > .people-card-media > img,
.people-reference-card.is-video-playing:focus-within > .people-card-media > img{
  opacity:0!important;
}

/* v8.8 — People media filter + video as a real lightbox slide. */
.people-filter-shell{align-items:center!important;gap:14px!important;flex-wrap:wrap!important}
.people-media-filter{justify-content:center!important;margin-left:auto!important}
.people-country-filter{margin-left:0!important}
.people-lightbox-video-play,.people-lightbox-video-mute{display:none!important}
.people-lightbox-media.is-video video{display:block!important;max-width:min(92vw,1200px)!important;max-height:80dvh!important}
.people-lightbox-media.is-video img{display:none!important}
.people-lightbox-media video{background:#000}

/* Images mode: never let the hover-video take over the photograph. */
#people-reference-grid[data-people-media-mode="image"] .people-hover-video,
#people-reference-grid[data-people-media-mode="image"] .people-video-mute,
#people-reference-grid[data-people-media-mode="image"] .people-video-toggle{display:none!important}
#people-reference-grid[data-people-media-mode="image"] .people-card-media [data-people-card-image].is-active{display:block!important;opacity:1!important}

/* Videos mode: cards with video become actual video cards. The poster is visible before playback. */
#people-reference-grid[data-people-media-mode="video"] .people-reference-card.has-hover-video .people-hover-video{display:block!important;opacity:1!important;pointer-events:auto!important;z-index:2!important}
#people-reference-grid[data-people-media-mode="video"] .people-reference-card.has-hover-video .people-card-media [data-people-card-image]{visibility:hidden!important}
#people-reference-grid[data-people-media-mode="video"] .people-reference-card.has-hover-video .people-card-next{display:none!important}
#people-reference-grid[data-people-media-mode="video"] .people-reference-card.has-hover-video .people-zoom-cue{display:grid!important}
#people-reference-grid[data-people-media-mode="video"] .people-reference-card.has-hover-video .people-video-toggle{display:grid!important;position:relative!important;z-index:6!important}
#people-reference-grid[data-people-media-mode="video"] .people-reference-card.has-hover-video .people-card-controls{z-index:7!important;pointer-events:auto!important}
#people-reference-grid[data-people-media-mode="video"] .people-reference-card.has-hover-video .people-video-mute{z-index:8!important}

/* All mode: video may play on hover, but slider and zoom remain usable above it. */
#people-reference-grid[data-people-media-mode="all"] .people-reference-card.is-video-playing .people-card-controls{z-index:7!important;pointer-events:auto!important}
#people-reference-grid[data-people-media-mode="all"] .people-reference-card.is-video-playing .people-card-next,
#people-reference-grid[data-people-media-mode="all"] .people-reference-card.is-video-playing .people-zoom-cue,
#people-reference-grid[data-people-media-mode="all"] .people-reference-card.is-video-playing .people-video-toggle{pointer-events:auto!important}

@media(max-width:980px){
  .people-media-filter{margin-left:0!important;order:3;width:100%!important;justify-content:flex-start!important}
}

/* v9.0 — media protection */
body[data-media-drag="1"] img,body[data-media-drag="1"] video{-webkit-user-drag:none;user-drag:none}
.media-visible-watermark{position:absolute;right:14px;bottom:12px;z-index:15;color:#fff;font:500 10px/1.2 var(--font-ui,"Montserrat",sans-serif);letter-spacing:.06em;text-shadow:0 1px 6px rgba(0,0,0,.55);opacity:var(--media-watermark-opacity,.18);pointer-events:none;user-select:none;white-space:nowrap}
.people-lightbox figure,.places-lightbox figure,.viewer-modal figure,.story-viewer figure{position:relative}


/* v9.4 — protected Media Library */
.studio-media-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:14px;max-height:520px;overflow:auto;padding:4px}.studio-media-library-item{position:relative;display:block;margin:0;border:1px solid rgba(20,20,16,.16);background:#f8f6f0;cursor:pointer;overflow:hidden}.studio-media-library-item img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.studio-media-library-item input{position:absolute;top:8px;left:8px;z-index:2;width:18px;height:18px;accent-color:#282922}.studio-media-library-item span{display:block;padding:6px 8px;font-size:10px;letter-spacing:.06em;color:#625f58}.studio-media-library-item:has(input:checked){outline:3px solid #282922;outline-offset:-3px}.studio-media-library-browser .studio-media-library-item{cursor:default}.media-library-upload-form{margin-top:20px}.media-library-upload-form input[type=file]{display:block;margin-top:8px;width:100%}.studio-media-library-picker{margin-top:14px}

/* v10.8 — Hands page simplification. */
.hands-reference-page .hands-opening-quote{display:none!important}
.hands-collection-card>p:empty{display:none!important}




/* v10.9 — Hands: full-image presentation, compact top spacing, expand viewer. */
.site-header + .hands-reference-page{
  margin-top:0!important;
  padding-top:0!important;
}
.hands-reference-page>.hands-collection-grid{
  margin:0!important;
  padding-top:0!important;
}





.hands-lightbox[hidden]{display:none!important}
.hands-lightbox{
  position:fixed;
  z-index:10000;
  inset:0;
  display:grid;
  grid-template-columns:64px minmax(0,1fr) 64px;
  align-items:center;
  gap:18px;
  padding:34px;
  background:rgba(12,12,11,.94);
}
.hands-lightbox-figure{
  margin:0;
  min-width:0;
  height:calc(100vh - 68px);
  display:grid;
  place-items:center;
}
.hands-lightbox-figure img{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
}
.hands-lightbox-close{
  position:absolute;
  z-index:2;
  top:18px;
  right:22px;
  width:46px;
  height:46px;
  border:0;
  background:transparent;
  color:#fff;
  font-size:34px;
  cursor:pointer;
}
.hands-lightbox-arrow{
  width:52px;
  height:52px;
  border:1px solid rgba(255,255,255,.4);
  border-radius:50%;
  background:rgba(0,0,0,.16);
  color:#fff;
  font-size:24px;
  cursor:pointer;
}
.hands-lightbox-count{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  color:#fff;
  font:600 10px/1.3 var(--font-ui,Montserrat,Arial,sans-serif);
  letter-spacing:.12em;
}
html.hands-lightbox-open{overflow:hidden}
@media(max-width:640px){
  
  
  
  
  
}

/* v11.0 — Hands collections use the visible browser window cleanly.
   A collection opened from its shortcut begins directly below the site header,
   without the large blank lead-in that previously pushed the photographs down. */



/* Tablet: each section starts as a complete screen, but can grow naturally if
   its editorial copy needs additional room. */


/* Phone: no decorative empty lead-in; the photograph gets most of the first
   screen and the copy continues naturally below when needed. */


/* v11.1 — Hands gallery: always show the complete photograph in the inline slider.
   Expand only increases viewing size; it must not be required to reveal cropped areas. */





/* ============================================================
   v11.4 — People: two complete rows in one desktop viewport.
   Desktop uses the actual header + live filter height. Medium
   screens step down cleanly; phones return to a natural feed.
   ============================================================ */
@media (min-width:1200px){
  .people-reference-page.people-no-intro .people-reference-grid{
    display:grid!important;
    columns:auto!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    grid-auto-rows:clamp(220px,calc((var(--app-window-height,100dvh) - var(--site-header-height,92px) - var(--people-filter-height,76px) - 42px)/2),390px)!important;
    column-gap:clamp(18px,1.7vw,26px)!important;
    row-gap:18px!important;
    padding:10px clamp(28px,4vw,66px) 14px!important;
    align-items:stretch!important;
  }
  .people-reference-page.people-no-intro .people-reference-card{
    display:block!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .people-reference-page.people-no-intro .people-card-media{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .people-reference-page.people-no-intro .people-card-media [data-people-card-image],
  .people-reference-page.people-no-intro .people-hover-video{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
}

/* Medium laptop / tablet landscape: keep two complete rows, use two columns. */
@media (min-width:761px) and (max-width:1199px){
  .people-reference-page.people-no-intro .people-reference-grid{
    display:grid!important;
    columns:auto!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    grid-auto-rows:clamp(210px,calc((var(--app-window-height,100dvh) - var(--site-header-height,92px) - var(--people-filter-height,92px) - 38px)/2),360px)!important;
    gap:16px!important;
    padding:8px 22px 14px!important;
  }
  .people-reference-page.people-no-intro .people-reference-card{
    display:block!important;height:100%!important;min-height:0!important;margin:0!important;overflow:hidden!important
  }
  .people-reference-page.people-no-intro .people-card-media{display:block!important;position:relative!important;width:100%!important;height:100%!important;overflow:hidden!important}
  .people-reference-page.people-no-intro .people-card-media [data-people-card-image],
  .people-reference-page.people-no-intro .people-hover-video{width:100%!important;height:100%!important;object-fit:cover!important}
}

/* Phones: one-column natural cards; don't force two rows into a tiny viewport. */
@media (max-width:760px) {
  .people-reference-page.people-no-intro .people-reference-grid{
    display:grid!important;columns:auto!important;grid-template-columns:1fr!important;grid-auto-rows:auto!important;
    gap:14px!important;padding:8px 12px 24px!important
  }
  .people-reference-page.people-no-intro .people-reference-card{height:auto!important;margin:0!important;overflow:hidden!important;aspect-ratio:auto!important}
  .people-reference-page.people-no-intro .people-card-media{display:block!important;position:relative!important;width:100%!important;height:auto!important;aspect-ratio:4/3!important;overflow:hidden!important}
  .people-reference-page.people-no-intro .people-card-media [data-people-card-image],
  .people-reference-page.people-no-intro .people-hover-video{width:100%!important;height:100%!important;object-fit:cover!important}
}

/* v11.5 — People filters: the viewport-fit card rule uses display:block!important,
   so explicitly let the HTML hidden state win when tag/media/country filters hide a card. */
.people-reference-page.people-no-intro .people-reference-grid .people-reference-card[hidden],
.people-reference-page.people-no-intro .people-reference-grid [data-story-tags][hidden]{
  display:none!important;
}


/* v11.9.1 clean — People thumbnails show the complete photograph; enlarged-only signatures. */
.people-reference-page.people-no-intro .people-card-media{background:var(--people-grid-bg,#f4f1ea)!important}
.people-reference-page.people-no-intro .people-card-media [data-people-card-image]{object-fit:contain!important;object-position:center!important;background:var(--people-grid-bg,#f4f1ea)!important}
.visual-entry-thumb img{object-fit:contain!important;background:#ece8df!important}
.people-lightbox-media,.hands-lightbox figure,.highlight-viewer figure,.places-lightbox figure,.viewer-modal figure,.story-viewer figure,.work-modal-media{position:relative!important}
.portfolio-signature-overlay{position:absolute!important;z-index:40!important;width:var(--portfolio-signature-width-desktop,105px)!important;max-width:22%!important;height:auto!important;max-height:18%!important;object-fit:contain!important;opacity:var(--portfolio-signature-opacity,.78)!important;pointer-events:none!important;user-select:none!important;-webkit-user-drag:none!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.16))}
.portfolio-signature-overlay[hidden]{display:none!important}
body[data-signature-position="top-left"] .portfolio-signature-overlay{top:16px;left:16px;right:auto;bottom:auto}
body[data-signature-position="top-right"] .portfolio-signature-overlay{top:16px;right:16px;left:auto;bottom:auto}
body[data-signature-position="bottom-left"] .portfolio-signature-overlay{bottom:16px;left:16px;right:auto;top:auto}
body[data-signature-position="bottom-right"] .portfolio-signature-overlay{bottom:16px;right:16px;left:auto;top:auto}
@media (max-width:760px) {.portfolio-signature-overlay{width:var(--portfolio-signature-width-mobile,78px)!important;max-width:26%!important;max-height:15%!important}body[data-signature-position="top-left"] .portfolio-signature-overlay{top:10px;left:10px}body[data-signature-position="top-right"] .portfolio-signature-overlay{top:10px;right:10px}body[data-signature-position="bottom-left"] .portfolio-signature-overlay{bottom:10px;left:10px}body[data-signature-position="bottom-right"] .portfolio-signature-overlay{bottom:10px;right:10px}}

/* v14.0 — People gallery: full photographs, controls anchored on the photograph,
   and exactly two complete rows in the desktop/tablet viewport. */
.people-reference-page.people-no-intro .people-reference-grid{
  --people-row-height:280px;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:var(--people-row-height)!important;
  gap:clamp(14px,1.35vw,22px)!important;
  align-items:stretch!important;
  padding-top:10px!important;
  padding-bottom:0!important;
}
.people-reference-page.people-no-intro .people-reference-card{
  height:var(--people-row-height)!important;
  min-height:0!important;
  overflow:visible!important;
}
.people-reference-page.people-no-intro .people-card-media{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:transparent!important;
}
.people-reference-page.people-no-intro .people-card-media [data-people-card-image]{
  grid-area:1/1!important;
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
}
.people-reference-page.people-no-intro .people-card-media [data-people-card-image].is-active{
  display:block!important;
}
/* Keep all controls visually on top of the actual rendered photograph, not in the
   empty contain-space around it. JS updates these variables from the active image. */
.people-reference-page.people-no-intro .people-card-controls{
  left:calc(var(--people-image-left,0px) + 10px)!important;
  bottom:auto!important;
  top:calc(var(--people-image-top,0px) + var(--people-image-height,100%) - 42px)!important;
  z-index:12!important;
  margin:0!important;
  opacity:1!important;
  background:rgba(18,18,17,.28)!important;
  border-radius:999px!important;
  padding:3px 4px!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
}
.people-reference-page.people-no-intro .people-card-controls .people-card-next,
.people-reference-page.people-no-intro .people-card-controls .people-zoom-cue,
.people-reference-page.people-no-intro .people-card-controls .people-video-toggle{
  width:28px!important;height:28px!important;min-width:28px!important;
}
.people-reference-page.people-no-intro .people-hover-video{
  inset:auto!important;
  left:var(--people-image-left,0px)!important;
  top:var(--people-image-top,0px)!important;
  width:var(--people-image-width,100%)!important;
  height:var(--people-image-height,100%)!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#111!important;
}
.people-reference-page.people-no-intro .people-video-mute{
  left:auto!important;
  right:calc(var(--people-image-right,0px) + 10px)!important;
  top:calc(var(--people-image-top,0px) + 10px)!important;
}
@media (max-width:1100px) and (min-width:761px){
  .people-reference-page.people-no-intro .people-reference-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:760px) {
  .people-reference-page.people-no-intro .people-reference-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-auto-rows:auto!important;
    gap:16px!important;
    padding:10px 16px 30px!important;
  }
  .people-reference-page.people-no-intro .people-reference-card{height:auto!important}
  .people-reference-page.people-no-intro .people-card-media{height:auto!important;display:block!important}
  .people-reference-page.people-no-intro .people-card-media [data-people-card-image]{
    width:100%!important;height:auto!important;max-height:none!important;
  }
  .people-reference-page.people-no-intro .people-card-controls{
    left:10px!important;bottom:10px!important;top:auto!important;
  }
}

/* v14.1 — tighter People gallery spacing.
   Keep the three-column/two-row composition, but remove the oversized gutters. */
@media (min-width:1101px){
  .people-reference-page.people-no-intro .people-reference-grid{
    gap:10px!important;
    column-gap:10px!important;
    row-gap:10px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
}
@media (min-width:761px) and (max-width:1100px){
  .people-reference-page.people-no-intro .people-reference-grid{
    gap:10px!important;
    column-gap:10px!important;
    row-gap:10px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
}

/* v14.2 — video previews must show the complete frame, including vertical videos. */
.people-reference-page .people-hover-video{object-fit:contain!important;object-position:center!important;background:#111!important}
.people-lightbox-media{overflow:hidden!important}
.people-lightbox-media .portfolio-signature-overlay{display:block;z-index:50!important}

/* ============================================================
   v14.3 — People natural-proportion gallery.
   Preserve the full photograph in normal browsing instead of
   forcing every card into one fixed crop/height.  Columns stay
   aligned and compact; portrait frames are capped so they do not
   dominate the page.  Controls remain on the visible media.
   ============================================================ */
@media (min-width:1101px){
  .people-reference-page.people-no-intro .people-reference-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    align-items:start!important;
    gap:10px!important;
    column-gap:10px!important;
    row-gap:10px!important;
    padding:10px 12px 18px!important;
  }
  .people-reference-page.people-no-intro .people-reference-card{
    height:auto!important;
    min-height:0!important;
    align-self:start!important;
    overflow:visible!important;
  }
  .people-reference-page.people-no-intro .people-card-media{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    display:block!important;
    position:relative!important;
    overflow:hidden!important;
    background:transparent!important;
  }
  .people-reference-page.people-no-intro .people-card-media [data-people-card-image]{
    position:relative!important;
    inset:auto!important;
    display:none!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    max-height:min(38vh,390px)!important;
    margin:0 auto!important;
    object-fit:contain!important;
    object-position:center!important;
    background:transparent!important;
  }
  .people-reference-page.people-no-intro .people-card-media [data-people-card-image].is-active{
    display:block!important;
  }
  .people-reference-page.people-no-intro .people-hover-video{
    left:0!important;
    right:0!important;
    top:0!important;
    bottom:auto!important;
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#111!important;
  }
  .people-reference-page.people-no-intro .people-card-controls{
    left:10px!important;
    bottom:10px!important;
    top:auto!important;
  }
  .people-reference-page.people-no-intro .people-video-mute{
    right:10px!important;
    top:10px!important;
  }
}

@media (min-width:761px) and (max-width:1100px){
  .people-reference-page.people-no-intro .people-reference-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    align-items:start!important;
    gap:10px!important;
    padding:10px 12px 18px!important;
  }
  .people-reference-page.people-no-intro .people-reference-card{
    height:auto!important;
    align-self:start!important;
    overflow:visible!important;
  }
  .people-reference-page.people-no-intro .people-card-media{
    width:100%!important;
    height:auto!important;
    aspect-ratio:auto!important;
    display:block!important;
    position:relative!important;
    overflow:hidden!important;
    background:transparent!important;
  }
  .people-reference-page.people-no-intro .people-card-media [data-people-card-image]{
    position:relative!important;
    inset:auto!important;
    display:none!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    max-height:min(39vh,380px)!important;
    margin:0 auto!important;
    object-fit:contain!important;
    object-position:center!important;
    background:transparent!important;
  }
  .people-reference-page.people-no-intro .people-card-media [data-people-card-image].is-active{display:block!important}
  .people-reference-page.people-no-intro .people-hover-video{
    left:0!important;right:0!important;top:0!important;bottom:auto!important;
    width:100%!important;height:100%!important;object-fit:contain!important;background:#111!important
  }
  .people-reference-page.people-no-intro .people-card-controls{left:10px!important;bottom:10px!important;top:auto!important}
  .people-reference-page.people-no-intro .people-video-mute{right:10px!important;top:10px!important}
}

@media (max-width:760px) {
  .people-reference-page.people-no-intro .people-reference-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-auto-rows:auto!important;
    gap:12px!important;
    padding:10px 12px 28px!important;
  }
  .people-reference-page.people-no-intro .people-reference-card{height:auto!important;overflow:visible!important}
  .people-reference-page.people-no-intro .people-card-media{
    width:100%!important;height:auto!important;aspect-ratio:auto!important;display:block!important;position:relative!important;overflow:hidden!important
  }
  .people-reference-page.people-no-intro .people-card-media [data-people-card-image]{
    position:relative!important;inset:auto!important;display:none!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important
  }
  .people-reference-page.people-no-intro .people-card-media [data-people-card-image].is-active{display:block!important}
  .people-reference-page.people-no-intro .people-hover-video{left:0!important;top:0!important;width:100%!important;height:100%!important;object-fit:contain!important;background:#111!important}
}

/* v14.4 — People natural-proportion masonry.
   Keep every photograph uncropped, but remove the large blank bands created
   when unequal-height cards share a conventional CSS Grid row. */
@media (min-width:1101px){
  .people-reference-page.people-no-intro .people-reference-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-rows:4px!important;
    grid-auto-flow:row dense!important;
    column-gap:10px!important;
    row-gap:0!important;
    align-items:start!important;
  }
  .people-reference-page.people-no-intro .people-reference-card{
    align-self:start!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
  }
}
@media (min-width:761px) and (max-width:1100px){
  .people-reference-page.people-no-intro .people-reference-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:4px!important;
    grid-auto-flow:row dense!important;
    column-gap:10px!important;
    row-gap:0!important;
    align-items:start!important;
  }
  .people-reference-page.people-no-intro .people-reference-card{
    align-self:start!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
  }
}
@media (max-width:760px) {
  .people-reference-page.people-no-intro .people-reference-grid{
    grid-auto-rows:auto!important;
    grid-auto-flow:row!important;
    gap:10px!important;
  }
  .people-reference-page.people-no-intro .people-reference-card{
    grid-row:auto!important;
  }
}


/* v14.5 — Signature overlays are allowed only inside enlarged media viewers.
   Never show a website signature over People/Hands grid thumbnails or hover videos. */
.people-reference-card .portfolio-signature-overlay,
.people-card-media .portfolio-signature-overlay,
.people-hover-video + .portfolio-signature-overlay,
.people-reference-grid .portfolio-signature-overlay,
.visual-entry-thumb .portfolio-signature-overlay{
  display:none!important;
}
.people-lightbox-media > .portfolio-signature-overlay,
[data-hands-lightbox] figure > .portfolio-signature-overlay,
.highlight-viewer figure > .portfolio-signature-overlay,
.places-lightbox figure > .portfolio-signature-overlay,
.viewer-modal figure > .portfolio-signature-overlay,
.story-viewer figure > .portfolio-signature-overlay,
.work-modal-media > .portfolio-signature-overlay{
  display:block!important;
}
.people-lightbox-media > .portfolio-signature-overlay[hidden],
[data-hands-lightbox] figure > .portfolio-signature-overlay[hidden],
.highlight-viewer figure > .portfolio-signature-overlay[hidden],
.places-lightbox figure > .portfolio-signature-overlay[hidden],
.viewer-modal figure > .portfolio-signature-overlay[hidden],
.story-viewer figure > .portfolio-signature-overlay[hidden],
.work-modal-media > .portfolio-signature-overlay[hidden]{
  display:none!important;
}

/* ============================================================
   v14.6 — People gallery cleanup.
   Natural photos always fill their column width, so there is no
   artificial side-space inside cards and controls sit on media.
   Masonry remains compact with an 8px rhythm.
   ============================================================ */
@media (min-width:761px){
  .people-reference-page.people-no-intro .people-reference-grid{
    column-gap:8px!important;
    row-gap:0!important;
    padding:8px 10px 16px!important;
  }
  .people-reference-page.people-no-intro .people-reference-card{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    overflow:visible!important;
    background:transparent!important;
  }
  .people-reference-page.people-no-intro .people-card-media{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    background:transparent!important;
    line-height:0!important;
  }
  .people-reference-page.people-no-intro .people-card-media [data-people-card-image]{
    position:relative!important;
    inset:auto!important;
    display:none!important;
    width:100%!important;
    height:auto!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    object-fit:contain!important;
    object-position:center!important;
    background:transparent!important;
  }
  .people-reference-page.people-no-intro .people-card-media [data-people-card-image].is-active{
    display:block!important;
  }
  .people-reference-page.people-no-intro .people-card-controls{
    position:absolute!important;
    left:10px!important;
    bottom:10px!important;
    top:auto!important;
    right:auto!important;
    margin:0!important;
    z-index:12!important;
    transform:none!important;
  }
  .people-reference-page.people-no-intro .people-hover-video{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
    background:#111!important;
  }
  .people-reference-page.people-no-intro .people-video-mute{
    position:absolute!important;
    right:10px!important;
    top:10px!important;
    left:auto!important;
    bottom:auto!important;
  }
}
@media (max-width:760px) {
  .people-reference-page.people-no-intro .people-reference-grid{
    gap:8px!important;
    padding:8px 10px 24px!important;
  }
  .people-reference-page.people-no-intro .people-card-media{
    line-height:0!important;
    overflow:hidden!important;
  }
  .people-reference-page.people-no-intro .people-card-media [data-people-card-image].is-active{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    display:block!important;
  }
  .people-reference-page.people-no-intro .people-card-controls{
    position:absolute!important;
    left:9px!important;
    bottom:9px!important;
    top:auto!important;
    right:auto!important;
    transform:none!important;
  }
}

/* v14.7 — Hands visual chapter index + truly uncropped expanded photographs. */
.hands-reference-page>.hands-collection-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  padding:8px!important;
  background:var(--hands-bg,#f4f1ea)!important;
}
.hands-reference-page .hands-collection-card{
  position:relative!important;
  isolation:isolate;
  min-height:0!important;
  height:clamp(245px,28vh,330px)!important;
  padding:24px 26px!important;
  overflow:hidden!important;
  border:0!important;
  background:var(--hands-card-1,#f2f0e9)!important;
  color:#fff!important;
  text-decoration:none!important;
  transform:none!important;
  filter:none!important;
}
.hands-reference-page .hands-collection-card:nth-child(3n/**/+2){background:var(--hands-card-2,#e7e0d6)!important}
.hands-reference-page .hands-collection-card:nth-child(3n){background:var(--hands-card-3,#e2d2c2)!important}
.hands-collection-cover{
  position:absolute!important;
  z-index:-3!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:scale(1.002);
  transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .4s ease!important;
}
.hands-collection-shade{
  position:absolute;
  z-index:-2;
  inset:0;
  background:linear-gradient(180deg,rgba(8,8,7,.18) 0%,rgba(8,8,7,.08) 34%,rgba(8,8,7,.68) 100%);
  pointer-events:none;
  transition:background .35s ease;
}
.hands-reference-page .hands-collection-card:not(.has-cover){color:var(--hands-title-color,#171714)!important}
.hands-reference-page .hands-collection-card:not(.has-cover) .hands-collection-shade{display:none}
.hands-reference-page .hands-collection-card>p{
  position:relative!important;
  z-index:1!important;
  margin:0!important;
  color:currentColor!important;
  opacity:.82!important;
  font:600 10px/1.2 var(--font-ui,Montserrat,Arial,sans-serif)!important;
  letter-spacing:.13em!important;
}
.hands-reference-page .hands-collection-card h2{
  position:absolute!important;
  z-index:1!important;
  left:26px!important;
  right:72px!important;
  bottom:27px!important;
  max-width:none!important;
  margin:0!important;
  color:currentColor!important;
  font:400 clamp(38px,3.25vw,58px)/.88 var(--font-title,"Cormorant Garamond",Georgia,serif)!important;
  letter-spacing:-.045em!important;
  overflow-wrap:normal!important;
}
.hands-reference-page .hands-collection-arrow{
  position:absolute!important;
  z-index:2!important;
  right:24px!important;
  bottom:24px!important;
  display:grid!important;
  place-items:center!important;
  width:36px!important;
  height:36px!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.58)!important;
  border-radius:50%!important;
  color:#fff!important;
  background:rgba(0,0,0,.12)!important;
  font:400 16px/1 Arial,sans-serif!important;
  letter-spacing:0!important;
  transition:transform .25s ease,background .25s ease!important;
}
.hands-reference-page .hands-collection-card:not(.has-cover) .hands-collection-arrow{
  color:var(--hands-title-color,#171714)!important;
  border-color:rgba(23,23,20,.25)!important;
  background:transparent!important;
}
.hands-reference-page .hands-collection-card:hover .hands-collection-cover,
.hands-reference-page .hands-collection-card:focus-visible .hands-collection-cover{transform:scale(1.035);filter:brightness(1.05)}
.hands-reference-page .hands-collection-card:hover .hands-collection-arrow,
.hands-reference-page .hands-collection-card:focus-visible .hands-collection-arrow{transform:translate(3px,3px);background:rgba(0,0,0,.24)!important}

/* Expanded Hands photographs must always show the complete source image. */
[data-hands-lightbox].hands-lightbox{
  overflow:hidden!important;
}
[data-hands-lightbox] .hands-lightbox-figure{
  position:relative!important;
  overflow:visible!important;
  width:100%!important;
  height:calc(100dvh - 68px)!important;
  min-width:0!important;
  min-height:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  background:transparent!important;
}
[data-hands-lightbox] [data-hands-lightbox-image]{
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:min(100%,calc(100vw - 190px))!important;
  max-height:calc(100dvh - 76px)!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  margin:auto!important;
}
@media(max-width:980px){
  
  
  
}
@media(max-width:640px){
  
  
  
  
  
  
}


/* v14.8 — Hands index packs naturally and chooses balanced columns from story count. */
.hands-reference-page>.hands-collection-grid{
  grid-template-columns:repeat(var(--hands-index-cols,3),minmax(0,1fr))!important;
  grid-auto-rows:auto!important;
  align-items:stretch!important;
  align-content:start!important;
  gap:8px!important;
  padding:8px!important;
  min-height:0!important;
  height:auto!important;
}
.hands-reference-page .hands-collection-card{
  height:clamp(240px,27vh,325px)!important;
  min-height:240px!important;
  max-height:325px!important;
  align-self:stretch!important;
}
@media(max-width:1100px){
  
}
@media(max-width:640px){
  
  
}

/* Hands expanded signature must sit on the displayed image, never the page background. */
[data-hands-lightbox] .hands-lightbox-figure{position:relative!important}
[data-hands-lightbox] .hands-lightbox-figure>.portfolio-signature-overlay{
  position:absolute!important;
  z-index:30!important;
  pointer-events:none!important;
}

/* v14.9 — Hands focal covers, integrated project note and true viewport-responsive index. */
.hands-reference-page>.hands-collection-grid{
  --hands-index-gap:8px;
  --hands-note-height:clamp(56px,7vh,78px);
  grid-template-columns:repeat(var(--hands-index-cols,2),minmax(0,1fr))!important;
  grid-template-rows:repeat(var(--hands-index-rows,2),minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  height:calc(100svh - 104px)!important;
  min-height:520px!important;
  max-height:none!important;
  align-content:stretch!important;
  padding:8px!important;
  gap:var(--hands-index-gap)!important;
}
.hands-reference-page>.hands-collection-grid:has(.hands-index-project-note){
  grid-template-rows:minmax(0,1fr) var(--hands-note-height) minmax(0,1fr)!important;
}
.hands-reference-page .hands-collection-card{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
}
.hands-reference-page .hands-collection-cover{
  object-position:var(--hands-cover-x,50%) var(--hands-cover-y,50%)!important;
}
.hands-index-project-note{
  grid-column:1/-1!important;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:clamp(22px,4vw,64px);
  padding:10px clamp(24px,3vw,48px);
  min-height:0;
  border-top:1px solid rgba(23,23,20,.12);
  border-bottom:1px solid rgba(23,23,20,.12);
  background:var(--hands-bg,#f4f1ea);
  color:var(--hands-title-color,#171714);
}
.hands-index-project-note>span{font:600 9px/1 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.18em;color:var(--hands-accent,#b76048)}
.hands-index-project-note>p{margin:0;max-width:1050px;font:400 clamp(15px,1.25vw,20px)/1.32 var(--font-body,Georgia,serif);letter-spacing:-.012em;color:var(--hands-body-color,#5c574f)}
.hands-index-project-note.after-single-row{grid-row:auto!important}

@media(max-width:1100px){
  
  
  
}
@media(max-width:640px){
  
  
  
  
}


/* v14.10 — Clean integrated Hands project note. Keep it editorial and quiet. */
.hands-reference-page>.hands-collection-grid{
  --hands-note-height:clamp(44px,5.3vh,58px)!important;
}
.hands-index-project-note{
  grid-column:1/-1!important;
  justify-self:center!important;
  align-self:center!important;
  width:min(760px,calc(100% - 40px))!important;
  min-height:0!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--hands-body-color,#5c574f)!important;
}
.hands-index-project-note>span{display:none!important}
.hands-index-project-note>p{
  margin:0!important;
  width:100%!important;
  max-width:none!important;
  font:400 clamp(14px,1vw,16px)/1.35 var(--font-body,Montserrat,Arial,sans-serif)!important;
  letter-spacing:0!important;
  color:var(--hands-body-color,#5c574f)!important;
  text-align:left!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
@media(max-width:1100px){
  
  
}
@media(max-width:640px){
  
  
  
}

/* v14.12 — Hands editorial story + quote composition.
   Four stories: 3 across, then one story + quote spanning two columns. */
.hands-reference-page>.hands-collection-grid{
  display:grid!important;
  grid-template-columns:repeat(var(--hands-index-cols,3),minmax(0,1fr))!important;
  grid-template-rows:none!important;
  grid-auto-rows:minmax(230px,1fr)!important;
  height:auto!important;
  min-height:0!important;
  align-content:start!important;
  gap:8px!important;
  padding:8px!important;
}
.hands-reference-page .hands-index-quote-card{
  box-sizing:border-box!important;
  width:auto!important;
  min-width:0!important;
  min-height:230px!important;
  height:auto!important;
  margin:0!important;
  padding:clamp(28px,3vw,48px)!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  background:var(--hands-bg,#f4f1ea)!important;
  border:0!important;
  color:var(--hands-title-color,#171714)!important;
  grid-column:auto!important;
  justify-self:stretch!important;
  align-self:stretch!important;
}
.hands-reference-page .hands-index-quote-card>p{
  margin:0!important;
  max-width:760px!important;
  display:block!important;
  overflow:visible!important;
  -webkit-line-clamp:unset!important;
  font:400 clamp(26px,2.35vw,42px)/1.06 var(--font-title,"Cormorant Garamond",Georgia,serif)!important;
  letter-spacing:-.032em!important;
  color:var(--hands-title-color,#171714)!important;
  text-align:left!important;
}
/* 4 stories: exact editorial composition requested. */
.hands-reference-page>.hands-collection-grid[data-story-count="4"]{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  height:calc(100svh - 104px)!important;
  min-height:560px!important;
}
.hands-reference-page>.hands-collection-grid[data-story-count="4"] .hands-collection-card,
.hands-reference-page>.hands-collection-grid[data-story-count="4"] .hands-index-quote-card{
  min-height:0!important;
  height:100%!important;
}
.hands-reference-page>.hands-collection-grid[data-story-count="4"] .hands-index-story-1{grid-column:1;grid-row:1}
.hands-reference-page>.hands-collection-grid[data-story-count="4"] .hands-index-story-2{grid-column:2;grid-row:1}
.hands-reference-page>.hands-collection-grid[data-story-count="4"] .hands-index-story-3{grid-column:3;grid-row:1}
.hands-reference-page>.hands-collection-grid[data-story-count="4"] .hands-index-story-4{grid-column:1;grid-row:2}
.hands-reference-page>.hands-collection-grid[data-story-count="4"] .hands-index-quote-card{grid-column:2/4!important;grid-row:2}
/* 5 stories: second row gets two stories + quote as its third tile. */
.hands-reference-page>.hands-collection-grid[data-story-count="5"]{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.hands-reference-page>.hands-collection-grid[data-story-count="5"] .hands-index-quote-card{grid-column:3!important;grid-row:2}
/* 6 stories: preserve a clean 3x2 story grid; quote becomes a full editorial row after it. */
.hands-reference-page>.hands-collection-grid[data-story-count="6"]{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.hands-reference-page>.hands-collection-grid[data-story-count="6"] .hands-index-quote-card{grid-column:1/-1!important;min-height:150px!important;align-items:center!important}
.hands-reference-page>.hands-collection-grid[data-story-count="6"] .hands-index-quote-card>p{max-width:920px!important}
/* Keep the story photos as the dominant tiles. */
.hands-reference-page>.hands-collection-grid[data-story-count="4"] .hands-collection-card h2{
  font-size:clamp(34px,2.65vw,50px)!important;
}
@media(max-width:1100px){
  
  
  
  
}
@media(max-width:640px){
  
  
  
  
}

/* v14.13 — Hands editorial note faithfully reflects Studio rich-text edits.
   Previous versions flattened the note and then forced one oversized font. */
.hands-reference-page .hands-index-quote-card{
  font-family:var(--font-body,Georgia,serif)!important;
  font-size:18px!important;
  line-height:1.42!important;
  letter-spacing:normal!important;
}
.hands-reference-page .hands-index-quote-card > p,
.hands-reference-page .hands-index-quote-card > blockquote,
.hands-reference-page .hands-index-quote-card > ul,
.hands-reference-page .hands-index-quote-card > ol{
  margin:0 0 .9em!important;
  max-width:900px!important;
  display:block!important;
  overflow:visible!important;
  -webkit-line-clamp:unset!important;
  font:inherit!important;
  letter-spacing:inherit!important;
  color:inherit!important;
  text-align:inherit;
}
.hands-reference-page .hands-index-quote-card > :last-child{margin-bottom:0!important}
/* Do not override inline formatting created by the Studio editor. */
.hands-reference-page .hands-index-quote-card span,
.hands-reference-page .hands-index-quote-card strong,
.hands-reference-page .hands-index-quote-card em,
.hands-reference-page .hands-index-quote-card a{
  max-width:100%;
}
@media(max-width:1100px){
  
}
@media(max-width:640px){
  
}

/* v14.14 — Hands: 3 stories on row one; story + project statement + contact card on row two. */
.hands-reference-page>.hands-collection-grid[data-story-count="4"]{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
  padding:7px!important;
  height:calc(100svh - var(--site-header-height,96px))!important;
  min-height:600px!important;
  max-height:900px!important;
  background:var(--hands-bg,#f4f1ea)!important;
}
.hands-reference-page>.hands-collection-grid[data-story-count="4"] .hands-index-story-1{grid-column:1;grid-row:1}
.hands-reference-page>.hands-collection-grid[data-story-count="4"] .hands-index-story-2{grid-column:2;grid-row:1}
.hands-reference-page>.hands-collection-grid[data-story-count="4"] .hands-index-story-3{grid-column:3;grid-row:1}
.hands-reference-page>.hands-collection-grid[data-story-count="4"] .hands-index-story-4{grid-column:1;grid-row:2}
.hands-reference-page>.hands-collection-grid[data-story-count="4"] .hands-index-quote-card{grid-column:2!important;grid-row:2!important}
.hands-reference-page>.hands-collection-grid[data-story-count="4"] .hands-index-contact-card{grid-column:3!important;grid-row:2!important}
.hands-reference-page>.hands-collection-grid[data-story-count="4"] .hands-collection-card,
.hands-reference-page>.hands-collection-grid[data-story-count="4"] .hands-index-quote-card,
.hands-reference-page>.hands-collection-grid[data-story-count="4"] .hands-index-contact-card{
  width:100%!important;height:100%!important;min-height:0!important;box-sizing:border-box!important;
}
/* The project copy is intentionally not a card: it rests directly on the page background. */
.hands-reference-page .hands-index-quote-card{
  display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;
  padding:clamp(30px,3.2vw,58px)!important;background:transparent!important;border:0!important;box-shadow:none!important;
  overflow:auto!important;color:var(--hands-title-color,#171714)!important;
}
.hands-reference-page .hands-index-quote-card > *{max-width:34ch!important}
/* Contact is the one deliberate card in row two. */
.hands-reference-page .hands-index-contact-card{
  display:flex!important;flex-direction:column!important;justify-content:space-between!important;
  padding:clamp(28px,3vw,52px)!important;text-decoration:none!important;
  background:var(--hands-title-color,#171714)!important;color:var(--hands-bg,#f4f1ea)!important;
  transition:background .25s ease,transform .25s ease!important;overflow:hidden!important;
}
.hands-reference-page .hands-index-contact-card:hover{background:var(--hands-accent,#b76048)!important}
.hands-reference-page .hands-index-contact-card h3{margin:0;max-width:12ch;font:400 clamp(35px,3.3vw,60px)/.93 var(--font-title,"Cormorant Garamond",Georgia,serif);letter-spacing:-.045em;color:inherit}
.hands-reference-page .hands-index-contact-card p{margin:auto 0 24px;max-width:30ch;font:400 clamp(14px,1.05vw,18px)/1.5 var(--font-body,Montserrat,Arial,sans-serif);color:inherit;opacity:.82}
.hands-reference-page .hands-index-contact-card span{font:600 10px/1.3 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase;color:inherit}

/* Tablet: two columns, keeping the statement and contact as integral grid items. */
@media(max-width:1100px){
  
  
  
}
/* Mobile: robust single-column page; no viewport-locked grid and no route/layout dependency. */
@media(max-width:640px){
  
  
  
  
  
  
}


/* v14.15 — Hands: keep the contact card visible and give the project statement room to breathe. */
.hands-reference-page>.hands-collection-grid[data-story-count="4"] .hands-index-quote-card{
  padding:clamp(30px,3vw,50px) clamp(34px,3.8vw,66px)!important;
  justify-content:center!important;
  overflow:visible!important;
}
.hands-reference-page .hands-index-quote-card > *{
  width:100%!important;
  max-width:none!important;
}
/* Preserve the short statement as a heading, then justify the explanatory copy beneath it. */
.hands-reference-page .hands-index-quote-card p{
  margin-top:0!important;
  margin-bottom:clamp(14px,1.4vw,22px)!important;
}
.hands-reference-page .hands-index-quote-card p + p,
.hands-reference-page .hands-index-quote-card blockquote,
.hands-reference-page .hands-index-quote-card li{
  text-align:justify!important;
  text-justify:inter-word!important;
  hyphens:auto;
  line-height:1.62!important;
  letter-spacing:0!important;
}
.hands-reference-page .hands-index-quote-card p + p{max-width:52ch!important}

/* Make the contact panel visually explicit even when the saved settings came from a pre-card build. */
.hands-reference-page .hands-index-contact-card{
  min-width:0!important;
  position:relative!important;
  isolation:isolate;
}
.hands-reference-page .hands-index-contact-card::after{
  content:"↗";
  position:absolute;
  right:clamp(24px,2.4vw,42px);
  bottom:clamp(22px,2.2vw,38px);
  font:400 clamp(22px,2vw,34px)/1 var(--font-title,"Cormorant Garamond",Georgia,serif);
  opacity:.7;
}
.hands-reference-page .hands-index-contact-card span{padding-right:44px}

@media(max-width:1100px){
  
}
@media(max-width:640px){
  
  
}

/* v14.16 — Hands second row: quieter editorial hierarchy. Photography stays dominant. */
@media (min-width:1101px){
  .hands-reference-page>.hands-collection-grid[data-story-count="4"] .hands-index-quote-card{
    padding:clamp(34px,3.3vw,58px) clamp(38px,4.2vw,72px)!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .hands-reference-page .hands-index-quote-card{
    font-size:clamp(15px,1.05vw,18px)!important;
    line-height:1.58!important;
  }
  .hands-reference-page .hands-index-quote-card > *{
    max-width:46ch!important;
  }
  .hands-reference-page .hands-index-quote-card p:first-child{
    max-width:30ch!important;
    margin-bottom:clamp(20px,1.8vw,30px)!important;
    font-size:clamp(19px,1.35vw,23px)!important;
    line-height:1.35!important;
    letter-spacing:-.015em!important;
  }
  .hands-reference-page .hands-index-quote-card p + p{
    max-width:46ch!important;
    text-align:justify!important;
    text-justify:inter-word!important;
    line-height:1.62!important;
  }

  .hands-reference-page .hands-index-contact-card{
    padding:clamp(38px,3.7vw,62px)!important;
    justify-content:flex-start!important;
    background:#20201d!important;
  }
  .hands-reference-page .hands-index-contact-card:hover{
    background:#292824!important;
  }
  .hands-reference-page .hands-index-contact-card h3{
    max-width:14ch!important;
    font-size:clamp(28px,2.15vw,39px)!important;
    line-height:1.02!important;
    letter-spacing:-.03em!important;
  }
  .hands-reference-page .hands-index-contact-card p{
    margin:clamp(20px,2vw,32px) 0 auto!important;
    max-width:31ch!important;
    font-size:clamp(13px,.95vw,16px)!important;
    line-height:1.55!important;
    opacity:.72!important;
  }
  .hands-reference-page .hands-index-contact-card span{
    margin-top:clamp(28px,2.5vw,42px)!important;
    font-size:9px!important;
    letter-spacing:.13em!important;
    opacity:.9!important;
  }
  .hands-reference-page .hands-index-contact-card::after{
    right:clamp(30px,2.6vw,46px)!important;
    bottom:clamp(28px,2.4vw,42px)!important;
    font-size:clamp(20px,1.6vw,27px)!important;
    opacity:.55!important;
  }
}

@media (max-width:1100px){
  
  
  
  
}

/* ============================================================
   v14.17 — Hands editorial cleanup.
   - Natural text spacing instead of stretched justification.
   - A quiet rule closes the second-row composition.
   - Remove the legacy outro and reduce decorative rules inside stories.
   - Hands story gallery images are large enough to carry the portfolio signature.
   ============================================================ */

/* The second row should read as one composed editorial band. */
@media (min-width:1101px){
  .hands-reference-page>.hands-collection-grid[data-story-count="4"]{
    position:relative!important;
    padding-bottom:12px!important;
  }
  .hands-reference-page>.hands-collection-grid[data-story-count="4"]::after{
    content:"";
    position:absolute;
    left:7px;
    right:7px;
    bottom:5px;
    height:1px;
    background:rgba(23,23,20,.18);
    pointer-events:none;
  }

  /* Do not stretch words to force justification. Let the copy breathe naturally. */
  .hands-reference-page .hands-index-quote-card{
    padding:clamp(30px,3vw,50px) clamp(32px,3.2vw,54px)!important;
    align-items:flex-start!important;
  }
  .hands-reference-page .hands-index-quote-card > *{
    max-width:40ch!important;
  }
  .hands-reference-page .hands-index-quote-card p:first-child{
    max-width:28ch!important;
    margin-bottom:18px!important;
    font-size:clamp(18px,1.25vw,21px)!important;
    line-height:1.35!important;
  }
  .hands-reference-page .hands-index-quote-card p + p,
  .hands-reference-page .hands-index-quote-card blockquote,
  .hands-reference-page .hands-index-quote-card li{
    max-width:40ch!important;
    text-align:left!important;
    text-justify:auto!important;
    hyphens:none!important;
    word-spacing:normal!important;
    letter-spacing:0!important;
    line-height:1.58!important;
    font-size:clamp(14px,1vw,17px)!important;
  }
}

/* Remove the old closing slogan completely if an older cached template still emits it. */
.hands-reference-outro{display:none!important}

/* Individual Hands stories: more calm space under the title, fewer separator lines. */




/* Keep only the useful count; the long progress rule was visually competing with the photographs. */



/* Hands inline photographs are substantial editorial images, so they may carry the signature too. */




/* ============================================================
   v14.20 — clean Hands hierarchy + About all cards + logo fallback
   ============================================================ */

/* HANDS INDEX — photography first, text second, CTA third. */
.hands-reference-page>.hands-collection-grid{
  row-gap:clamp(12px,1.25vw,20px)!important;
}
.hands-reference-page .hands-collection-card h2{
  color:rgba(255,255,255,.86)!important;
  font-size:clamp(31px,2.75vw,49px)!important;
  line-height:.96!important;
  letter-spacing:-.035em!important;
  max-width:92%!important;
  text-shadow:0 1px 16px rgba(0,0,0,.14)!important;
}
.hands-reference-page .hands-collection-card .hands-collection-arrow{
  opacity:.58!important;
  border-color:rgba(255,255,255,.48)!important;
  color:rgba(255,255,255,.78)!important;
}
.hands-reference-page .hands-index-quote-card{
  padding:clamp(40px,4vw,66px) clamp(34px,4.1vw,66px)!important;
  align-items:center!important;
  justify-content:center!important;
}
.hands-reference-page .hands-index-quote-card > *{
  width:min(100%,38ch)!important;
  max-width:38ch!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:left!important;
}
.hands-reference-page .hands-index-quote-card p:first-child{
  margin-bottom:20px!important;
  font-size:clamp(18px,1.2vw,21px)!important;
  line-height:1.42!important;
  font-weight:600!important;
}
.hands-reference-page .hands-index-quote-card p + p,
.hands-reference-page .hands-index-quote-card blockquote,
.hands-reference-page .hands-index-quote-card li{
  font-size:clamp(15px,1.05vw,17px)!important;
  line-height:1.64!important;
  text-align:left!important;
  word-spacing:normal!important;
  letter-spacing:0!important;
  hyphens:none!important;
}
.hands-reference-page .hands-index-contact-card{
  padding:clamp(38px,3.7vw,60px)!important;
}
.hands-reference-page .hands-index-contact-card h3{
  max-width:15ch!important;
  font-size:clamp(30px,2.45vw,43px)!important;
  line-height:1.01!important;
  color:rgba(255,255,255,.88)!important;
}
.hands-reference-page .hands-index-contact-card p{
  max-width:28ch!important;
  color:rgba(255,255,255,.58)!important;
  font-size:clamp(13px,.95vw,15px)!important;
  line-height:1.55!important;
}
.hands-reference-page .hands-index-contact-card>span{
  color:rgba(255,255,255,.72)!important;
  font-size:9px!important;
  letter-spacing:.14em!important;
}

/* A little air between the strong visual row and the quieter reflection row. */
@media (min-width:1101px){
  .hands-reference-page>.hands-collection-grid[data-story-count="4"]{
    column-gap:clamp(8px,.7vw,12px)!important;
    row-gap:clamp(15px,1.25vw,22px)!important;
  }
}

/* HANDS STORIES — each story is a self-contained editorial spread.
   The title always stays above the spread; only image/text alternate. */









/* Even stories: text left, image right, but remain in the same normal-flow wrapper. */

/* Keep navigation attached to the photograph, quiet and low-contrast. */











/* ABOUT — all cards visible, no slider, no internal scrollbar.
   Desktop keeps the fixed visual on the right; cards share the left viewport. */
.about-all-cards-page{
  background:var(--about-bg,#f4f1ea)!important;
}
.about-all-cards-stage{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:stretch;
  min-height:calc(100dvh - var(--site-header-height,92px));
  background:var(--about-bg,#f4f1ea);
}
.about-all-cards-copy{
  min-width:0;
  display:grid;
  grid-template-rows:repeat(var(--about-card-count,2),minmax(0,1fr));
  min-height:calc(100dvh - var(--site-header-height,92px));
}
.about-visible-card{
  position:relative;
  display:flex;
  align-items:center;
  min-height:0;
  padding:clamp(28px,3.8vw,58px) clamp(42px,6vw,96px);
  border-bottom:1px solid rgba(23,23,20,.10);
  overflow:visible;
}
.about-visible-card:last-child{border-bottom:0}
.about-visible-card-number{
  position:absolute;
  top:18px;
  left:clamp(42px,6vw,96px);
  font:500 9px/1 var(--font-ui,Montserrat,Arial,sans-serif);
  letter-spacing:.14em;
  color:rgba(23,23,20,.34);
}
.about-visible-card-text{
  width:100%;
  max-width:760px;
  font-size:clamp(15px,1.18vw,var(--about-copy-size,19px));
  line-height:1.56;
  color:#171714;
}
.about-visible-card-text p{margin:0 0 .9em}
.about-visible-card-text p:last-child{margin-bottom:0}
.about-visible-card-text p:first-child{
  font-family:var(--font-heading,"Cormorant Garamond",Georgia,serif);
  font-size:clamp(24px,2.2vw,38px);
  line-height:1.08;
  letter-spacing:-.02em;
}
.about-all-cards-image{
  position:sticky;
  top:var(--site-header-height,92px);
  height:calc(100dvh - var(--site-header-height,92px));
  min-height:520px;
  overflow:hidden;
  background:#ddd7cc;
  margin:0;
}
.about-all-cards-image img{
  width:100%;height:100%;display:block;
  object-fit:cover;
  object-position:var(--about-focal-x,50%) var(--about-focal-y,50%);
}
@media (max-width:900px){
  .about-all-cards-stage{display:flex;flex-direction:column;min-height:0}
  .about-all-cards-image{position:relative;top:auto;order:1;height:min(56dvh,520px);min-height:320px;width:100%}
  .about-all-cards-copy{order:2;display:block;min-height:0;width:100%}
  .about-visible-card{min-height:0;padding:42px 24px 46px;align-items:flex-start}
  .about-visible-card-number{top:18px;left:24px}
  .about-visible-card-text{font-size:var(--about-copy-size-mobile,17px);line-height:1.58}
  .about-visible-card-text p:first-child{font-size:clamp(26px,7.5vw,38px)}
}

/* HEADER LOGO — never expose a broken-image icon/alt label.
   If the saved uploaded logo URL is unavailable, show a clean wordmark fallback. */
.brand-fallback-wordmark{
  display:none;
  font-family:var(--font-heading,"Cormorant Garamond",Georgia,serif);
  font-size:clamp(23px,2vw,31px);
  line-height:1;
  letter-spacing:-.035em;
  white-space:nowrap;
  color:#171714;
}
.site-header.overlay .brand-fallback-wordmark{color:#fff}
.brand.logo-fallback-active .brand-logo{display:none!important}
.brand.logo-fallback-active .brand-fallback-wordmark{display:block!important}
.brand .brand-logo.logo-broken{display:none!important}

/* ============================================================
   v14.21 — Hands editorial layout correction.
   Fixes legacy viewport-height rules and keeps the photograph
   as the dominant element on BOTH odd and even story spreads.
   ============================================================ */

/* Each story must grow from its real content. Older Hands rules set a
   fixed 100vh height, which is what created the giant blank areas. */





/* Odd spreads: large photograph left, narrower story right. */

/* Even spreads: narrower story left, large photograph right. */


/* Let the gallery size itself from its width instead of an old 62vh box. */


/* Copy stays close to the photograph and reads as a quiet caption, not a second panel. */




/* Controls stay attached to the image and remain visually secondary. */




/* Tablet/phone: no alternation gymnastics; image then story, natural page flow. */


/* About: explicitly neutralise any surviving legacy slider UI/scripts in cached CSS.
   v14.20 markup already renders every card at once. */
.about-all-cards-page [data-about-prev],
.about-all-cards-page [data-about-next],
.about-all-cards-page [data-about-dot],
.about-all-cards-page .about-slider-controls,
.about-all-cards-page .about-slider-dots,
.about-all-cards-page .about-slider-counter{display:none!important}
.about-all-cards-page .about-visible-card{overflow:visible!important}

/* ============================================================
   v14.22 — Hands viewport-fit responsive editorial spreads
   Each desktop story occupies one clean viewport below the header.
   Title remains part of the same section; gallery + copy fit the
   remaining space and alternate without creating blank bands.
   ============================================================ */



/* Shorter laptops: preserve the one-screen composition but scale typography
   and spacing down instead of allowing the image to push the next story below. */


/* Medium desktop/tablet: responsive two-column spread with natural height. */


/* Mobile: one clear vertical story, no fixed viewport height, no overlap. */


/* ============================================================
   v14.23 — Hands calmer viewport composition + restrained signature
   Keeps each story responsive to the window without letting the
   photograph or watermark dominate the editorial balance.
   ============================================================ */

/* Use the viewport as a minimum canvas, not a hard crop box. */


/* Short screens: scale the gallery down further so the next section does not peek in. */


/* Hands signatures on inline editorial images should be a quiet authorship mark,
   not a graphic element competing with the photograph. */

[data-hands-lightbox] .hands-lightbox-figure > .portfolio-signature-overlay{
  width:clamp(78px,8vw,120px)!important;
  max-width:14%!important;
  opacity:.58!important;
}
@media (max-width:760px) {
  
  
}

/* v14.24 — About: fixed image right, one text card at a time, no internal scrollbars. */
.about-carousel-page{background:var(--about-bg,#f4f1ea)}
.about-carousel-stage{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  height:calc(100dvh - var(--site-header-height,92px));
  min-height:560px;
  overflow:hidden;
  background:var(--about-bg,#f4f1ea);
}
.about-carousel-copy{
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  padding:clamp(28px,4vw,62px) clamp(34px,6vw,96px) clamp(24px,3vw,44px);
  overflow:hidden;
}
.about-carousel-track{position:relative;flex:1;min-height:0;overflow:hidden}
.about-carousel-card{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  opacity:0;
  transform:translateX(24px);
  pointer-events:none;
  transition:opacity .34s ease,transform .34s ease;
  overflow:hidden;
  color:#171714;
}
.about-carousel-card.is-active{opacity:1;transform:none;pointer-events:auto}
.about-carousel-number{
  position:absolute;
  top:0;
  left:0;
  font:500 9px/1 var(--font-ui,Montserrat,Arial,sans-serif);
  letter-spacing:.14em;
  color:rgba(23,23,20,.34);
}
.about-carousel-text{
  width:100%;
  max-width:720px;
  font-size:var(--about-fit-size,var(--about-copy-size,19px));
  line-height:1.62;
}
.about-carousel-text p{margin:0 0 1.08em}
.about-carousel-text p:last-child{margin-bottom:0}
.about-carousel-text p:first-child{
  font-family:var(--font-heading,"Cormorant Garamond",Georgia,serif);
  font-size:clamp(27px,2.7vw,44px);
  line-height:1.08;
  letter-spacing:-.02em;
  margin-bottom:.9em;
}
.about-carousel-controls{
  display:flex;
  align-items:center;
  gap:14px;
  padding-top:16px;
  border-top:0;
  flex:0 0 auto;
}
.about-carousel-controls>button{
  border:0;background:transparent;color:#171714;padding:8px 4px;font-size:20px;cursor:pointer;opacity:.74;
}
.about-carousel-controls>button:hover{opacity:1}
.about-carousel-counter{font:500 9px var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.12em;white-space:nowrap}
.about-carousel-dots{display:flex;gap:6px;flex:1;align-items:center}
.about-carousel-dots button{width:24px;height:2px;padding:0;border:0;background:rgba(23,23,20,.18);cursor:pointer}
.about-carousel-dots button.is-active{background:#171714}
.about-carousel-image{
  margin:0;
  height:100%;
  min-height:0;
  overflow:hidden;
  background:#ddd7cc;
}
.about-carousel-image img{
  width:100%;height:100%;display:block;object-fit:cover;
  object-position:var(--about-focal-x,50%) var(--about-focal-y,50%);
}
@media(max-width:900px){
  .about-carousel-stage{height:auto;min-height:0;display:flex;flex-direction:column;overflow:visible}
  .about-carousel-image{order:1;height:min(52dvh,520px);min-height:320px;width:100%}
  .about-carousel-copy{order:2;min-height:430px;padding:34px 24px 26px;overflow:hidden}
  .about-carousel-track{min-height:330px}
  .about-carousel-card{justify-content:flex-start;padding-top:24px}
  .about-carousel-text{font-size:var(--about-fit-size,var(--about-copy-size-mobile,17px));line-height:1.6}
  .about-carousel-text p:first-child{font-size:clamp(27px,8vw,40px)}
  .about-carousel-dots button{width:16px}
}

/* ============================================================
   v14.25 — Hands one-screen responsive editorial fit
   Each Hands story occupies one viewport-sized spread on desktop.
   Title breathes above the content; image stays dominant; story copy
   fills its column with responsive type rather than leaving dead space.
   ============================================================ */


/* Short desktop/laptop viewports: keep one complete story on screen. */


/* Tablet: preserve editorial alternation, but let height become natural. */


/* Mobile: one story per natural screen-width flow; no forced crop or overflow. */


/* ============================================================
   v14.27 — Hands signature isolation + original header logo
   ============================================================ */
/* A portfolio signature is an overlay, never a gallery photograph. Earlier
   generic Hands image rules also gave the signature image 100% height, which
   made it cover the photograph. Keep the media image and overlay separate. */


[data-hands-lightbox] .hands-lightbox-figure > img.portfolio-signature-overlay{
  width:clamp(82px,7vw,118px)!important;
  max-width:13%!important;
  max-height:11%!important;
  opacity:.56!important;
}
@media (max-width:760px) {
  
  
}

/* ============================================================
   v14.48 — HANDS ARCHIVE: ONE DEFINITIVE LAYOUT
   Replaces v14.44–v14.47 rather than stacking another patch.
   ============================================================ */

/* Landing/index: quiet typography over the photographs. */
.hands-reference-page .hands-collection-card.has-cover{color:rgba(255,255,255,.76)!important}
.hands-reference-page .hands-collection-card h2{font-size:clamp(22px,1.85vw,31px)!important;line-height:1!important;letter-spacing:-.025em!important;left:28px!important;right:64px!important;bottom:24px!important;opacity:.74!important}
.hands-reference-page .hands-collection-card>p{opacity:.62!important}
.hands-reference-page .hands-collection-card:hover h2,.hands-reference-page .hands-collection-card:focus-visible h2{opacity:.86!important}
.hands-reference-page .hands-collection-arrow{opacity:.54!important;width:33px!important;height:33px!important;border-color:rgba(255,255,255,.34)!important;background:rgba(0,0,0,.06)!important}
.hands-reference-page .hands-index-contact-card h3{font-size:clamp(28px,2.25vw,40px)!important;line-height:1!important;max-width:13ch!important}
.hands-reference-page .hands-index-contact-card p{opacity:.58!important;font-size:clamp(13px,.9vw,15px)!important}

/* Archive sections: natural content height, compact rhythm. */




/* Full-width editorial spread: photo and copy actually use the full row. */







/* Copy fills its column; no hidden 39/44ch cap creating dead space. */











/* Media is uncropped and width-driven. JS pins stage/track to the ACTIVE slide height. */







/* Controls sit directly under the current photo. The editable hint lives on the same line. */















/* Mobile: full photo first, swipe enabled, prev/next on the photograph, compact footer below. */
@media (max-width:759px){
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
}


/* ============================================================
   v14.49 — HANDS CONSOLIDATED SINGLE SOURCE OF TRUTH
   All previous Hands story geometry/control rules were removed before this block.
   ============================================================ */

/* Landing/index: preserve the 3 + 3 editorial composition on desktop. */
.hands-reference-page>.hands-collection-grid{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:8px!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:minmax(0,1fr)!important;
  gap:8px!important;
}
.hands-reference-page .hands-collection-card,
.hands-reference-page .hands-index-project-note,
.hands-reference-page .hands-index-contact-card{min-width:0!important;min-height:0!important}
.hands-reference-page .hands-collection-card h2{
  font-size:clamp(13px,.95vw,16px)!important;
  line-height:1.08!important;
  opacity:.70!important;
  left:24px!important;right:54px!important;bottom:22px!important;
}
.hands-reference-page .hands-collection-arrow{opacity:.45!important}

/* Archive: natural flow only. No viewport/min-height reservations. */
.hands-reference-page .hands-collection-list.hands-reference-archive{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
}
.hands-reference-page .hands-reference-collection{
  box-sizing:border-box!important;width:100%!important;max-width:none!important;
  height:auto!important;min-height:0!important;margin:0!important;
  padding:18px clamp(22px,2.2vw,38px) 20px!important;overflow:visible!important;
}
.hands-reference-page .hands-reference-collection + .hands-reference-collection{
  margin-top:0!important;padding-top:18px!important;
}
.hands-reference-page .hands-reference-collection-layout,
.hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-layout{
  box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0!important;
  --hands-media-fr:2.3333fr;
  display:grid!important;grid-template-columns:minmax(0,var(--hands-media-fr)) minmax(0,1fr)!important;
  column-gap:clamp(22px,2.2vw,36px)!important;row-gap:0!important;align-items:start!important;
  height:auto!important;min-height:0!important;overflow:visible!important;
}
.hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-layout{
  grid-template-columns:minmax(0,1fr) minmax(0,var(--hands-media-fr))!important;
}
.hands-reference-page .hands-reference-collection:nth-child(odd) .hands-reference-carousel{grid-column:1!important;grid-row:1!important}
.hands-reference-page .hands-reference-collection:nth-child(odd) .hands-reference-collection-copy{grid-column:2!important;grid-row:1!important}
.hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-copy{grid-column:1!important;grid-row:1!important}
.hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-carousel{grid-column:2!important;grid-row:1!important}

/* Copy: title directly above copy and aligned with top of image. */
.hands-reference-page .hands-reference-collection-copy{
  box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;
  height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;
  align-self:start!important;justify-self:stretch!important;display:block!important;
}
.hands-reference-page .hands-reference-collection-copy .hands-reference-collection-head{
  width:100%!important;max-width:none!important;margin:0 0 18px!important;padding:0!important;
}
.hands-reference-page .hands-reference-collection-meta{margin:0 0 5px!important;font-size:9px!important;line-height:1!important;opacity:.58!important}
.hands-reference-page .hands-reference-collection-copy .hands-reference-collection-head h2{
  margin:0!important;padding:0!important;max-width:none!important;
  font-size:clamp(34px,2.45vw,42px)!important;line-height:1.02!important;letter-spacing:-.024em!important;font-weight:400!important;
}
.hands-reference-page .hands-reference-copy-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.hands-reference-page .hands-reference-collection-copy .hands-inline-note,
.hands-reference-page .hands-reference-collection-copy .hands-inline-body{
  width:100%!important;max-width:none!important;margin:0!important;
  font-size:clamp(17px,1.02vw,19px)!important;line-height:1.58!important;letter-spacing:0!important;
  text-align:justify!important;text-align-last:left!important;text-justify:inter-word!important;
  hyphens:auto!important;overflow-wrap:normal!important;word-break:normal!important;word-spacing:normal!important;
}
.hands-reference-page .hands-reference-collection-copy p{margin:0 0 1em!important}
.hands-reference-page .hands-reference-collection-copy p:last-child{margin-bottom:0!important}
.hands-reference-page .hands-reference-collection-copy .hands-inline-note + .hands-inline-body,
.hands-reference-page .hands-reference-collection-copy .hands-inline-body + .hands-inline-note{margin-top:1em!important}
.hands-reference-page .hands-reference-collection-copy .story-hashtags{margin-top:15px!important;font-size:10px!important}

.hands-mobile-overlay-nav{display:none!important}

/* Gallery: natural image proportions, uncropped. */
.hands-reference-page .hands-reference-carousel{
  position:relative!important;box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;
  height:auto!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important;
  align-self:start!important;
}
.hands-reference-page .hands-reference-stage{width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;background:transparent!important}
.hands-reference-page .hands-reference-stage .hands-inline-track{
  display:flex!important;width:100%!important;height:auto;min-height:0!important;margin:0!important;padding:0!important;
  overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;scroll-behavior:smooth!important;
  scrollbar-width:none!important;align-items:flex-start!important;touch-action:pan-y!important;
}
.hands-reference-page .hands-reference-stage .hands-inline-track::-webkit-scrollbar{display:none!important}
.hands-reference-page .hands-reference-stage .hands-inline-track figure{
  box-sizing:border-box!important;flex:0 0 100%!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
  aspect-ratio:auto!important;margin:0!important;padding:0!important;scroll-snap-align:start!important;display:block!important;overflow:visible!important;background:transparent!important;
}
.hands-reference-page .hands-reference-stage .hands-inline-track figure > img:not(.portfolio-signature-overlay),
.hands-reference-page .hands-reference-stage .hands-inline-track figure > video{
  display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;
  object-fit:contain!important;object-position:center center!important;
}
.hands-reference-page .hands-reference-stage .hands-inline-track figure > img.portfolio-signature-overlay{
  position:absolute!important;left:3%!important;top:3%!important;width:clamp(52px,4.8vw,72px)!important;height:auto!important;max-width:10%!important;max-height:9%!important;
  object-fit:contain!important;opacity:.38!important;pointer-events:none!important;z-index:4!important;
}

/* Controls: directly under visible image. Hint is editable in Studio. */
.hands-reference-page .hands-reference-progress{
  box-sizing:border-box!important;width:100%!important;min-height:30px!important;margin:6px 0 0!important;padding:0!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;overflow:visible!important;
}
.hands-reference-page .hands-reference-progress > span{order:1!important;flex:0 0 auto!important;min-width:58px!important;font-size:9px!important;letter-spacing:.12em!important;white-space:nowrap!important}
.hands-reference-page .hands-reference-media-controls{order:2!important;display:flex!important;align-items:center!important;gap:5px!important;flex:0 0 auto!important;margin:0!important;padding:0!important}
.hands-reference-page .hands-reference-media-controls .hands-reference-nav{display:flex!important;align-items:center!important;gap:5px!important;margin:0!important;padding:0!important}
.hands-reference-page .hands-reference-media-controls .hands-inline-arrow,
.hands-reference-page .hands-reference-media-controls .hands-expand-button{
  position:static!important;inset:auto!important;transform:none!important;width:32px!important;height:32px!important;margin:0!important;padding:0!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(23,23,20,.18)!important;border-radius:999px!important;
  background:rgba(244,241,234,.34)!important;color:rgba(23,23,20,.58)!important;opacity:.68!important;box-shadow:none!important;font-weight:400!important;
}
.hands-reference-page .hands-reference-media-controls .hands-inline-arrow:hover,
.hands-reference-page .hands-reference-media-controls .hands-expand-button:hover{opacity:.92!important;border-color:rgba(23,23,20,.30)!important;background:rgba(244,241,234,.62)!important;color:rgba(23,23,20,.82)!important}
.hands-reference-page .hands-reference-media-controls .hands-inline-arrow:disabled{opacity:.20!important}
.hands-reference-page .hands-reference-progress > i{order:3!important;display:block!important;position:relative!important;flex:0 1 110px!important;max-width:110px!important;min-width:42px!important;height:1px!important;margin-left:1px!important;background:rgba(23,23,20,.12)!important;overflow:hidden!important}
.hands-reference-page .hands-reference-progress > i b{display:block!important;height:1px!important;width:0;background:rgba(23,23,20,.48)!important}
.hands-reference-page .hands-interaction-hint{margin:0!important;padding:0!important;color:var(--hands-body-color,#5c574f)!important;font:500 9px/1.2 var(--font-ui,Montserrat,Arial,sans-serif)!important;letter-spacing:.09em!important;text-transform:uppercase!important;white-space:nowrap!important;opacity:.42!important}
.hands-reference-page .hands-interaction-hint-desktop{order:4!important;display:inline-block!important;margin-left:5px!important}
.hands-reference-page .hands-interaction-hint-mobile{display:none!important}

@media (max-width:1099px) and (min-width:760px){
  .hands-reference-page .hands-reference-collection{padding:18px 20px 20px!important}
  .hands-reference-page .hands-reference-collection-layout,
  .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-layout{--hands-media-fr:2fr;grid-template-columns:minmax(0,var(--hands-media-fr)) minmax(0,1fr)!important;column-gap:20px!important}
  .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-layout{grid-template-columns:minmax(0,1fr) minmax(0,var(--hands-media-fr))!important}
  .hands-reference-page .hands-reference-collection-copy .hands-reference-collection-head h2{font-size:32px!important}
  .hands-reference-page .hands-reference-collection-copy .hands-inline-note,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-body{font-size:16px!important;line-height:1.58!important;text-align:left!important;text-align-last:auto!important;hyphens:none!important}
}

/* Mobile Hands rules moved to /assets/hands-mobile.css in v14.52. */

/* ============================================================
   v14.51 — HANDS TEXT JUSTIFICATION
   ============================================================ */
/* Story body copy: force true full-width justification on desktop/tablet.
   Target the actual paragraph descendants too so rich-text wrappers cannot
   reintroduce left alignment. Titles and hashtags are intentionally excluded. */
@media (min-width:760px){
  .hands-reference-page .hands-reference-collection-copy .hands-inline-note,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-body,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-note p,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-body p{
    width:100%!important;
    max-width:none!important;
    text-align:justify!important;
    text-align-last:left!important;
    text-justify:inter-word!important;
    hyphens:auto!important;
    -webkit-hyphens:auto!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }
}

/* v14.52: mobile Hands typography is defined only in hands-mobile.css. */


/* ============================================================
   v14.55 — Hands desktop vertical-fill refinement
   65/35 is a preferred starting point, not a hard floor. JS measures each
   active photograph against its copy and chooses the closest visual fill.
   Horizontal paragraph justification remains mandatory. Mobile untouched.
   ============================================================ */
@media (min-width:760px){
  .hands-reference-page .hands-reference-collection-copy .hands-inline-note,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-body,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-note p,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-body p{
    text-align:justify!important;
    text-align-last:left!important;
    text-justify:inter-word!important;
    hyphens:auto!important;
    -webkit-hyphens:auto!important;
  }
}

/* ============================================================
   v14.58 — HANDS DESKTOP FINAL BALANCE + TITLE TARGETING
   Mobile is isolated in hands-mobile.css and is not touched here.
   ============================================================ */
@media (min-width:760px){
  .hands-reference-page>.hands-collection-grid .hands-collection-card h2{
    font-size:clamp(11px,.72vw,14px)!important;
    line-height:1.08!important;
    left:24px!important;right:52px!important;bottom:21px!important;
    letter-spacing:.005em!important;
  }
  .hands-reference-page .hands-reference-collection-layout,
  .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-layout{
    --hands-media-fr:2.3333fr;
  }
  .hands-reference-page .hands-reference-collection-copy .hands-reference-collection-head h2{
    font-size:clamp(32px,2.3vw,40px)!important;
    line-height:1.03!important;
  }
  .hands-reference-page .hands-reference-collection-copy .hands-inline-note,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-body,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-note p,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-body p{
    text-align:justify!important;text-align-last:left!important;text-justify:inter-word!important;
    hyphens:auto!important;-webkit-hyphens:auto!important;
  }
}


/* ============================================================
   v14.60 — HANDS DESKTOP VIEWPORT COMPOSITION
   Each story is one viewport-contained composition. The active photograph
   scales inside the viewport without cropping; copy is centred beside it.
   Prev/next arrows live on the photograph, while counter/zoom/progress/hint
   remain directly underneath. Mobile remains isolated in hands-mobile.css.
   ============================================================ */
.hands-mobile-back{display:none}
@media (min-width:760px){
  .hands-reference-page>.hands-collection-grid .hands-collection-card h2{
    font-size:clamp(10px,.62vw,12px)!important;line-height:1.08!important;
    left:24px!important;right:50px!important;bottom:20px!important;letter-spacing:.01em!important;
  }
  .hands-reference-page .hands-reference-collection{
    box-sizing:border-box!important;width:100%!important;
    height:100svh!important;min-height:100svh!important;max-height:100svh!important;
    margin:0!important;padding:clamp(16px,2vh,24px) clamp(22px,2.2vw,38px)!important;
    overflow:hidden!important;
  }
  .hands-reference-page .hands-reference-collection+.hands-reference-collection{margin-top:0!important}
  .hands-reference-page .hands-reference-collection-layout,
  .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-layout{
    box-sizing:border-box!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;
    align-items:center!important;overflow:hidden!important;column-gap:clamp(22px,2.2vw,36px)!important;
  }
  .hands-reference-page .hands-reference-carousel{
    align-self:center!important;display:flex!important;flex-direction:column!important;justify-content:center!important;
    width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;overflow:hidden!important;
  }
  .hands-reference-page .hands-reference-stage{
    position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;
    width:100%!important;height:auto!important;min-height:0!important;max-height:calc(100svh - 92px)!important;overflow:hidden!important;
  }
  .hands-reference-page .hands-reference-stage .hands-inline-track{
    display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:calc(100svh - 92px)!important;overflow:visible!important;
  }
  .hands-reference-page .hands-reference-stage .hands-inline-track figure{
    display:none!important;position:relative!important;width:100%!important;height:auto!important;min-height:0!important;max-height:calc(100svh - 92px)!important;
    margin:0!important;padding:0!important;overflow:hidden!important;aspect-ratio:auto!important;
  }
  .hands-reference-page .hands-reference-stage .hands-inline-track figure.is-hands-active{display:flex!important;align-items:center!important;justify-content:center!important}
  .hands-reference-page .hands-reference-stage .hands-inline-track figure>img:not(.portfolio-signature-overlay),
  .hands-reference-page .hands-reference-stage .hands-inline-track figure>video{
    display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:calc(100svh - 92px)!important;
    object-fit:contain!important;object-position:center!important;
  }
  .hands-reference-page .hands-reference-progress{
    position:static!important;flex:0 0 auto!important;margin:6px 0 0!important;height:30px!important;min-height:30px!important;max-height:30px!important;
  }
  /* Desktop prev/next navigation now overlays the photograph, matching mobile. */
  .hands-reference-page .hands-mobile-overlay-nav{display:block!important;position:absolute!important;inset:0!important;z-index:8!important;pointer-events:none!important}
  .hands-reference-page .hands-mobile-image-arrow{
    display:flex!important;align-items:center!important;justify-content:center!important;position:absolute!important;top:50%!important;transform:translateY(-50%)!important;
    width:38px!important;height:38px!important;border:1px solid rgba(255,255,255,.34)!important;border-radius:999px!important;
    background:rgba(20,20,18,.24)!important;color:rgba(255,255,255,.82)!important;font-size:24px!important;line-height:1!important;
    backdrop-filter:blur(2px)!important;-webkit-backdrop-filter:blur(2px)!important;pointer-events:auto!important;cursor:pointer!important;
  }
  .hands-reference-page .hands-mobile-image-arrow-prev{left:12px!important}
  .hands-reference-page .hands-mobile-image-arrow-next{right:12px!important}
  .hands-reference-page .hands-mobile-image-arrow:disabled{opacity:.22!important;cursor:default!important}
  .hands-reference-page .hands-reference-nav{display:none!important}
  .hands-reference-page .hands-reference-collection-copy{
    align-self:center!important;height:auto!important;min-height:0!important;max-height:calc(100svh - 64px)!important;
    margin:0!important;padding:0!important;overflow:hidden!important;
  }
  .hands-reference-page .hands-reference-collection-copy .hands-reference-collection-head h2{
    font-size:clamp(30px,3.8vh,42px)!important;line-height:1.02!important;
  }
  .hands-reference-page .hands-reference-collection-copy .hands-inline-note,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-body,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-note p,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-body p{
    font-size:clamp(15px,1.85vh,19px)!important;line-height:1.52!important;
    text-align:justify!important;text-align-last:left!important;text-justify:inter-word!important;hyphens:auto!important;-webkit-hyphens:auto!important;
  }
}
/* v14.59 title specificity lock: beats legacy story-count selectors. */
@media (min-width:760px){
  .hands-reference-page>.hands-collection-grid[data-story-count] .hands-collection-card h2{
    font-size:clamp(12px,.9vw,14px)!important;line-height:1.08!important;letter-spacing:.01em!important;
    left:24px!important;right:50px!important;bottom:20px!important;
  }
}


/* ============================================================
   v14.61 — HANDS CONTROL + SIGNATURE + MOBILE LOGO CLEANUP
   ============================================================ */
/* The legacy below-image prev/next markup is removed in index.php. Keep this
   defensive rule so cached/older markup cannot show duplicate arrows. */
.hands-reference-page .hands-reference-progress .hands-reference-nav,
.hands-reference-page .hands-reference-progress .hands-inline-arrow{display:none!important}

/* The active figure is the signature positioning frame. The signature is placed
   by JS against the exact contained image rectangle and must not inherit stale
   top/right/bottom rules from older builds. */
.hands-reference-page .hands-reference-stage .hands-inline-track figure{position:relative!important}
.hands-reference-page .hands-reference-stage .hands-inline-track figure>.portfolio-signature-overlay{
  position:absolute!important;z-index:12!important;pointer-events:none!important;
  object-fit:contain!important;transform:none!important;margin:0!important;padding:0!important;
}

@media (max-width:760px) {
  .site-header .brand .brand-logo{
    image-rendering:auto!important;
    -ms-interpolation-mode:bicubic;
    transform:translateZ(0);
  }
}


/* ============================================================
   v14.63 — HANDS SIGNATURE ISOLATION + STORY-NUMBER CLEANUP + MOBILE HD LOGO
   ============================================================ */
/* Actual Hands story views have no collection number beside the title.
   Card/index numbers remain untouched. */
.hands-reference-page .hands-reference-collection-head .hands-reference-collection-meta{display:none!important}
.hands-reference-page .hands-reference-collection-head{gap:0!important}

/* Hands uses its own signature size. JS applies the exact saved Studio width
   against the visible photograph; this CSS keeps other page signature variables isolated. */
.hands-reference-page .portfolio-signature-overlay,
[data-hands-lightbox] .portfolio-signature-overlay{max-width:28%!important}

@media (max-width:760px) {
  .site-header .brand .brand-logo{image-rendering:auto!important;backface-visibility:hidden;transform:none!important}
}

/* v14.69 — mobile visibility correction: keep homepage hero available; hide Featured/Field Study only when its Studio toggle is off. */
@media (max-width: 760px) {
  
}


/* ============================================================
   v14.73 — HOME DESKTOP TEXT-GROUP STRUCTURE
   About and Featured/Field Study each use one vertically centred copy group.
   Desktop only: mobile image-first About and mobile Field Study visibility remain untouched.
   ============================================================ */
@media (min-width:761px){
  /* ABOUT — one viewport, one copy group. Remove the legacy independent title/body offsets. */
  
  @supports (height:100dvh){
    
  }
  
  
  
  
  
  
  
  

  /* FIELD STUDY — one viewport, image never exceeds it, all copy moves as one centred group. */
  
  @supports (height:100dvh){
    
  }
  
  
  
  
  
  
  
  
  
}

/* Carousel visibility: a hidden half is removed entirely. If only one panel
   remains on desktop, that photograph becomes the full carousel slide. */
.hero-carousel-desktop .hero-slide.hero-slide-single{
  grid-template-columns:minmax(0,1fr)!important;
}
.hero-carousel-desktop .hero-slide.hero-slide-single>.hero-panel{
  grid-column:1!important;
  width:100%!important;
}

/* Mobile carousel: 130% overscan plus a -100..200 Studio range lets the
   source travel all the way from its far left to its far right edge. */
@media (max-width:760px) {
  .hero-carousel-mobile .hero-slide .hero-panel>img,
  .hero-carousel-mobile .hero-slide .hero-panel>video{
    position:absolute!important;
    width:130%!important;
    height:110%!important;
    max-width:none!important;
    max-height:none!important;
    left:var(--mobile-pan-left,-15%)!important;
    top:var(--mobile-pan-top,-5%)!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}

/* DESKTOP ABOUT — one viewport, one centred group. No independent title/body
   coordinates and no full justification on the short heading. */
@media (min-width:761px){
  
  @supports (height:100dvh){
    
  }
  
  
  
  
  
  
  
  
  
  

  /* DESKTOP FEATURED STUDY — same structural principle as About. */
  
  @supports (height:100dvh){
    
  }
  
  
  
  
  
  
  
  
  
  
}

/* MOBILE ABOUT — image first, then a clean content-driven text panel.
   No fixed viewport clipping, no text overlays, no shadows or transforms. */
@media (max-width:760px) {
  
  
  
  
  
  
  
  
  
  
  
  

  /* If Featured Study is enabled on mobile, keep it content-driven too. */
  
  
  
}

/* Studio carousel controls. */
.hero-panel-visibility{margin:10px 0 14px!important;padding:10px 0!important}

/* Desktop Featured Study: title/body/link are one compact block, centered as a unit. */
@media (min-width:761px){
  
  
  
  
  
  
  
}

/* Mobile About CTA must remain a real clickable link above neighbouring layers. */
@media (max-width:760px) {
  
  
  
}

/* ============================================================
   CANONICAL HOME / HEADER / HANDS RESPONSIVE STRUCTURE
   One implementation only. Legacy v14.77/v14.78 header and Field Study
   patches were removed instead of overridden.
   ============================================================ */

/* Shared logo box. The URL itself is chosen server-side. */
.site-header .brand{
  display:flex;align-items:center;flex:0 0 auto;
  width:var(--site-logo-width-desktop,190px);min-width:0;overflow:visible;
}
.site-header .brand:empty{width:0!important;min-width:0!important;margin:0!important;padding:0!important}
.site-header .brand-picture{display:block;width:100%;height:auto;line-height:0}
.site-header .brand-logo{
  display:block;width:100%;max-width:100%;height:auto;max-height:66px;
  object-fit:contain;object-position:left center;opacity:1;visibility:visible;
  filter:none;transform:none;image-rendering:auto;
}
@media (min-width:761px){
  .site-header .header-menu-links>a.menu-slot-hidden{visibility:hidden!important;pointer-events:none!important}
}

/* MOBILE HEADER — canonical behavior.
   Home (.overlay): transparent and over the hero.
   Interior pages: normal light header row, as before.
   The mobile menu itself is restored by the established menu block below. */
@media (max-width:760px) {
  body{position:relative!important;padding-top:0!important}
  .site-header{
    z-index:1000!important;display:flex!important;align-items:center!important;
    height:78px!important;min-height:78px!important;padding:10px 18px!important;margin:0!important;
    color:var(--ink,#1d1d19)!important;outline:0!important;box-shadow:none!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  }
  .site-header.overlay{
    position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:auto!important;
    background:transparent!important;border:0!important;color:#fff!important;
  }
  .site-header:not(.overlay){
    position:relative!important;inset:auto!important;
    background:var(--paper,#f3f1eb)!important;border:0!important;border-bottom:1px solid var(--line,rgba(29,29,25,.22))!important;
    color:var(--ink,#1d1d19)!important;
  }
  .site-header .brand-group{display:flex!important;align-items:center!important;gap:14px!important;height:100%!important;min-width:0!important;padding:0!important}
  .site-header .brand{display:flex!important;align-items:center!important;height:100%!important;width:var(--site-logo-width-mobile,145px)!important;max-width:min(44vw,180px)!important;min-width:0!important}
  .site-header .brand:empty{width:0!important;max-width:0!important}
  .site-header .brand-logo{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:54px!important;opacity:1!important;visibility:visible!important;object-fit:contain!important;object-position:left center!important;filter:none!important;transform:none!important;image-rendering:auto!important}
  .site-header .brand-logo.logo-load-error{display:none!important}
  .site-header.overlay .brand-line,.site-header.overlay .menu-toggle{color:#fff!important;text-shadow:0 1px 8px rgba(0,0,0,.35)!important}
  .site-header:not(.overlay) .brand-line,.site-header:not(.overlay) .menu-toggle{color:var(--ink,#1d1d19)!important;text-shadow:none!important}
  .site-header .menu-toggle{display:block!important}
  .site-header .header-menu-links>a.menu-slot-hidden{display:none!important}
}

/* MOBILE MENU — restore the previously stable compact menu. It opens from the
   top, contains menu items followed by social icons, and ends after its content
   rather than becoming a redesigned split/full-screen experience. */
@media(max-width:800px){
  .site-header nav{
    position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:auto!important;
    width:100%!important;height:auto!important;min-height:0!important;max-height:calc(100dvh - 8px)!important;
    display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;
    padding:calc(78px + 18px) clamp(28px,7vw,46px) 28px!important;overflow-y:auto!important;
    background:var(--paper,#f3f1eb)!important;color:var(--ink,#1d1d19)!important;border:0!important;box-shadow:none!important;
  }
  .site-header nav.open,body.menu-open .site-header nav.open{transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transition-delay:0s!important}
  .site-header nav::before,.site-header nav::after,.site-header nav .header-menu-links::before,.site-header nav .header-menu-links::after,.site-header nav .mobile-menu-social::before,.site-header nav .mobile-menu-social::after{content:none!important;display:none!important;border:0!important}
  .site-header nav .header-menu-links,.site-header nav .mobile-menu-social{position:static!important;inset:auto!important;transform:none!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important}
  .site-header nav .header-menu-links{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;gap:clamp(15px,2.1vh,22px)!important;padding:2px 0 0!important;counter-reset:mobile-nav!important}
  .site-header nav .header-menu-links>a{counter-increment:mobile-nav!important;display:flex!important;align-items:baseline!important;gap:14px!important;width:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;color:var(--ink,#1d1d19)!important;font-family:var(--font-ui,Montserrat,Arial,sans-serif)!important;font-size:clamp(23px,6.7vw,30px)!important;font-weight:400!important;line-height:1.05!important;letter-spacing:.09em!important;text-align:left!important;text-transform:uppercase!important;text-shadow:none!important}
  .site-header nav .header-menu-links>a::before{content:counter(mobile-nav,decimal-leading-zero)!important;flex:0 0 24px!important;color:var(--accent,#9d4936)!important;font:500 10px/1 var(--font-ui,Montserrat,Arial,sans-serif)!important;letter-spacing:.08em!important}
  .site-header nav .header-menu-links>a::after{display:none!important}
  .site-header nav .mobile-menu-social{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:clamp(11px,3.3vw,17px)!important;padding:clamp(24px,3.5vh,34px) 0 0!important;border:0!important}
  .site-header nav .mobile-menu-social a,.site-header nav .mobile-menu-social button.newsletter-icon-button{display:grid!important;place-items:center!important;width:clamp(48px,13vw,56px)!important;height:clamp(48px,13vw,56px)!important;min-height:0!important;flex:0 0 clamp(48px,13vw,56px)!important;margin:0!important;padding:0!important;border:1px solid rgba(21,22,17,.22)!important;border-radius:50%!important;background:transparent!important;color:var(--ink,#1d1d19)!important}
  .site-header nav .mobile-menu-social .social-label{display:none!important}
  .site-header nav .mobile-menu-social svg,.site-header nav .mobile-menu-social button.newsletter-icon-button svg{width:19px!important;height:19px!important}
  body.menu-open .site-header{z-index:1002!important;background:transparent!important;border-color:transparent!important;color:var(--ink,#1d1d19)!important}
  body.menu-open .site-header .menu-toggle{position:relative!important;z-index:1003!important;color:var(--ink,#1d1d19)!important;text-shadow:none!important}
}

/* HOME ABOUT — desktop: one viewport, one centered copy group. */
#home-about.home-about-split{box-sizing:border-box;background:var(--about-bg,#e9ede3)}
#home-about .home-about-title{font-family:var(--about-title-font,var(--serif))}
#home-about .home-about-body,#home-about .home-about-link{font-family:var(--about-body-font,var(--sans))}
@media (min-width:761px){
  .home>#home-about.home-about-split{
    display:block!important;width:100%!important;height:100svh!important;min-height:100svh!important;max-height:100svh!important;
    margin:0!important;padding:0!important;overflow:hidden!important;
  }
  @supports(height:100dvh){.home>#home-about.home-about-split{height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important}}
  #home-about .home-about-mobile-layout{display:none!important}
  #home-about .home-about-desktop-layout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;width:100%!important;height:100%!important;min-height:0!important}
  #home-about .home-about-copy-desktop{
    position:relative!important;inset:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;
    width:100%!important;height:100%!important;padding:clamp(42px,6vh,74px) clamp(50px,6vw,96px)!important;overflow:hidden!important;background:var(--about-bg,#e9ede3)!important;
  }
  #home-about .home-about-copy-inner{
    position:static!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:center!important;
    gap:clamp(24px,3vh,36px)!important;width:min(100%,650px)!important;max-width:650px!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;transform:none!important;
  }
  #home-about .home-about-title-block,#home-about .home-about-body-block{position:static!important;inset:auto!important;width:100%!important;max-width:none!important;margin:0!important;transform:none!important}
  #home-about .home-about-title,#home-about .home-about-title *{
    margin:0!important;width:100%!important;max-width:100%!important;font-size:min(var(--about-title-size-desktop,76px),64px)!important;
    line-height:1.04!important;text-align:left!important;text-align-last:auto!important;letter-spacing:-.025em!important;word-spacing:normal!important;text-shadow:none!important;filter:none!important;transform:none!important;hyphens:none!important;
  }
  #home-about .home-about-body,#home-about .home-about-body *{
    margin:0!important;width:100%!important;max-width:100%!important;font-size:min(var(--about-body-size-desktop,16px),18px)!important;
    line-height:1.68!important;text-align:justify!important;text-align-last:left!important;text-justify:inter-word!important;letter-spacing:normal!important;word-spacing:normal!important;text-shadow:none!important;filter:none!important;transform:none!important;hyphens:auto!important;
  }
  #home-about .home-about-link{position:relative!important;z-index:2!important;display:inline-block!important;width:max-content!important;max-width:100%!important;margin-top:0!important;pointer-events:auto!important}
  #home-about .home-about-media-desktop{position:relative!important;width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important}
  #home-about .home-about-media-desktop img,#home-about .home-about-media-desktop video{width:100%!important;height:100%!important;object-fit:cover!important;object-position:var(--about-media-x-desktop,50%) var(--about-media-y-desktop,50%)!important}
}

/* HOME ABOUT — mobile: image first, padded text second, CTA tappable. */
@media (max-width:760px) {
  .home>#home-about.home-about-split{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important;background:var(--about-bg,#e9ede3)!important}
  #home-about .home-about-desktop-layout{display:none!important}
  #home-about .home-about-mobile-layout{display:flex!important;flex-direction:column!important;width:100%!important;height:auto!important;min-height:0!important;overflow:visible!important}
  #home-about .home-about-media-mobile{order:1!important;position:relative!important;width:100%!important;height:clamp(320px,52svh,500px)!important;min-height:0!important;overflow:hidden!important}
  #home-about .home-about-media-mobile img,#home-about .home-about-media-mobile video{width:100%!important;height:100%!important;object-fit:cover!important;object-position:var(--about-media-x-mobile,50%) var(--about-media-y-mobile,50%)!important}
  #home-about .home-about-mobile-shade{display:none!important}
  #home-about .home-about-copy-mobile{order:2!important;position:relative!important;z-index:3!important;inset:auto!important;display:block!important;width:100%!important;height:auto!important;min-height:0!important;padding:clamp(42px,8vw,58px) clamp(26px,7vw,36px) clamp(58px,10vw,76px)!important;overflow:visible!important;background:var(--about-bg,#e9ede3)!important;color:var(--ink,#1d1d19)!important;transform:none!important;pointer-events:auto!important}
  #home-about .home-about-copy-mobile .home-about-title-block,#home-about .home-about-copy-mobile .home-about-body-block{position:static!important;width:100%!important;max-width:none!important;margin:0!important;transform:none!important;pointer-events:auto!important}
  #home-about .home-about-copy-mobile .home-about-title,#home-about .home-about-copy-mobile .home-about-title *{margin:0!important;width:100%!important;color:var(--about-title-color-mobile,var(--about-title-color-desktop,#1d1d19))!important;font-size:clamp(40px,12vw,54px)!important;line-height:1!important;letter-spacing:-.03em!important;word-spacing:normal!important;text-align:left!important;text-shadow:none!important;-webkit-text-stroke:0!important;filter:none!important;transform:none!important;opacity:1!important;hyphens:none!important}
  #home-about .home-about-copy-mobile .home-about-body-block{margin-top:30px!important}
  #home-about .home-about-copy-mobile .home-about-body,#home-about .home-about-copy-mobile .home-about-body *{margin:0!important;width:100%!important;color:var(--about-body-color-mobile,var(--about-body-color-desktop,#34332f))!important;font-size:clamp(16px,4.35vw,18px)!important;line-height:1.62!important;letter-spacing:normal!important;word-spacing:normal!important;text-align:left!important;text-shadow:none!important;-webkit-text-stroke:0!important;filter:none!important;transform:none!important;opacity:1!important;hyphens:none!important}
  #home-about .home-about-copy-mobile .home-about-link{position:relative!important;z-index:10!important;display:inline-flex!important;align-items:center!important;width:max-content!important;max-width:100%!important;margin-top:28px!important;color:var(--ink,#1d1d19)!important;text-shadow:none!important;filter:none!important;transform:none!important;pointer-events:auto!important;touch-action:manipulation!important;cursor:pointer!important}
}

/* FEATURED STUDY — canonical normal-flow implementation.
   The copy is one intrinsic-height group. No title/body coordinates, transforms,
   spacer distribution or inherited fixed heights are allowed. */
#featured-study.featured-study{box-sizing:border-box;background:var(--feature-bg,#f7f5ef);position:relative;isolation:isolate;margin:0;border:0;outline:0;box-shadow:none}
#featured-study .featured-study-copy h2{font-family:var(--feature-title-font,var(--serif));color:var(--feature-title-color,#171714)}
#featured-study .featured-study-body{font-family:var(--feature-body-font,var(--sans));color:var(--feature-body-color,#34332f)}
@media (min-width:761px){
  .home>#featured-study.featured-study{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;width:100%!important;height:100svh!important;min-height:0!important;max-height:100svh!important;margin:0!important;padding:0!important;overflow:hidden!important;position:relative!important;inset:auto!important;transform:none!important}
  @supports(height:100dvh){.home>#featured-study.featured-study{height:100dvh!important;max-height:100dvh!important}}
  #featured-study>.featured-study-media{position:relative!important;grid-column:1!important;grid-row:1!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;border:0!important;transform:none!important}
  #featured-study>.featured-study-media>img,#featured-study>.featured-study-media>video{display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;object-fit:cover!important;transform:none!important}
  #featured-study>.featured-study-copy{position:relative!important;grid-column:2!important;grid-row:1!important;display:grid!important;place-items:center!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;margin:0!important;padding:clamp(44px,5.5vh,72px) clamp(54px,6vw,96px)!important;overflow:hidden!important;transform:none!important;border:0!important}
  #featured-study .featured-study-copy-inner{position:static!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-rows:max-content!important;align-content:start!important;justify-items:stretch!important;row-gap:clamp(22px,2.6vh,30px)!important;width:min(100%,620px)!important;max-width:620px!important;height:max-content!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important;transform:none!important}
  #featured-study .featured-study-eyebrow,#featured-study .featured-study-copy h2,#featured-study .featured-study-body,#featured-study .featured-study-link{position:static!important;inset:auto!important;float:none!important;clear:none!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important;transform:none!important;clip:auto!important;clip-path:none!important}
  #featured-study .featured-study-copy h2{display:block!important;width:100%!important;max-width:100%!important;font-family:var(--feature-title-font,var(--serif))!important;font-size:min(var(--feature-title-size-desktop,72px),72px)!important;font-weight:400!important;line-height:1.02!important;letter-spacing:-.025em!important;word-spacing:normal!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;text-align:left!important;text-align-last:auto!important;hyphens:none!important}
  #featured-study .featured-study-copy h2 br{display:none!important}
  #featured-study .featured-study-body{display:block!important;width:100%!important;max-width:100%!important;font-size:min(var(--feature-body-size-desktop,17px),18px)!important;line-height:1.62!important;text-align:justify!important;text-align-last:left!important;text-justify:inter-word!important;letter-spacing:normal!important;word-spacing:normal!important;hyphens:auto!important}
  #featured-study .featured-study-link{display:inline-block!important;width:max-content!important;max-width:100%!important;justify-self:start!important}
}
@media (max-width:760px) {
  .home>#featured-study.featured-study.featured-study-mobile-hidden{display:none!important}
  .home>#featured-study.featured-study:not(.featured-study-mobile-hidden){display:flex!important;flex-direction:column!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important;position:relative!important;inset:auto!important;transform:none!important}
  #featured-study .featured-study-media{order:1!important;position:relative!important;width:100%!important;height:clamp(340px,56svh,520px)!important;min-height:0!important;margin:0!important;overflow:hidden!important}
  #featured-study .featured-study-copy{order:2!important;position:relative!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:44px 28px 50px!important;overflow:visible!important;transform:none!important}
  #featured-study .featured-study-copy-inner{position:static!important;display:grid!important;grid-auto-rows:max-content!important;row-gap:24px!important;width:100%!important;height:max-content!important;min-height:0!important;margin:0!important;padding:0!important;transform:none!important}
  #featured-study .featured-study-copy h2,#featured-study .featured-study-body,#featured-study .featured-study-link,#featured-study .featured-study-eyebrow{position:static!important;inset:auto!important;margin:0!important;transform:none!important}
  #featured-study .featured-study-copy h2 br{display:none!important}
}

/* Hands landing-card numbers are desktop-only; mobile cards themselves remain. */
@media (min-width:761px){
  .hands-reference-page .hands-collection-card[data-desktop-card-number]::before{
    content:attr(data-desktop-card-number)!important;position:absolute!important;z-index:4!important;top:24px!important;left:28px!important;
    color:rgba(255,255,255,.78)!important;font:500 10px/1 var(--font-ui,Montserrat,Arial,sans-serif)!important;letter-spacing:.1em!important;pointer-events:none!important;
  }
}
@media (max-width:760px) {
  .hands-reference-page .hands-collection-card::before,.hands-reference-page .hands-card-number{content:none!important;display:none!important}
}


/* ============================================================
   v14.83 — one logo element only.
   Home mobile stays transparent when closed; interior mobile headers are paper.
   Opening the menu always gives the header/menu a paper surface.
   ============================================================ */
@media (max-width:760px) {
  .site-header.overlay{background:transparent!important;border:0!important}
  .site-header:not(.overlay){background:var(--paper,#f3f1eb)!important;border-bottom:1px solid var(--line,rgba(29,29,25,.22))!important}
  body.menu-open .site-header,
  body.menu-open .site-header.overlay,
  body.menu-open .site-header:not(.overlay){background:var(--paper,#f3f1eb)!important;border-bottom:1px solid var(--line,rgba(29,29,25,.22))!important;color:var(--ink,#1d1d19)!important}
  body.menu-open .site-header .brand-line,
  body.menu-open .site-header .menu-toggle{color:var(--ink,#1d1d19)!important;text-shadow:none!important}
}

/* v14.82 — mobile menu only: render the existing logo as black on the light menu surface. */
@media (max-width:760px) {
  body.menu-open .site-header .brand-logo{
    filter:brightness(0) saturate(100%)!important;
  }
}


/* v14.84 — Field Study rebuilt from scratch.
   Intentionally uses unique field-study-rebuilt* class names so no legacy
   .featured-study rules can affect this component. */
.field-study-rebuilt{
  box-sizing:border-box;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  width:100%;
  height:100svh;
  max-height:100svh;
  min-height:0;
  margin:0;
  padding:0;
  background:var(--fs-bg,#f7f6f2);
  overflow:hidden;
}
@supports(height:100dvh){.field-study-rebuilt{height:100dvh;max-height:100dvh}}
.field-study-rebuilt-media{
  position:relative;
  min-width:0;
  min-height:0;
  height:100%;
  overflow:hidden;
}
.field-study-rebuilt-media>img,.field-study-rebuilt-media>video{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center center;
}
.field-study-rebuilt-copy{
  min-width:0;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(42px,5vw,92px);
  overflow:hidden;
}
.field-study-rebuilt-textbox{
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  gap:clamp(22px,2.4vh,30px);
  width:min(100%,640px);
  height:auto;
  margin:0;
  padding:0;
}
.field-study-rebuilt-textbox h2{
  position:static;
  display:block;
  width:100%;
  height:auto;
  margin:0;
  padding:0;
  color:var(--fs-title-color,#171714);
  font-family:var(--fs-title-font,var(--serif));
  font-size:min(var(--fs-title-size-desktop,72px),clamp(48px,5.3vw,82px));
  font-weight:400;
  line-height:1.04;
  letter-spacing:-.025em;
  text-align:left;
  white-space:normal;
  overflow:visible;
  transform:none;
}
.field-study-rebuilt-body{
  position:static;
  display:block;
  width:100%;
  height:auto;
  margin:0;
  padding:0;
  color:var(--fs-body-color,#34332f);
  font-family:var(--fs-body-font,var(--sans));
  font-size:min(var(--fs-body-size-desktop,17px),20px);
  line-height:1.62;
  text-align:justify;
  text-align-last:left;
  text-justify:inter-word;
  overflow:visible;
  transform:none;
}
.field-study-rebuilt-link{
  align-self:flex-start;
  color:inherit;
  font-family:var(--fs-link-font,var(--sans));
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:3px;
}
.field-study-rebuilt-play{
  position:absolute;
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%);
  width:58px;
  height:58px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.65);
  background:rgba(0,0,0,.28);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
}
@media (max-width:760px) {
  .field-study-rebuilt-mobile-hidden{display:none!important}
  .field-study-rebuilt:not(.field-study-rebuilt-mobile-hidden){
    display:flex;
    flex-direction:column;
    width:100%;
    height:auto;
    max-height:none;
    overflow:visible;
  }
  .field-study-rebuilt-media{height:clamp(320px,56svh,520px);width:100%}
  .field-study-rebuilt-copy{width:100%;height:auto;padding:42px 28px 48px;overflow:visible}
  .field-study-rebuilt-textbox{width:100%;gap:20px}
  .field-study-rebuilt-textbox h2{font-size:min(var(--fs-title-size-mobile,52px),clamp(36px,11vw,56px));line-height:1.06}
  .field-study-rebuilt-body{font-size:min(var(--fs-body-size-mobile,15px),18px);line-height:1.58;text-align:left}
}

/* v14.85 — CLEAN HOME ABOUT + FIELD STUDY V2
   These components use brand-new classes. The legacy #home-about and
   #featured-study IDs are empty scroll anchors only, so old ID/class rules
   cannot alter the rendered layout. */
.clean-section-anchor{display:block!important;width:0!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important}

.home-about-clean-v2,.home-about-clean-v2 *,.home-field-study-clean-v2,.home-field-study-clean-v2 *{box-sizing:border-box}
.home-about-clean-v2{width:100%;margin:0;padding:0;background:var(--hac-bg,#e9ede3);overflow:hidden}
.home-about-clean-v2-desktop{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;height:100svh;max-height:100svh;min-height:0}
@supports(height:100dvh){.home-about-clean-v2-desktop{height:100dvh;max-height:100dvh}}
.home-about-clean-v2-mobile{display:none}
.home-about-clean-v2-copy{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;padding:clamp(44px,6vh,78px) clamp(48px,6vw,96px);background:var(--hac-bg,#e9ede3);overflow:hidden}
.home-about-clean-v2-textbox{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;width:min(100%,660px);height:auto;min-height:0;margin:0;padding:0;gap:clamp(24px,2.7vh,34px)}
.home-about-clean-v2-title{position:static!important;margin:0!important;padding:0!important;width:100%;height:auto!important;color:var(--hac-title-color-desktop,#1d1d19);font-family:var(--hac-title-font,var(--serif));font-size:min(var(--hac-title-size-desktop,76px),64px);font-weight:400;line-height:1.04;letter-spacing:-.025em;text-align:left;word-spacing:normal;transform:none!important}
.home-about-clean-v2-body{position:static!important;margin:0!important;padding:0!important;width:100%;height:auto!important;color:var(--hac-body-color-desktop,#34332f);font-family:var(--hac-body-font,var(--sans));font-size:min(var(--hac-body-size-desktop,16px),18px);line-height:1.68;text-align:justify;text-align-last:left;text-justify:inter-word;word-spacing:normal;transform:none!important}
.home-about-clean-v2-link{position:static!important;align-self:flex-start;margin:0!important;padding:0 0 3px!important;width:max-content;max-width:100%;height:auto!important;color:inherit;font-family:var(--hac-link-font,var(--sans));border-bottom:1px solid currentColor;transform:none!important;pointer-events:auto}
.home-about-clean-v2-media{position:relative;min-width:0;min-height:0;width:100%;height:100%;overflow:hidden}
.home-about-clean-v2-media>img,.home-about-clean-v2-media>video{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:var(--hac-media-x-desktop,50%) var(--hac-media-y-desktop,50%)}

.home-field-study-clean-v2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;height:100svh;max-height:100svh;min-height:0;margin:0;padding:0;background:var(--hf-bg,#f7f6f2);overflow:hidden}
@supports(height:100dvh){.home-field-study-clean-v2{height:100dvh;max-height:100dvh}}
.home-field-study-clean-v2-media{position:relative;min-width:0;min-height:0;width:100%;height:100%;overflow:hidden}
.home-field-study-clean-v2-media>img,.home-field-study-clean-v2-media>video{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center center}
.home-field-study-clean-v2-copy{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;width:100%;height:100%;padding:clamp(44px,6vh,78px) clamp(48px,6vw,96px);overflow:hidden}
.home-field-study-clean-v2-textbox{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;width:min(100%,640px);height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;gap:clamp(22px,2.4vh,30px);transform:none!important}
.home-field-study-clean-v2-title{position:static!important;display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;color:var(--hf-title-color,#171714);font-family:var(--hf-title-font,var(--serif));font-size:min(var(--hf-title-size-desktop,72px),clamp(48px,5.3vw,82px));font-weight:400;line-height:1.04;letter-spacing:-.025em;text-align:left;word-spacing:normal;white-space:normal;overflow:visible!important;transform:none!important}
.home-field-study-clean-v2-body{position:static!important;display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;color:var(--hf-body-color,#34332f);font-family:var(--hf-body-font,var(--sans));font-size:min(var(--hf-body-size-desktop,17px),20px);line-height:1.62;text-align:justify;text-align-last:left;text-justify:inter-word;word-spacing:normal;overflow:visible!important;transform:none!important}
.home-field-study-clean-v2-link{position:static!important;align-self:flex-start;margin:0!important;padding:0 0 3px!important;width:max-content;max-width:100%;height:auto!important;color:inherit;font-family:var(--hf-link-font,var(--sans));border-bottom:1px solid currentColor;transform:none!important}
.home-field-study-clean-v2-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;border:1px solid rgba(255,255,255,.65);background:rgba(0,0,0,.28);color:#fff;display:grid;place-items:center;cursor:pointer}

@media (max-width:760px) {
  .home-about-clean-v2-desktop{display:none}
  .home-about-clean-v2-mobile{display:flex;flex-direction:column;width:100%;height:auto;min-height:0}
  .home-about-clean-v2-mobile .home-about-clean-v2-media{order:1;height:clamp(320px,52svh,500px)}
  .home-about-clean-v2-mobile .home-about-clean-v2-media>img,.home-about-clean-v2-mobile .home-about-clean-v2-media>video{object-position:var(--hac-media-x-mobile,50%) var(--hac-media-y-mobile,50%)}
  .home-about-clean-v2-mobile .home-about-clean-v2-copy{order:2;width:100%;height:auto;min-height:0;padding:clamp(42px,8vw,58px) clamp(26px,7vw,36px) clamp(58px,10vw,76px);overflow:visible}
  .home-about-clean-v2-mobile .home-about-clean-v2-textbox{width:100%;gap:28px}
  .home-about-clean-v2-mobile .home-about-clean-v2-title{color:var(--hac-title-color-mobile,#1d1d19);font-size:clamp(40px,12vw,54px);line-height:1}
  .home-about-clean-v2-mobile .home-about-clean-v2-body{color:var(--hac-body-color-mobile,#34332f);font-size:clamp(16px,4.35vw,18px);line-height:1.62;text-align:left}
  .home-field-study-clean-v2-mobile-hidden{display:none!important}
  .home-field-study-clean-v2:not(.home-field-study-clean-v2-mobile-hidden){display:flex;flex-direction:column;width:100%;height:auto;max-height:none;overflow:visible}
  .home-field-study-clean-v2-media{height:clamp(320px,56svh,520px);width:100%}
  .home-field-study-clean-v2-copy{width:100%;height:auto;padding:42px 28px 48px;overflow:visible}
  .home-field-study-clean-v2-textbox{width:100%;gap:20px}
  .home-field-study-clean-v2-title{font-size:min(var(--hf-title-size-mobile,52px),clamp(36px,11vw,56px));line-height:1.06}
  .home-field-study-clean-v2-body{font-size:min(var(--hf-body-size-mobile,15px),18px);line-height:1.58;text-align:left}
}


/* v14.86 homepage copy-content normalisation. Layout spacing is component-owned. */
.home-about-clean-v2-title p,.home-about-clean-v2-body p,.home-field-study-clean-v2-title p,.home-field-study-clean-v2-body p{margin:0!important;padding:0!important}
.home-about-clean-v2-title *,.home-field-study-clean-v2-title *{font:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;word-spacing:inherit!important;text-align:inherit!important;margin:0!important;padding:0!important;position:static!important;transform:none!important}
.home-about-clean-v2-body *,.home-field-study-clean-v2-body *{font-size:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;word-spacing:inherit!important;text-align:inherit!important;margin:0!important;padding:0!important;position:static!important;transform:none!important}
.home-about-clean-v2-body p + p,.home-field-study-clean-v2-body p + p{margin-top:.82em!important}
.home-about-clean-v2-body br,.home-field-study-clean-v2-body br{line-height:inherit!important}

/* v14.95 — Places archive rebuilt from the v14.92 map baseline.
   Country selection opens the full country archive immediately. Card layout and
   media filtering are intentionally independent from the map renderer. */
.places-country-archive-v1495{width:100%;max-width:1500px;margin:0 auto}
.places-country-archive-v1495 .places-country-archive-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:26px;margin:0 0 28px;padding-bottom:26px;border-bottom:1px solid rgba(23,23,20,.14)}
.places-country-archive-v1495 .places-country-archive-head>p{grid-column:1/-1;margin:0 0 -14px;color:var(--places-accent,#9d4936);font:600 9px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.15em;text-transform:uppercase}
.places-country-archive-v1495 .places-country-archive-head h2{margin:0;font:400 clamp(58px,7vw,104px)/.88 var(--font-heading,"Cormorant Garamond",Georgia,serif);letter-spacing:-.05em}
.places-country-archive-v1495 .places-country-archive-head>span{padding-bottom:8px;color:var(--places-body-color,#5c574f);font:400 14px/1.4 var(--font-body,Montserrat,Arial,sans-serif)}
.places-country-filters{display:grid;gap:9px;margin:0 0 34px;padding:0 0 24px;border-bottom:1px solid rgba(23,23,20,.13)}
.places-country-filter-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;align-items:start}
.places-country-filter-row>span{padding-top:8px;color:var(--places-accent,#9d4936);font:600 9px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase}
.places-country-filter-row>div{display:flex;flex-wrap:wrap;gap:7px}
.places-country-filter-row button{appearance:none;min-height:32px;border:1px solid rgba(23,23,20,.16);border-radius:999px;background:transparent;padding:7px 12px;color:var(--places-title-color,#171714);font:500 10px/1.1 var(--font-ui,Montserrat,Arial,sans-serif);cursor:pointer}
.places-country-filter-row button:hover{border-color:rgba(23,23,20,.38)}
.places-country-filter-row button.is-active{border-color:var(--places-title-color,#171714);background:var(--places-title-color,#171714);color:var(--places-bg,#f4f1ea)}
.places-country-results.is-editorial{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,48px);align-items:start}
.places-archive-card{position:relative;min-width:0;color:var(--places-title-color,#171714)}
.places-archive-card footer{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-top:10px}
.places-archive-card footer span,.places-archive-card>div>span,.places-archive-card .hands-card-clean-copy>span,.moment-card-clean-inner>span,.insight-card-clean>div>span{color:var(--places-accent,#9d4936);font:600 9px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase}
.places-archive-card footer small,.places-archive-card small{color:var(--places-body-color,#5c574f);font:500 9px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.08em;text-transform:uppercase}
.places-archive-media,.insight-card-clean-media{position:relative;display:block;width:100%;overflow:hidden;border:0;background:#ddd6ca;padding:0;cursor:zoom-in;text-align:left}
.places-archive-media img,.places-archive-media video,.insight-card-clean-media img,.insight-card-clean-media video{display:block;width:100%;height:100%;object-fit:cover}
.places-archive-media-count,.places-archive-has-video{position:absolute;z-index:3;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);background:rgba(19,19,17,.48);color:#fff;font:600 9px/1 var(--font-ui,Montserrat,Arial,sans-serif)}
.places-archive-media-count{right:12px;bottom:12px;min-width:30px;height:30px;border-radius:999px;padding:0 8px}.places-archive-has-video{right:48px;bottom:12px;width:30px;height:30px;border-radius:50%;font-size:10px}
/* People inside Places: use the same natural-photography treatment as the People page.
   No decorative frame, no card body, no forced crop. The photograph is the card. */
.people-card-clean{padding:0;background:transparent}
.people-card-clean .is-people-ratio{aspect-ratio:auto!important;background:transparent!important;overflow:visible}
.people-card-clean .is-people-ratio img,.people-card-clean .is-people-ratio video{display:block;width:100%;height:auto!important;object-fit:contain!important;background:transparent!important}
.people-card-clean .places-archive-media{background:transparent!important;overflow:hidden}
.people-card-clean .places-archive-media:hover img,.people-card-clean .places-archive-media:focus-visible img{opacity:.93}
/* Hands: one calm full-width editorial interruption. */
.hands-card-clean{grid-column:1/-1;border-top:2px solid var(--places-accent,#9d4936);background:color-mix(in srgb,var(--places-panel-bg,#eee9df) 52%,transparent)}
.hands-card-clean-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr);align-items:stretch}.hands-card-clean .is-hands-ratio{aspect-ratio:16/10}.hands-card-clean-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,4vw,58px)}
.hands-card-clean-copy h3{margin:16px 0 24px;font:400 clamp(42px,5vw,72px)/.9 var(--font-heading,"Cormorant Garamond",Georgia,serif);letter-spacing:-.045em}
/* Seen Here: photographic and wide like Hands, but without a text panel. */
.seen-card-clean{grid-column:1/-1;padding-top:12px}.seen-card-clean .is-seen-ratio{aspect-ratio:16/8.5;background:var(--places-panel-bg,#eee9df)}.seen-card-clean .is-seen-ratio img,.seen-card-clean .is-seen-ratio video{object-fit:contain;background:var(--places-panel-bg,#eee9df)}
.seen-card-corner{position:absolute;z-index:4;top:12px;right:0;width:72px;height:72px;pointer-events:none;background:linear-gradient(135deg,transparent 0 46%,var(--places-accent,#9d4936) 47% 63%,#d4a46d 64% 79%,transparent 80%)}
/* Moments are larger, quieter quote cards rather than media cards. */
.moment-card-clean{min-height:460px;border:1px solid rgba(23,23,20,.12);background:var(--places-title-color,#171714);color:var(--places-bg,#f4f1ea)}
.moment-card-clean-inner{display:flex;min-height:460px;flex-direction:column;padding:clamp(34px,4vw,60px)}.moment-card-clean blockquote{margin:auto 0 28px;font:400 clamp(32px,3.4vw,50px)/1.1 var(--font-heading,"Cormorant Garamond",Georgia,serif);letter-spacing:-.025em}.moment-card-clean blockquote.is-clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:7;overflow:hidden}.moment-card-clean button[data-place-moment-more]{align-self:flex-start;margin:0 0 20px;padding:0 0 4px;border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;font:600 9px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.moment-card-clean small{color:inherit;opacity:.62}
/* Insights remain compact and editorial so they do not compete with Moments. */
.insight-card-clean{border:1px solid rgba(23,23,20,.12);background:color-mix(in srgb,var(--places-panel-bg,#eee9df) 74%,#fff)}.insight-card-clean-media{aspect-ratio:16/9}.insight-card-clean>div{padding:clamp(26px,3vw,42px)}.insight-card-clean h3{margin:12px 0 16px;font:400 clamp(32px,3.4vw,50px)/.94 var(--font-heading,"Cormorant Garamond",Georgia,serif);letter-spacing:-.04em}.insight-card-clean p{margin:0 0 24px;color:var(--places-body-color,#5c574f);font:400 14px/1.65 var(--font-body,Montserrat,Arial,sans-serif)}
/* Images/Videos are actual media results, never image-cover entry cards. */
.places-country-results.is-media-only{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,30px)}
.places-media-result{min-width:0}.places-media-result>button{position:relative;display:block;width:100%;border:0;background:var(--places-panel-bg,#eee9df);padding:0;cursor:zoom-in}.places-media-result img,.places-media-result video{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:var(--places-panel-bg,#eee9df)}.places-media-result-play{position:absolute;left:50%;top:50%;display:grid;width:48px;height:48px;place-items:center;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(23,23,20,.5);color:#fff}.places-media-result footer{display:flex;justify-content:space-between;gap:12px;padding-top:9px}.places-media-result footer span{color:var(--places-accent,#9d4936);font:600 9px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase}.places-media-result footer small{color:var(--places-body-color,#5c574f);font:500 9px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);text-transform:uppercase}
.places-selection-empty{grid-column:1/-1;margin:40px 0;color:var(--places-body-color,#5c574f)}
/* In-place viewer shared by People/Hands/Seen Here/media-only results. */
html.places-viewer-open{overflow:hidden}.places-archive-viewer[hidden]{display:none!important}.places-archive-viewer{position:fixed;z-index:10000;inset:0;display:grid;grid-template-columns:70px minmax(0,1fr) 70px;grid-template-rows:minmax(0,1fr) auto;align-items:center;background:rgba(16,16,14,.96);color:#fff}.places-archive-viewer-stage{grid-column:2;grid-row:1;display:grid;height:100%;min-height:0;place-items:center;padding:34px 0}.places-archive-viewer-stage img,.places-archive-viewer-stage video{display:block;max-width:100%;max-height:calc(100vh - 120px);width:auto;height:auto;object-fit:contain}.places-archive-viewer-close{position:absolute;z-index:2;top:22px;right:24px;width:42px;height:42px;border:1px solid rgba(255,255,255,.34);border-radius:50%;background:transparent;color:#fff;font-size:28px;cursor:pointer}.places-archive-viewer-nav{grid-row:1;width:46px;height:46px;justify-self:center;border:1px solid rgba(255,255,255,.34);border-radius:50%;background:transparent;color:#fff;font-size:28px;cursor:pointer}.places-archive-viewer-nav.is-prev{grid-column:1}.places-archive-viewer-nav.is-next{grid-column:3}.places-archive-viewer-meta{grid-column:2;grid-row:2;display:flex;justify-content:space-between;gap:20px;padding:0 0 20px;font:600 9px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.13em;text-transform:uppercase}.places-archive-viewer-meta small{opacity:.65}
@media(max-width:900px){
  /* Mobile is intentionally not the desktop grid collapsed. */
  .places-map-section{grid-template-columns:1fr!important}.places-globe-intro{order:1!important}.places-globe-area{order:2!important}.places-country-browser{order:3!important}
  .places-selection-stage{padding:36px 18px 70px!important}.places-country-archive-v1495 .places-country-archive-head{display:block;margin-bottom:20px;padding-bottom:20px}.places-country-archive-v1495 .places-country-archive-head>p{margin:0 0 8px}.places-country-archive-v1495 .places-country-archive-head h2{font-size:clamp(56px,18vw,80px)}.places-country-archive-v1495 .places-country-archive-head>span{display:block;margin-top:10px;padding:0}
  .places-country-filters{gap:12px;margin-bottom:24px;padding-bottom:18px}.places-country-filter-row{display:block}.places-country-filter-row>span{display:block;margin-bottom:7px;padding:0}.places-country-filter-row>div{display:flex;flex-wrap:nowrap;gap:7px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.places-country-filter-row>div::-webkit-scrollbar{display:none}.places-country-filter-row button{flex:0 0 auto;min-height:38px;padding:9px 13px}
  .places-country-results.is-editorial,.places-country-results.is-media-only{display:block}.places-archive-card,.places-media-result{width:100%;margin:0 0 22px}.hands-card-clean,.seen-card-clean{grid-column:auto}.hands-card-clean-grid{display:block}.hands-card-clean .is-hands-ratio,.seen-card-clean .is-seen-ratio{aspect-ratio:auto;max-height:none}.hands-card-clean .is-hands-ratio img,.hands-card-clean .is-hands-ratio video,.seen-card-clean .is-seen-ratio img,.seen-card-clean .is-seen-ratio video{height:auto;max-height:76svh;object-fit:contain}.hands-card-clean-copy{padding:22px 18px 26px}.hands-card-clean-copy h3{font-size:40px}.people-card-clean{padding:0}.people-card-clean .is-people-ratio{aspect-ratio:auto!important}.people-card-clean .is-people-ratio img,.people-card-clean .is-people-ratio video{height:auto!important;object-fit:contain!important}.moment-card-clean,.moment-card-clean-inner{min-height:380px}.moment-card-clean blockquote{font-size:34px}.insight-card-clean h3{font-size:40px}.places-media-result img,.places-media-result video{aspect-ratio:auto;max-height:76svh;object-fit:contain}
  .places-archive-viewer{grid-template-columns:46px minmax(0,1fr) 46px}.places-archive-viewer-stage{padding:62px 0 20px}.places-archive-viewer-stage img,.places-archive-viewer-stage video{max-height:calc(100svh - 150px)}.places-archive-viewer-nav{width:38px;height:38px;font-size:24px}.places-archive-viewer-close{top:14px;right:14px}.places-archive-viewer-meta{padding:0 0 18px;display:block}.places-archive-viewer-meta small{display:block;margin-top:5px}
}

/* v14.92 candidate — desktop local-map canvas owns the complete map stage.
   Runtime pins the wrapper with inset:0; these rules only keep overlays readable. */
@media (min-width:921px){
  .places-globe-area.is-local-map{position:relative!important;overflow:hidden!important}
  .places-globe-area.is-local-map .places-map-instruction-below,
  .places-globe-area.is-local-map .places-map-attribution{position:absolute!important;z-index:12!important}
  .places-globe-area.is-local-map .places-map-instruction-below{left:50%!important;bottom:16px!important;transform:translateX(-50%)!important;margin:0!important}
  .places-globe-area.is-local-map .places-map-attribution{right:16px!important;bottom:10px!important}
}

/* v14.97 — Places country archive: grouped editorial sections, newest first.
   This block is the canonical archive presentation. It deliberately overrides
   the earlier v14.95/14.96 card experiments without touching the globe/map. */
@media (min-width: 761px){
  .places-selection-stage{padding:24px clamp(28px,5vw,82px) 76px!important;scroll-margin-top:calc(var(--site-header-height,90px) + 6px)!important}
}
.places-country-archive-v1497{width:100%;max-width:1500px;margin:0 auto}
.places-country-archive-top{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(520px,1.18fr);gap:clamp(28px,4vw,70px);align-items:end;padding-bottom:22px;border-bottom:1px solid rgba(23,23,20,.13)}
.places-country-title>p{margin:0 0 8px;color:var(--places-accent,#9d4936);font:600 9px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.15em;text-transform:uppercase}
.places-country-title h2{margin:0;font:400 clamp(58px,6.2vw,96px)/.88 var(--font-heading,"Cormorant Garamond",Georgia,serif);letter-spacing:-.05em}
.places-country-title>span{display:block;margin-top:10px;color:var(--places-body-color,#5c574f);font:400 12px/1.4 var(--font-body,Montserrat,Arial,sans-serif)}
.places-country-archive-v1497 .places-country-filters{display:grid;gap:7px;margin:0;padding:0;border:0}
.places-country-archive-v1497 .places-country-filter-row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:start}
.places-country-archive-v1497 .places-country-filter-row>span{padding-top:7px;font-size:8px}
.places-country-archive-v1497 .places-country-filter-row>div{display:flex;flex-wrap:wrap;gap:6px}
.places-country-archive-v1497 .places-country-filter-row button{min-height:28px;padding:6px 10px;font-size:9px}
.places-country-results.is-grouped{display:block;padding-top:26px}
.places-archive-section{margin:0 0 clamp(42px,5vw,72px)}
.places-archive-section>header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 18px;padding-bottom:10px;border-bottom:1px solid rgba(23,23,20,.13)}
.places-archive-section>header p{margin:0;color:var(--places-title-color,#171714);font:400 clamp(28px,3vw,44px)/.95 var(--font-heading,"Cormorant Garamond",Georgia,serif);letter-spacing:-.035em}
.places-archive-section>header span{color:var(--places-body-color,#5c574f);font:500 8px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.1em;text-transform:uppercase}
.places-archive-section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.3vw,34px);align-items:start}
.places-archive-section-hands .places-archive-section-grid{display:block}
.places-archive-card{min-width:0}

/* Media in Places is never forcibly cropped. Every photograph/video keeps its
   original proportions. Carousel slides overlap only so arrows can switch media. */
.places-country-archive-v1497 .places-archive-media{position:relative;display:grid!important;width:100%;overflow:hidden!important;background:transparent!important;border:0!important;padding:0!important}
.places-country-archive-v1497 .places-archive-slide{grid-area:1/1;display:none;width:100%;border:0;background:transparent;padding:0;cursor:zoom-in}
.places-country-archive-v1497 .places-archive-slide.is-active{display:block}
.places-country-archive-v1497 .places-archive-slide img,
.places-country-archive-v1497 .places-archive-slide video{display:block;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;background:transparent!important}
.places-country-archive-v1497 .places-card-nav{position:absolute;z-index:5;top:50%;width:38px;height:38px;transform:translateY(-50%);border:1px solid rgba(255,255,255,.62);border-radius:50%;background:rgba(21,21,18,.45);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.places-country-archive-v1497 .places-card-nav.is-prev{left:10px}.places-country-archive-v1497 .places-card-nav.is-next{right:10px}
.places-country-archive-v1497 .places-card-counter{position:absolute;z-index:5;left:10px;bottom:9px;padding:4px 7px;background:rgba(19,19,17,.52);color:#fff;font:600 8px/1 var(--font-ui,Montserrat,Arial,sans-serif)}
.places-country-archive-v1497 .places-card-dots{position:absolute;z-index:5;right:10px;bottom:12px;display:flex;gap:4px}.places-country-archive-v1497 .places-card-dots i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.5)}.places-country-archive-v1497 .places-card-dots i.is-active{background:#fff}
.places-country-archive-v1497 .places-archive-has-video{right:10px;top:10px;bottom:auto}
.places-card-type{position:absolute;z-index:6;left:10px;top:10px;padding:5px 7px;background:rgba(157,73,54,.92);color:#fff;font:600 8px/1 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase;pointer-events:none}
.places-card-place{display:block;margin-top:8px;color:var(--places-body-color,#5c574f);font:500 8px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.08em;text-transform:uppercase}

/* People: exactly photography-first; no background box or forced aspect ratio. */
.places-country-archive-v1497 .people-card-clean{position:relative;padding:0;background:transparent;border:0}
.places-country-archive-v1497 .people-card-clean .is-people-ratio{aspect-ratio:auto!important}

/* Seen Here: same respectful media treatment as People, with a tiny diagonal
   signature only. It does not impose a crop or artificial panel. */
.places-country-archive-v1497 .seen-card-clean{position:relative;grid-column:auto!important;padding:0!important;background:transparent}
.places-country-archive-v1497 .seen-card-clean .is-seen-ratio{aspect-ratio:auto!important;background:transparent!important}
.places-country-archive-v1497 .seen-card-corner{top:0;right:0;width:42px;height:42px;background:linear-gradient(135deg,transparent 0 48%,var(--places-accent,#9d4936) 49% 65%,#d5a272 66% 80%,transparent 81%)}
.places-country-archive-v1497 .seen-card-clean h3{margin:10px 0 0;font:400 24px/1 var(--font-heading,"Cormorant Garamond",Georgia,serif)}

/* Hands: one compact editorial row: media beside text. The row is intentionally
   much shallower than the previous hero-sized experiment. */
.places-country-archive-v1497 .hands-card-clean{grid-column:auto!important;border-top:1px solid var(--places-accent,#9d4936);background:transparent}
.places-country-archive-v1497 .hands-card-clean-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:0;align-items:center;max-width:1120px}
.places-country-archive-v1497 .hands-card-clean .is-hands-ratio{aspect-ratio:auto!important;background:transparent!important}
.places-country-archive-v1497 .hands-card-clean-copy{padding:clamp(24px,3vw,42px);background:color-mix(in srgb,var(--places-panel-bg,#eee9df) 52%,transparent)}
.places-country-archive-v1497 .hands-card-clean-copy h3{margin:10px 0 14px;font:400 clamp(34px,3.3vw,50px)/.92 var(--font-heading,"Cormorant Garamond",Georgia,serif);letter-spacing:-.035em}
.places-country-archive-v1497 .hands-card-clean-copy p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;margin:0 0 18px;color:var(--places-body-color,#5c574f);font:400 14px/1.65 var(--font-body,Montserrat,Arial,sans-serif)}

/* Moments: warm paper rather than black. Smaller, fully justified quotation. */
.places-country-archive-v1497 .moment-card-clean{min-height:390px;border:1px solid rgba(93,70,54,.16);background:#d8c9b8;color:#28231f}
.places-country-archive-v1497 .moment-card-clean-inner{min-height:390px;padding:30px 28px;display:flex;flex-direction:column}
.places-country-archive-v1497 .moment-card-clean-inner>span{color:var(--places-accent,#9d4936)}
.places-country-archive-v1497 .moment-card-clean blockquote{margin:auto 0 22px;font:400 clamp(20px,1.65vw,27px)/1.38 var(--font-heading,"Cormorant Garamond",Georgia,serif);letter-spacing:-.01em;text-align:justify;text-justify:inter-word}
.places-country-archive-v1497 .moment-card-clean blockquote.is-clamped{-webkit-line-clamp:10}
.places-country-archive-v1497 .moment-card-clean small{color:#5b5047;opacity:1}

/* Insights remain restrained and editorial. */
.places-country-archive-v1497 .insight-card-clean{background:color-mix(in srgb,var(--places-panel-bg,#eee9df) 70%,#fff)}
.places-country-archive-v1497 .insight-card-clean .is-insight-ratio{aspect-ratio:auto!important}
.places-country-archive-v1497 .insight-card-clean>div{padding:24px}.places-country-archive-v1497 .insight-card-clean h3{font-size:34px}

@media(max-width:900px){
  .places-country-archive-top{grid-template-columns:1fr;gap:18px;align-items:start}
  .places-country-archive-v1497 .places-country-filters{padding-top:4px}
  .places-archive-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .places-country-archive-v1497 .hands-card-clean-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px) {
  .places-selection-stage{padding:24px 18px 60px!important}
  .places-country-archive-top{display:block;padding-bottom:16px}
  .places-country-title h2{font-size:clamp(54px,17vw,76px)}
  .places-country-title>span{margin-bottom:14px}
  .places-country-archive-v1497 .places-country-filters{display:block;overflow:visible}
  .places-country-archive-v1497 .places-country-filter-row{display:block;margin-top:10px}
  .places-country-archive-v1497 .places-country-filter-row>span{display:block;padding:0 0 6px}
  .places-country-archive-v1497 .places-country-filter-row>div{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:7px;padding-bottom:3px;scrollbar-width:none}.places-country-archive-v1497 .places-country-filter-row>div::-webkit-scrollbar{display:none}.places-country-archive-v1497 .places-country-filter-row button{flex:0 0 auto}
  .places-country-results.is-grouped{padding-top:20px}
  .places-archive-section{margin-bottom:42px}.places-archive-section>header p{font-size:34px}
  .places-archive-section-grid{display:block}.places-archive-card{margin-bottom:22px}
  .places-country-archive-v1497 .hands-card-clean-grid{display:block;max-width:none}.places-country-archive-v1497 .hands-card-clean-copy{padding:22px 18px 25px}.places-country-archive-v1497 .hands-card-clean-copy h3{font-size:38px}
  .places-country-archive-v1497 .moment-card-clean,.places-country-archive-v1497 .moment-card-clean-inner{min-height:360px}.places-country-archive-v1497 .moment-card-clean blockquote{font-size:23px;line-height:1.4}
  .places-country-archive-v1497 .places-card-nav{width:36px;height:36px}
}

/* v14.98 — Places archive header/filter simplification.
   Country title starts the archive; compact popover filters live at the far right.
   Section hierarchy is separated primarily by whitespace, not repeated rules. */
@media (min-width:921px){
  .places-selection-stage{
    padding-top:10px!important;
    scroll-margin-top:0!important;
    border-top:0!important;
  }
  .places-country-archive-v1498 .places-country-archive-top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:end!important;
    gap:clamp(34px,5vw,90px)!important;
    padding:18px 0 22px!important;
    margin:0 0 30px!important;
    border-bottom:1px solid rgba(23,23,20,.10)!important;
  }
  .places-country-archive-v1498 .places-country-title p{
    margin:0 0 7px!important;
  }
  .places-country-archive-v1498 .places-country-title h2{
    margin:0!important;
    font-size:clamp(68px,7.2vw,108px)!important;
    line-height:.86!important;
  }
  .places-country-filters-compact{
    display:flex!important;
    justify-content:flex-end!important;
    align-items:flex-end!important;
    gap:9px!important;
    padding:0 0 3px!important;
    min-width:0;
  }
  .places-filter-popover{position:relative;margin:0;padding:0;border:0}
  .places-filter-popover>summary{
    list-style:none;display:flex;align-items:center;gap:7px;min-height:34px;
    padding:7px 10px;border:1px solid rgba(23,23,20,.16);border-radius:2px;
    background:transparent;color:var(--places-title-color,#171714);cursor:pointer;white-space:nowrap;
  }
  .places-filter-popover>summary::-webkit-details-marker{display:none}
  .places-filter-popover>summary span{font:600 7px/1 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--places-accent,#9d4936)}
  .places-filter-popover>summary b{font:500 10px/1.1 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.01em}
  .places-filter-popover>summary i{font:400 12px/1 Arial,sans-serif;opacity:.55;font-style:normal}
  .places-filter-popover[open]>summary{border-color:rgba(23,23,20,.32);background:rgba(238,233,223,.55)}
  .places-filter-menu{
    position:absolute;z-index:40;right:0;top:calc(100% + 7px);min-width:168px;padding:7px;
    border:1px solid rgba(23,23,20,.15);background:var(--places-bg,#f4f1ea);box-shadow:0 12px 28px rgba(23,23,20,.10)
  }
  .places-filter-menu button{
    display:block;width:100%;min-height:32px;margin:0;padding:8px 9px;border:0!important;border-radius:0!important;
    background:transparent!important;color:var(--places-title-color,#171714)!important;text-align:left;
    font:500 10px/1.2 var(--font-ui,Montserrat,Arial,sans-serif)!important;cursor:pointer
  }
  .places-filter-menu button:hover,.places-filter-menu button.is-active{background:rgba(23,23,20,.07)!important;color:var(--places-accent,#9d4936)!important}

  .places-country-archive-v1498 .places-archive-section{margin:0 0 clamp(46px,5vw,76px)!important}
  .places-country-archive-v1498 .places-archive-section>header{
    display:block!important;margin:0 0 18px!important;padding:0!important;border:0!important
  }
  .places-country-archive-v1498 .places-archive-section>header p{
    margin:0!important;font-size:clamp(30px,3vw,43px)!important;line-height:.95!important
  }
  .places-country-archive-v1498 .hands-card-clean{border-top:0!important}
}

@media (max-width:920px){
  .places-country-archive-v1498 .places-country-archive-top{border-bottom:1px solid rgba(23,23,20,.10)!important}
  .places-country-filters-compact{display:flex!important;gap:7px!important;overflow-x:auto!important;padding:4px 0 2px!important;scrollbar-width:none}
  .places-country-filters-compact::-webkit-scrollbar{display:none}
  .places-filter-popover{position:relative;flex:0 0 auto}
  .places-filter-popover>summary{list-style:none;display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid rgba(23,23,20,.16);white-space:nowrap}
  .places-filter-popover>summary::-webkit-details-marker{display:none}
  .places-filter-popover>summary span{font:600 7px/1 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.12em;text-transform:uppercase;color:var(--places-accent,#9d4936)}
  .places-filter-popover>summary b{font:500 10px/1 var(--font-ui,Montserrat,Arial,sans-serif)}
  .places-filter-popover>summary i{font-style:normal;opacity:.55}
  .places-filter-menu{position:absolute;z-index:50;left:0;top:calc(100% + 5px);min-width:160px;padding:6px;border:1px solid rgba(23,23,20,.16);background:var(--places-bg,#f4f1ea);box-shadow:0 10px 24px rgba(23,23,20,.10)}
  .places-filter-menu button{display:block;width:100%;padding:9px;border:0;background:transparent;text-align:left;font:500 10px/1.2 var(--font-ui,Montserrat,Arial,sans-serif)}
  .places-filter-menu button.is-active{color:var(--places-accent,#9d4936)}
  .places-country-archive-v1498 .places-archive-section>header{border:0!important;padding-bottom:0!important}
}

/* v14.99 — Places archive polish
   - archive opens at the country title
   - filters use only their current value in the closed state
   - no visible category section headings; cards identify themselves with type tags
   - clear breathing room between repeated entries
   - Moments stay warm/editorial with justified copy and Read more
*/
@media (min-width:921px){
  .places-country-archive-v1498 .places-country-archive-top{
    padding-top:26px!important;
    scroll-margin-top:calc(var(--site-header-height, 0px) + 22px);
  }
  .places-country-filters-compact{gap:12px!important;padding-bottom:6px!important}
  .places-filter-popover>summary{
    min-height:36px!important;
    padding:8px 12px!important;
    gap:10px!important;
    border-color:rgba(23,23,20,.13)!important;
    background:transparent!important;
  }
  .places-filter-popover>summary b{
    font:500 10px/1.1 var(--font-ui,Montserrat,Arial,sans-serif)!important;
    letter-spacing:.01em!important;
  }
  .places-filter-popover>summary i{opacity:.42!important}
  .places-filter-menu small{
    display:block;padding:6px 9px 7px;color:var(--places-accent,#9d4936);
    font:600 7px/1 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.14em;text-transform:uppercase
  }
  .places-country-results.is-grouped{padding-top:18px!important}
  .places-country-archive-v1498 .places-archive-section{
    margin:0 0 clamp(34px,4vw,58px)!important;
  }
  .places-country-archive-v1498 .places-archive-section>header{display:none!important}
  .places-country-archive-v1498 .places-archive-section-hands .places-archive-card + .places-archive-card{
    margin-top:clamp(58px,5vw,82px)!important;
  }
  .places-country-archive-v1498 .places-archive-section-grid{
    row-gap:clamp(30px,3vw,46px)!important;
  }
}

/* Moment styling: softer than black, smaller justified text, expandable in place. */
.places-country-archive-v1498 .moment-card-clean{
  background:#ddd2c4!important;
  color:#29251f!important;
  border:1px solid rgba(70,58,47,.10)!important;
}
.places-country-archive-v1498 .moment-card-clean-inner>span{color:var(--places-accent,#9d4936)!important}
.places-country-archive-v1498 .moment-card-clean blockquote{
  text-align:justify!important;
  text-justify:inter-word!important;
  font-size:clamp(18px,1.45vw,24px)!important;
  line-height:1.48!important;
}
.places-country-archive-v1498 .moment-card-clean button[data-place-moment-more]{
  color:var(--places-accent,#9d4936)!important;
}

@media (max-width:920px){
  .places-filter-popover>summary span{display:none!important}
  .places-filter-popover>summary{gap:8px!important;padding:8px 10px!important}
  .places-filter-menu small{display:block;padding:6px 9px;color:var(--places-accent,#9d4936);font:600 7px/1 var(--font-ui,Montserrat,Arial,sans-serif);letter-spacing:.13em;text-transform:uppercase}
  .places-country-archive-v1498 .places-archive-section>header{display:none!important}
  .places-country-archive-v1498 .places-archive-section{margin-bottom:32px!important}
  .places-country-archive-v1498 .places-archive-card{margin-bottom:30px!important}
  .places-country-archive-v1498 .moment-card-clean blockquote{font-size:19px!important;line-height:1.5!important}
}

/* v15.00 — Places first-screen composition + progressive metadata.
   Keeps the v14.92 local-map geometry intact. */
@media (min-width:921px){
  .places-selection-stage{padding-top:0!important}
  .places-country-archive-v1498 .places-country-archive-top{
    min-height:150px!important;
    padding:18px 0 20px!important;
    margin-bottom:22px!important;
    align-items:end!important;
  }
  .places-country-archive-v1498 .places-country-title h2{
    font-size:clamp(64px,6.4vw,98px)!important;
  }
  .places-country-results.is-grouped{padding-top:8px!important}
  .places-country-archive-v1498 .places-archive-section{margin-bottom:30px!important}

  /* Hands should use the full archive width, show the complete copy, and still
     leave enough vertical room for the first entry to be visible on a laptop. */
  .places-country-archive-v1498 .hands-card-clean-grid{
    width:100%!important;max-width:none!important;
    grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr)!important;
    align-items:center!important;
  }
  .places-country-archive-v1498 .hands-card-clean .places-archive-media{
    max-height:56vh!important;
  }
  .places-country-archive-v1498 .hands-card-clean .places-archive-slide img,
  .places-country-archive-v1498 .hands-card-clean .places-archive-slide video{
    max-height:56vh!important;width:100%!important;height:auto!important;object-fit:contain!important;
  }
  .places-country-archive-v1498 .hands-card-clean-copy{padding:clamp(24px,2.7vw,40px)!important}
  .places-country-archive-v1498 .hands-card-clean-copy h3{font-size:clamp(34px,3vw,48px)!important}
  .places-country-archive-v1498 .hands-card-clean-copy p{
    display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;
    margin:0 0 18px!important;font-size:14px!important;line-height:1.58!important;
  }
}

/* Progressive context: metadata is intentionally sparse. JavaScript now emits
   a type tag only for the first visible item of each type, and a place label only
   once per place while the All places filter is active. */
.places-country-archive-v1498 .places-card-place{margin-top:7px!important;opacity:.82}

@media (max-width:920px){
  .places-country-archive-v1498 .hands-card-clean-copy p{
    display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;
  }
}

/* v15.02 — Seen Here becomes an editorial observation type rather than an oversized media dump.
   Videos lazy-load in JS; portrait video is capped; one-entry Seen Here uses a balanced media+article layout.
   People-derived videos keep a People-style hover treatment while remaining discoverable under Seen Here. */
.places-country-archive-v1498 .seen-card-clean{
  position:relative!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}
.places-country-archive-v1498 .seen-card-clean .seen-card-corner{
  width:22px!important;height:22px!important;right:8px!important;top:8px!important;
  opacity:.65!important;
}
.places-country-archive-v1498 .seen-card-clean .places-archive-media{
  display:grid!important;
  place-items:center!important;
  background:rgba(238,233,223,.48)!important;
  overflow:hidden!important;
}
.places-country-archive-v1498 .seen-card-clean .places-archive-slide{
  width:100%!important;
  background:transparent!important;
}
.places-country-archive-v1498 .seen-card-clean .places-archive-slide img{
  width:100%!important;
  height:auto!important;
  max-height:54vh!important;
  object-fit:contain!important;
  margin:auto!important;
}
.places-country-archive-v1498 .seen-card-clean .places-archive-slide video{
  display:block!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:52vh!important;
  object-fit:contain!important;
  margin:auto!important;
  background:#161613!important;
}
.places-country-archive-v1498 .seen-card-clean h3{
  margin:12px 0 7px!important;
  font:400 clamp(24px,2vw,34px)/1 var(--font-heading,"Cormorant Garamond",Georgia,serif)!important;
  letter-spacing:-.025em!important;
}
.places-country-archive-v1498 .seen-card-excerpt{
  margin-top:10px!important;
  max-width:46ch!important;
  color:var(--places-body-color,#5c574f)!important;
  font:400 13px/1.58 var(--places-body-font,var(--sans))!important;
}
.places-country-archive-v1498 .seen-card-excerpt p{margin:0 0 .9em!important}

/* One Seen Here entry: use the page width like Hands, but keep a lighter observational identity. */
@media (min-width:921px){
  .places-country-archive-v1498 .places-archive-section-seen-here.is-single-seen .places-archive-section-grid{
    display:block!important;
  }
  .places-country-archive-v1498 .seen-card-editorial-single{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  .places-country-archive-v1498 .seen-card-editorial-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1.02fr) minmax(340px,.78fr)!important;
    gap:0!important;
    align-items:stretch!important;
    width:100%!important;
  }
  .places-country-archive-v1498 .seen-card-editorial-single .places-archive-media{
    min-height:360px!important;
    max-height:56vh!important;
    background:rgba(238,233,223,.42)!important;
  }
  .places-country-archive-v1498 .seen-card-editorial-single .places-archive-slide img,
  .places-country-archive-v1498 .seen-card-editorial-single .places-archive-slide video{
    max-height:56vh!important;
  }
  .places-country-archive-v1498 .seen-card-editorial-copy{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    min-width:0!important;
    padding:clamp(30px,3.5vw,54px)!important;
    background:rgba(238,233,223,.62)!important;
    border-left:2px solid color-mix(in srgb,var(--places-accent,#9d4936) 62%, transparent)!important;
  }
  .places-country-archive-v1498 .seen-card-editorial-copy h3{
    margin:10px 0 18px!important;
    font-size:clamp(36px,3.2vw,52px)!important;
  }
  .places-country-archive-v1498 .seen-card-article{
    color:var(--places-body-color,#5c574f)!important;
    font:400 14px/1.68 var(--places-body-font,var(--sans))!important;
    text-align:left!important;
  }
  .places-country-archive-v1498 .seen-card-article p{margin:0 0 1em!important}
  .places-country-archive-v1498 .seen-card-editorial-single.is-media-only{
    max-width:720px!important;
  }
  .places-country-archive-v1498 .seen-card-editorial-single.is-media-only .seen-card-editorial-grid{
    display:block!important;
  }
  .places-country-archive-v1498 .seen-card-editorial-single.is-media-only .places-archive-media{
    min-height:0!important;
    max-height:58vh!important;
  }
}

/* People videos surfaced through Seen Here: still look/behave like People media. */
.places-country-archive-v1498 .seen-people-video-card{
  background:transparent!important;
}
.places-country-archive-v1498 .seen-people-video-media{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:rgba(238,233,223,.35)!important;
  cursor:zoom-in!important;
}
.places-country-archive-v1498 .seen-people-video-media .seen-people-video-poster,
.places-country-archive-v1498 .seen-people-video-media .seen-people-hover-video{
  grid-area:1/1!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:52vh!important;
  object-fit:contain!important;
}
.places-country-archive-v1498 .seen-people-hover-video{
  opacity:0!important;
  background:#111!important;
  transition:opacity .18s ease!important;
}
.places-country-archive-v1498 .seen-people-video-card.is-video-playing .seen-people-hover-video{opacity:1!important}
.places-country-archive-v1498 .seen-people-video-card.is-video-playing .seen-people-video-poster{opacity:0!important}
.places-country-archive-v1498 .seen-people-play{
  position:absolute!important;z-index:4!important;right:12px!important;bottom:12px!important;
  width:34px!important;height:34px!important;display:grid!important;place-items:center!important;
  border:1px solid rgba(255,255,255,.62)!important;border-radius:50%!important;
  background:rgba(20,20,18,.44)!important;color:#fff!important;font-size:11px!important;
}

@media (max-width:920px){
  .places-country-archive-v1498 .seen-card-clean .places-archive-slide img,
  .places-country-archive-v1498 .seen-card-clean .places-archive-slide video,
  .places-country-archive-v1498 .seen-people-video-media .seen-people-video-poster,
  .places-country-archive-v1498 .seen-people-video-media .seen-people-hover-video{
    max-height:62svh!important;
  }
  .places-country-archive-v1498 .seen-card-editorial-grid{display:block!important}
  .places-country-archive-v1498 .seen-card-editorial-copy{
    padding:22px 18px 26px!important;
    background:rgba(238,233,223,.58)!important;
    border-left:2px solid color-mix(in srgb,var(--places-accent,#9d4936) 55%, transparent)!important;
  }
  .places-country-archive-v1498 .seen-card-editorial-copy h3{font-size:34px!important;margin:8px 0 14px!important}
  .places-country-archive-v1498 .seen-card-article{font-size:14px!important;line-height:1.62!important}
}

/* v15.03 — Places viewer protection + Seen Here editorial rendering */
.places-secure-video-shell{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;min-height:0}
.places-secure-video-shell>video{display:block;max-width:100%;max-height:calc(100vh - 150px);width:auto;height:auto;object-fit:contain;background:#000}
.places-secure-video-controls{position:absolute;left:18px;right:18px;bottom:14px;display:grid;grid-template-columns:auto minmax(90px,1fr) auto auto;gap:10px;align-items:center;padding:9px 11px;background:rgba(15,15,14,.72);backdrop-filter:blur(7px);color:#fff;font:12px/1.2 var(--places-body-font,Arial,sans-serif)}
.places-secure-video-controls button{appearance:none;border:0;background:transparent;color:inherit;padding:4px 6px;cursor:pointer;font:inherit}
.places-secure-video-controls input[type=range]{width:100%;margin:0;accent-color:#f2eee5}
.places-secure-video-controls [data-secure-time]{white-space:nowrap;opacity:.86;font-variant-numeric:tabular-nums}
.places-archive-viewer-stage img,.places-archive-viewer-stage video{-webkit-user-drag:none;user-select:none}

/* Any manually-authored Seen Here entry with title/body is editorial, regardless of how many other Seen Here entries exist. */
@media (min-width: 981px){
  .places-country-archive-v1498 .seen-card-editorial-single{grid-column:1/-1;width:100%;max-width:none}
  .places-country-archive-v1498 .seen-card-editorial-single .seen-card-editorial-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);align-items:center;gap:clamp(34px,5vw,86px);width:100%}
  .places-country-archive-v1498 .seen-card-editorial-single .places-archive-media{max-height:min(64vh,620px);min-height:0}
  .places-country-archive-v1498 .seen-card-editorial-single .places-archive-media img,
  .places-country-archive-v1498 .seen-card-editorial-single .places-archive-media video{width:100%;height:100%;max-height:min(64vh,620px);object-fit:contain}
  .places-country-archive-v1498 .seen-card-editorial-copy{align-self:center;max-width:620px}
  .places-country-archive-v1498 .seen-card-article{max-height:none;overflow:visible}
}
@media (max-width:980px){
  .places-secure-video-controls{left:8px;right:8px;bottom:8px;grid-template-columns:auto minmax(60px,1fr) auto}
  .places-secure-video-controls [data-secure-time]{display:none}
}

/* v15.04 — Seen Here responsive composition: 1 feature, 2 pair, 3+ collection.
   A title alone no longer forces an article split; substantial body copy does. */
.places-country-archive-v1498 .places-archive-section-seen-here .places-archive-section-grid{
  width:100%!important;
  align-items:start!important;
}
.places-country-archive-v1498 .seen-card-clean{
  min-width:0!important;
  overflow:visible!important;
}
.places-country-archive-v1498 .seen-card-clean .places-archive-media{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
}
.places-country-archive-v1498 .seen-card-clean .places-card-counter,
.places-country-archive-v1498 .seen-card-clean .places-card-dots{
  bottom:10px!important;
  top:auto!important;
  z-index:6!important;
}
.places-country-archive-v1498 .seen-card-clean .places-card-counter{left:12px!important}
.places-country-archive-v1498 .seen-card-clean .places-card-dots{right:12px!important;left:auto!important;max-width:70%!important}
.places-country-archive-v1498 .seen-card-compact-copy{padding:14px 2px 2px!important;max-width:58ch!important}
.places-country-archive-v1498 .seen-card-compact-copy h3{margin:0 0 8px!important;font:400 clamp(24px,2vw,34px)/1.02 var(--font-heading,"Cormorant Garamond",Georgia,serif)!important}
.places-country-archive-v1498 .seen-card-caption{margin:0!important;font:400 13px/1.55 var(--places-body-font,var(--sans))!important;color:var(--places-body-color,#5c574f)!important}
.places-country-archive-v1498 .seen-card-compact-article{font:400 13px/1.58 var(--places-body-font,var(--sans))!important;color:var(--places-body-color,#5c574f)!important}
.places-country-archive-v1498 .seen-card-compact-article.is-clamped{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important}
.places-country-archive-v1498 .seen-card-more{margin-top:8px!important;border:0!important;border-bottom:1px solid currentColor!important;background:transparent!important;padding:0 0 2px!important;font:600 10px/1.2 var(--places-body-font,var(--sans))!important;letter-spacing:.08em!important;text-transform:uppercase!important;cursor:pointer!important;color:inherit!important}

@media (min-width:981px){
  /* One entry = feature. */
  .places-country-archive-v1498 .places-archive-section-seen-here.is-seen-one .places-archive-section-grid{display:block!important}
  .places-country-archive-v1498 .seen-card-mode-one{width:100%!important;max-width:none!important}
  .places-country-archive-v1498 .seen-card-mode-one .seen-card-editorial-grid{display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr)!important;gap:clamp(32px,4vw,72px)!important;align-items:center!important;width:100%!important}
  .places-country-archive-v1498 .seen-card-mode-one:not(.has-article) .seen-card-editorial-grid{grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr)!important}
  .places-country-archive-v1498 .seen-card-mode-one .places-archive-media{max-height:min(60vh,560px)!important;background:transparent!important}
  .places-country-archive-v1498 .seen-card-mode-one .places-archive-slide img,
  .places-country-archive-v1498 .seen-card-mode-one .places-archive-slide video{max-height:min(60vh,560px)!important;width:100%!important;height:auto!important;object-fit:contain!important}
  .places-country-archive-v1498 .seen-card-mode-one .seen-card-editorial-copy{padding:0!important;background:transparent!important;border:0!important;max-width:620px!important}
  .places-country-archive-v1498 .seen-card-mode-one .seen-card-editorial-copy h3{font-size:clamp(34px,3vw,50px)!important;margin:8px 0 18px!important}
  .places-country-archive-v1498 .seen-card-mode-one .seen-card-article{font-size:14px!important;line-height:1.68!important;text-align:left!important}

  /* Two entries = balanced visual pair, no nested editorial split. */
  .places-country-archive-v1498 .places-archive-section-seen-here.is-seen-two .places-archive-section-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(28px,3.2vw,54px)!important}
  .places-country-archive-v1498 .seen-card-mode-two{grid-column:auto!important;width:100%!important;max-width:none!important}
  .places-country-archive-v1498 .seen-card-mode-two .places-archive-media{min-height:0!important;max-height:48vh!important;background:rgba(238,233,223,.3)!important}
  .places-country-archive-v1498 .seen-card-mode-two .places-archive-slide img,
  .places-country-archive-v1498 .seen-card-mode-two .places-archive-slide video{width:100%!important;height:auto!important;max-height:48vh!important;object-fit:contain!important;margin:auto!important}

  /* Three or more = compact collection. */
  .places-country-archive-v1498 .places-archive-section-seen-here.is-seen-many .places-archive-section-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(22px,2.2vw,38px)!important}
  .places-country-archive-v1498 .seen-card-mode-many{grid-column:auto!important;width:100%!important;max-width:none!important}
  .places-country-archive-v1498 .seen-card-mode-many .places-archive-media{min-height:0!important;max-height:38vh!important;background:rgba(238,233,223,.25)!important}
  .places-country-archive-v1498 .seen-card-mode-many .places-archive-slide img,
  .places-country-archive-v1498 .seen-card-mode-many .places-archive-slide video{width:100%!important;height:auto!important;max-height:38vh!important;object-fit:contain!important;margin:auto!important}
}

@media (min-width:701px) and (max-width:980px){
  .places-country-archive-v1498 .places-archive-section-seen-here .places-archive-section-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}
  .places-country-archive-v1498 .places-archive-section-seen-here.is-seen-one .places-archive-section-grid{display:block!important}
  .places-country-archive-v1498 .seen-card-mode-one .seen-card-editorial-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:24px!important;align-items:center!important}
  .places-country-archive-v1498 .seen-card-mode-one .seen-card-editorial-copy{padding:0!important;background:transparent!important;border:0!important}
}

@media (max-width:700px){
  .places-country-archive-v1498 .places-archive-section-seen-here .places-archive-section-grid{display:block!important}
  .places-country-archive-v1498 .seen-card-clean{margin-bottom:28px!important}
  .places-country-archive-v1498 .seen-card-editorial-grid{display:block!important}
  .places-country-archive-v1498 .seen-card-editorial-copy{padding:16px 0 0!important;background:transparent!important;border:0!important}
  .places-country-archive-v1498 .seen-card-clean .places-archive-slide img,
  .places-country-archive-v1498 .seen-card-clean .places-archive-slide video{max-height:58svh!important;object-fit:contain!important}
}

/* v15.05 — Places archive rhythm
   - feature/editorial entries use the full row
   - Hands + single Seen Here editorial: copy left, media right on desktop
   - People/Moments/Insights share one responsive mixed grid
   - chapter headings restore clear transitions without divider lines
   - carousel dots stay inside media and are omitted in JS for galleries > 6 items
*/
.places-country-archive-v1498 .places-archive-chapter{
  display:block!important;
  margin:0 0 clamp(18px,2vw,28px)!important;
  padding:0!important;
  border:0!important;
}
.places-country-archive-v1498 .places-archive-chapter h3{
  margin:0!important;
  color:var(--places-title-color,#171714)!important;
  font:400 clamp(34px,3vw,48px)/1 var(--font-heading,"Cormorant Garamond",Georgia,serif)!important;
  letter-spacing:-.025em!important;
}
.places-country-archive-v1498 .places-archive-section{
  margin:0 0 clamp(56px,6vw,92px)!important;
}
.places-country-archive-v1498 .places-archive-section:last-child{margin-bottom:0!important}

/* Mixed standard entries: three across desktop, two tablet, one mobile. */
@media (min-width:981px){
  .places-country-archive-v1498 .places-archive-section-mixed .places-archive-section-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:clamp(28px,2.6vw,44px)!important;
    align-items:start!important;
  }
  .places-country-archive-v1498 .places-archive-section-mixed .places-archive-card{
    grid-column:auto!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
}
@media (min-width:701px) and (max-width:980px){
  .places-country-archive-v1498 .places-archive-section-mixed .places-archive-section-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:26px!important;
  }
}
@media (max-width:700px){
  .places-country-archive-v1498 .places-archive-section-mixed .places-archive-section-grid{display:block!important}
  .places-country-archive-v1498 .places-archive-section-mixed .places-archive-card{margin-bottom:28px!important}
  .places-country-archive-v1498 .places-archive-chapter{margin-bottom:18px!important}
  .places-country-archive-v1498 .places-archive-chapter h3{font-size:34px!important}
}

/* Hands feature: copy left, media right on desktop. */
@media (min-width:981px){
  .places-country-archive-v1498 .hands-card-clean-grid{
    grid-template-columns:minmax(340px,.88fr) minmax(0,1.12fr)!important;
    column-gap:clamp(34px,4.2vw,72px)!important;
    align-items:center!important;
  }
  .places-country-archive-v1498 .hands-card-clean-copy{
    grid-column:1!important;
    grid-row:1!important;
    padding:clamp(26px,3vw,46px)!important;
  }
  .places-country-archive-v1498 .hands-card-clean .places-archive-media{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    max-height:58vh!important;
  }
  .places-country-archive-v1498 .hands-card-clean .places-archive-slide img,
  .places-country-archive-v1498 .hands-card-clean .places-archive-slide video{
    width:100%!important;
    height:auto!important;
    max-height:58vh!important;
    object-fit:contain!important;
  }
}

/* One Seen Here feature with writing: same editorial balance, but its own lighter treatment. */
@media (min-width:981px){
  .places-country-archive-v1498 .places-archive-section-seen-here.is-seen-one .seen-card-mode-one .seen-card-editorial-grid{
    grid-template-columns:minmax(340px,.88fr) minmax(0,1.12fr)!important;
    gap:clamp(34px,4.2vw,72px)!important;
    align-items:center!important;
  }
  .places-country-archive-v1498 .places-archive-section-seen-here.is-seen-one .seen-card-mode-one .seen-card-editorial-copy{
    grid-column:1!important;
    grid-row:1!important;
    padding:clamp(24px,2.8vw,44px)!important;
    background:rgba(238,233,223,.46)!important;
  }
  .places-country-archive-v1498 .places-archive-section-seen-here.is-seen-one .seen-card-mode-one .places-archive-media{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    max-height:58vh!important;
  }
}

/* On mobile the photograph/video introduces the story first. */
@media (max-width:980px){
  .places-country-archive-v1498 .hands-card-clean-grid,
  .places-country-archive-v1498 .seen-card-editorial-grid{display:flex!important;flex-direction:column!important}
  .places-country-archive-v1498 .hands-card-clean .places-archive-media,
  .places-country-archive-v1498 .seen-card-editorial-grid .places-archive-media{order:1!important}
  .places-country-archive-v1498 .hands-card-clean-copy,
  .places-country-archive-v1498 .seen-card-editorial-copy{order:2!important}
}

/* Keep carousel UI inside the image/video frame. Long galleries use counter + arrows only. */
.places-country-archive-v1498 .places-archive-media{position:relative!important;overflow:hidden!important}
.places-country-archive-v1498 .places-card-counter{
  left:10px!important;right:auto!important;bottom:10px!important;top:auto!important;
  max-width:calc(100% - 20px)!important;
}
.places-country-archive-v1498 .places-card-dots{
  left:auto!important;right:10px!important;bottom:12px!important;top:auto!important;
  max-width:calc(100% - 86px)!important;overflow:hidden!important;
}
.places-country-archive-v1498 .places-card-dots i{flex:0 0 auto!important}

/* Editorial feature rows should not float in a narrow centered column. */
.places-country-archive-v1498 .hands-card-clean,
.places-country-archive-v1498 .seen-card-mode-one{
  width:100%!important;max-width:none!important;margin-inline:0!important;
}
/* Specificity override for earlier hidden section headers. */
.places-country-archive-v1498 .places-archive-section > header.places-archive-chapter{display:block!important;border:0!important;padding:0!important}

/* v15.06 — Places clarity + mobile simplification.
   - A single Hands entry does not get a redundant chapter headline plus HANDS tag.
   - Small People cards stay image-led but now show their title.
   - Mobile filters are a compact, non-clipping grid rather than an overflow strip.
   - Mobile archive is one calm column; feature media leads, copy follows. */
.places-country-archive-v1498 .people-card-clean-title{
  margin:12px 0 0!important;
  color:var(--places-title-color,#171714)!important;
  font:400 clamp(24px,2vw,31px)/1.02 var(--font-heading,"Cormorant Garamond",Georgia,serif)!important;
  letter-spacing:-.025em!important;
}

/* When there is only one Hands feature, one identifier is enough. */
.places-country-archive-v1498 .places-archive-section-hands.is-single-entry{
  margin-top:clamp(14px,2vw,28px)!important;
}
@media (min-width:981px){
  .places-country-archive-v1498 .places-archive-section-hands.is-single-entry .hands-card-clean-grid{
    grid-template-columns:minmax(320px,.86fr) minmax(0,1.14fr)!important;
    column-gap:clamp(30px,3.8vw,62px)!important;
    align-items:center!important;
  }
  .places-country-archive-v1498 .places-archive-section-hands.is-single-entry .hands-card-clean-copy{
    padding:clamp(24px,2.6vw,38px)!important;
  }
}

@media (max-width:920px){
  /* Country title, then one compact filter row. No sideways-scrolling container
     that can clip the dropdown menus. */
  .places-country-archive-v1498 .places-country-archive-top{
    display:block!important;
    min-height:0!important;
    padding:18px 0 18px!important;
    margin-bottom:18px!important;
  }
  .places-country-archive-v1498 .places-country-title h2{
    font-size:clamp(54px,15vw,76px)!important;
    line-height:.9!important;
  }
  .places-country-filters-compact{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(86px,1fr))!important;
    gap:6px!important;
    width:100%!important;
    margin-top:18px!important;
    padding:0!important;
    overflow:visible!important;
  }
  .places-filter-popover{min-width:0!important;width:100%!important}
  .places-filter-popover>summary{
    width:100%!important;
    min-height:38px!important;
    justify-content:space-between!important;
    padding:8px 9px!important;
    overflow:hidden!important;
  }
  .places-filter-popover>summary b{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:9px!important;
  }
  .places-filter-menu{
    left:0!important;
    right:auto!important;
    top:calc(100% + 5px)!important;
    min-width:max(160px,100%)!important;
    max-width:min(86vw,260px)!important;
  }
  .places-filter-popover:last-child .places-filter-menu{left:auto!important;right:0!important}

  .places-country-results.is-grouped{padding-top:8px!important}
  .places-country-archive-v1498 .places-archive-section{
    margin-bottom:42px!important;
  }
  .places-country-archive-v1498 .places-archive-chapter{
    margin:0 0 16px!important;
  }
  .places-country-archive-v1498 .places-archive-chapter h3{
    font-size:32px!important;
  }
  .places-country-archive-v1498 .places-archive-section-grid,
  .places-country-archive-v1498 .places-archive-section-mixed .places-archive-section-grid{
    display:block!important;
  }
  .places-country-archive-v1498 .places-archive-card{
    width:100%!important;
    max-width:none!important;
    margin:0 0 32px!important;
  }
  .places-country-archive-v1498 .hands-card-clean-grid,
  .places-country-archive-v1498 .seen-card-editorial-grid{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
  }
  .places-country-archive-v1498 .hands-card-clean .places-archive-media,
  .places-country-archive-v1498 .seen-card-editorial-grid .places-archive-media{
    order:1!important;
    width:100%!important;
    max-height:58svh!important;
  }
  .places-country-archive-v1498 .hands-card-clean-copy,
  .places-country-archive-v1498 .seen-card-editorial-copy{
    order:2!important;
    width:100%!important;
    padding:22px 0 0!important;
    background:transparent!important;
  }
  .places-country-archive-v1498 .hands-card-clean-copy h3{
    font-size:clamp(34px,10vw,44px)!important;
    margin-top:8px!important;
  }
  .places-country-archive-v1498 .hands-card-clean-copy p{
    font-size:15px!important;
    line-height:1.62!important;
  }
  .places-country-archive-v1498 .people-card-clean-title{
    font-size:28px!important;
    margin-top:10px!important;
  }
  .places-country-archive-v1498 .moment-card-clean,
  .places-country-archive-v1498 .moment-card-clean-inner{
    min-height:0!important;
  }
  .places-country-archive-v1498 .moment-card-clean-inner{
    padding:24px 22px!important;
  }
}

/* v15.08 — Places archive type cues: no bulky chapter headings.
   The first visible entry in each type/run carries the small type tag;
   consecutive entries of the same type stay visually clean. */
.places-country-archive-v1498 .places-archive-chapter{
  display:none!important;
}


/* v15.11 — Seen Here: remove obsolete decorative corner accent everywhere. */
.places-country-archive-v1498 .seen-card-corner,
.seen-card-corner{display:none!important;}

/* v15.12 — mobile full-screen Places viewer + reliable archive video playback. */
.places-archive-has-video[data-card-play]{
  appearance:none;border:1px solid rgba(255,255,255,.64);background:rgba(20,20,18,.42);color:#fff;
  display:grid;place-items:center;cursor:pointer;z-index:8;
}
.places-archive-card.is-video-playing .places-archive-has-video[data-card-play]{background:rgba(20,20,18,.62)}

@media (max-width:760px) {
  html.places-viewer-open,html.places-viewer-open body{overflow:hidden!important;overscroll-behavior:none!important}
  .places-archive-viewer{
    inset:0!important;width:100vw!important;height:100svh!important;
    grid-template-columns:1fr!important;grid-template-rows:1fr!important;
    padding:0!important;background:#080808!important;
  }
  .places-archive-viewer-stage{
    grid-column:1!important;grid-row:1!important;width:100vw!important;height:100svh!important;
    min-width:0!important;min-height:0!important;padding:0!important;place-items:center!important;overflow:hidden!important;
  }
  .places-archive-viewer-stage>img{
    width:100vw!important;height:100svh!important;max-width:none!important;max-height:none!important;
    object-fit:contain!important;background:#080808!important;
  }
  .places-archive-viewer-stage>.places-secure-video-shell{
    width:100vw!important;height:100svh!important;max-width:none!important;max-height:none!important;background:#000!important;
  }
  .places-secure-video-shell>video{
    width:100vw!important;height:100svh!important;max-width:none!important;max-height:none!important;
    object-fit:contain!important;background:#000!important;
  }
  .places-archive-viewer-close{top:max(12px,env(safe-area-inset-top))!important;right:14px!important;z-index:20!important;background:rgba(0,0,0,.42)!important}
  .places-archive-viewer-nav{position:absolute!important;z-index:18!important;top:50%!important;transform:translateY(-50%)!important;background:rgba(0,0,0,.35)!important}
  .places-archive-viewer-nav.is-prev{left:10px!important;grid-column:auto!important}.places-archive-viewer-nav.is-next{right:10px!important;grid-column:auto!important}
  .places-archive-viewer-meta{position:absolute!important;z-index:18!important;left:14px!important;right:70px!important;bottom:max(62px,calc(env(safe-area-inset-bottom) + 56px))!important;padding:0!important;color:#fff!important;pointer-events:none!important}
  .places-secure-video-controls{left:10px!important;right:10px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;z-index:22!important}
}

/* v15.13 — Places: poster-first video loading + persistent city labels. */
.places-country-archive-v1498 .places-archive-slide:has(video[data-archive-lazy-video]){
  background:var(--paper,#f2eee5);
}
.places-country-archive-v1498 video[data-archive-lazy-video]{
  opacity:0;
  transition:opacity .18s ease;
  background:transparent;
}
.places-country-archive-v1498 video[data-archive-lazy-video][poster],
.places-country-archive-v1498 video[data-archive-lazy-video].is-video-ready{
  opacity:1;
}

/* v15.15 — Shared archive filter component (People first; Places visual language) */
.site-filter-shell{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
  width:100%;
}
.site-filter-popover{position:relative;flex:0 0 auto;margin:0;padding:0;border:0}
.site-filter-popover>summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:126px;
  padding:9px 11px;
  border:1px solid rgba(23,23,20,.16);
  border-radius:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  user-select:none;
}
.site-filter-popover>summary::-webkit-details-marker{display:none}
.site-filter-popover>summary b{
  font:500 10px/1.15 var(--font-ui,Montserrat,Arial,sans-serif);
  letter-spacing:.01em;
  white-space:nowrap;
}
.site-filter-popover>summary i{font:400 12px/1 Arial,sans-serif;font-style:normal;opacity:.45}
.site-filter-popover[open]>summary{border-color:rgba(23,23,20,.34);background:rgba(238,233,223,.48)}
.site-filter-menu{
  position:absolute;
  z-index:80;
  top:calc(100% + 5px);
  right:0;
  min-width:180px;
  max-height:min(360px,60vh);
  overflow:auto;
  padding:6px;
  border:1px solid rgba(23,23,20,.16);
  background:var(--paper,#f4f1ea);
  box-shadow:0 10px 24px rgba(23,23,20,.10);
}
.site-filter-menu small{
  display:block;
  padding:6px 9px;
  color:var(--places-accent,#9d4936);
  font:600 7px/1 var(--font-ui,Montserrat,Arial,sans-serif);
  letter-spacing:.13em;
  text-transform:uppercase;
}
.site-filter-menu button{
  display:block;
  width:100%;
  margin:0;
  padding:9px;
  border:0;
  border-radius:0;
  background:transparent;
  color:inherit;
  text-align:left;
  font:500 10px/1.25 var(--font-ui,Montserrat,Arial,sans-serif);
  cursor:pointer;
}
.site-filter-menu button:hover,.site-filter-menu button:focus-visible,.site-filter-menu button.is-active{
  background:rgba(23,23,20,.07);
  color:var(--places-accent,#9d4936);
  outline:0;
}
.people-filter-shell.site-filter-shell{
  padding:12px clamp(20px,3vw,48px);
  background:var(--people-grid-bg,#f4f1ea);
}
@media (max-width:760px) {
  .site-filter-shell{
    justify-content:flex-start;
    flex-wrap:nowrap;
    gap:7px;
    overflow-x:auto;
    overflow-y:visible;
    scrollbar-width:none;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .site-filter-shell::-webkit-scrollbar{display:none}
  .site-filter-popover{min-width:0;flex:0 0 auto}
  .site-filter-popover>summary{min-width:0;padding:8px 10px;gap:8px}
  .site-filter-popover>summary b{font-size:9px}
  .site-filter-menu{position:fixed;left:16px!important;right:16px!important;top:auto;min-width:0;max-width:none;max-height:52vh}
  .site-filter-popover[open] .site-filter-menu{z-index:130}
}

/* v15.16 — Shared filters refinement: one coherent desktop group + deliberate mobile 2+1 layout. */
.people-filter-shell.site-filter-shell{
  justify-content:flex-start!important;
  align-items:center!important;
  gap:10px!important;
  padding:12px clamp(20px,3vw,48px) 14px!important;
  overflow:visible!important;
}
.people-filter-shell.site-filter-shell .site-filter-popover{
  margin:0!important;
  width:auto!important;
  order:initial!important;
}
.people-filter-shell.site-filter-shell .people-media-filter{
  margin-left:0!important;
  width:auto!important;
  justify-content:initial!important;
}
.people-filter-shell.site-filter-shell .site-filter-popover>summary{
  min-width:132px!important;
  padding:9px 13px!important;
  border-color:rgba(23,23,20,.14)!important;
  transition:border-color .16s ease,background .16s ease,color .16s ease;
}
.people-filter-shell.site-filter-shell .site-filter-popover>summary i{opacity:.34!important}
.people-filter-shell.site-filter-shell .site-filter-popover:hover>summary{
  border-color:rgba(23,23,20,.27)!important;
}
.people-filter-shell.site-filter-shell .site-filter-popover.is-filtered>summary{
  border-color:rgba(157,73,54,.44)!important;
  background:rgba(157,73,54,.035)!important;
}
.people-filter-shell.site-filter-shell .site-filter-popover.is-filtered>summary b{
  color:var(--places-accent,#9d4936)!important;
}

@media (max-width:760px) {
  .people-filter-shell.site-filter-shell{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:8px!important;
    width:100%!important;
    padding:10px 16px 14px!important;
    overflow:visible!important;
    align-items:start!important;
  }
  .people-filter-shell.site-filter-shell .site-filter-popover{
    position:relative!important;
    min-width:0!important;
    width:100%!important;
    flex:none!important;
  }
  .people-filter-shell.site-filter-shell .people-media-filter{
    grid-column:1 / -1!important;
    width:100%!important;
  }
  .people-filter-shell.site-filter-shell .site-filter-popover>summary{
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    padding:10px 12px!important;
    gap:8px!important;
  }
  .people-filter-shell.site-filter-shell .site-filter-popover>summary b{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:10px!important;
  }
  .people-filter-shell.site-filter-shell .site-filter-menu{
    position:absolute!important;
    top:calc(100% + 5px)!important;
    bottom:auto!important;
    left:0!important;
    right:auto!important;
    width:max(100%,min(82vw,320px))!important;
    min-width:100%!important;
    max-width:min(88vw,340px)!important;
    max-height:46vh!important;
    z-index:160!important;
  }
  .people-filter-shell.site-filter-shell .people-tag-filter .site-filter-menu{
    left:auto!important;
    right:0!important;
  }
  .people-filter-shell.site-filter-shell .people-media-filter .site-filter-menu{
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:none!important;
  }
}

/* v15.17 — People mobile filters: keep all three controls on one row. */
@media (max-width:760px) {
  .people-filter-shell.site-filter-shell{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    padding:10px 16px 12px!important;
    align-items:start!important;
  }
  .people-filter-shell.site-filter-shell .site-filter-popover,
  .people-filter-shell.site-filter-shell .people-media-filter{
    grid-column:auto!important;
    width:100%!important;
    min-width:0!important;
  }
  .people-filter-shell.site-filter-shell .site-filter-popover>summary{
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    padding:9px 8px!important;
    gap:5px!important;
  }
  .people-filter-shell.site-filter-shell .site-filter-popover>summary b{
    font-size:9px!important;
    line-height:1.1!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .people-filter-shell.site-filter-shell .site-filter-popover>summary i{
    flex:0 0 auto!important;
    font-size:10px!important;
  }
  .people-filter-shell.site-filter-shell .site-filter-menu{
    width:min(82vw,300px)!important;
    min-width:180px!important;
    max-width:min(88vw,320px)!important;
  }
  .people-filter-shell.site-filter-shell .people-country-filter .site-filter-menu{
    left:0!important;
    right:auto!important;
  }
  .people-filter-shell.site-filter-shell .people-tag-filter .site-filter-menu{
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
  }
  .people-filter-shell.site-filter-shell .people-media-filter .site-filter-menu{
    left:auto!important;
    right:0!important;
    width:min(82vw,300px)!important;
    max-width:min(88vw,320px)!important;
  }
}

/* v15.32 — Moments clean restart.
   One simple desktop composition, based on the approved Moment 04 reference.
   No per-entry fitting, no alternate offsets, no font shrinking, no scroll snapping.
   Consistency first: same frame, same origins, same typography for every Moment. */

.moments-reference-page .moments-reference-kicker{display:none!important}
.moments-reference-page .moments-reference-copy h1{margin-top:0!important}
.moments-reference-page{overflow-x:hidden!important}

/* Shared default typography. Rich-text formatting selected explicitly in Studio
   can still override inherited emphasis/weight/etc. */
.moments-reference-page .moment-entry-body,
.moments-reference-page .moment-pull-quote{
  font-family:"Cormorant Garamond",Garamond,Georgia,"Times New Roman",serif!important;
  font-size:20px!important;
  font-weight:400!important;
  line-height:2!important;
  letter-spacing:0!important;
  text-transform:none!important;
  color:var(--moments-body-color,#211f1b)!important;
}
.moments-reference-page .moment-entry-body p{margin:0!important;line-height:inherit!important}
.moments-reference-page .moment-entry-body em,
.moments-reference-page .moment-entry-body i{font-style:italic}

/* Custom pull quote preserves authored Enter breaks but otherwise wraps naturally.
   It never receives a different font/size merely because it is a pull quote. */
.moments-reference-page .moment-pull-quote{
  white-space:pre-line!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-align:left!important;
}

@media(min-width:1080px){
  .moments-reference-page .moments-entry-list{width:100%!important}

  /* Each Moment is one calm panel. It fills at least the usable viewport, but a
     genuinely long Moment is allowed to grow rather than being crushed. */
  .moments-reference-page .moment-entry{
    box-sizing:border-box!important;
    width:min(92vw,1518px)!important;
    max-width:1518px!important;
    min-height:calc(100svh - var(--site-header-height,92px))!important;
    height:auto!important;
    margin:0 auto 28px!important;
    padding:clamp(54px,8vh,92px) clamp(38px,4vw,66px)!important;
    display:grid!important;
    grid-template-columns:38px 2px minmax(0,640px) clamp(72px,7vw,124px) minmax(0,520px)!important;
    grid-template-rows:auto auto!important;
    column-gap:0!important;
    row-gap:10px!important;
    align-content:center!important;
    align-items:start!important;
    overflow:visible!important;
    scroll-snap-align:none!important;
  }

  /* The story starts from exactly the same place in every Moment. */
  .moments-reference-page .moment-entry-body{
    grid-column:3!important;
    grid-row:1!important;
    width:100%!important;
    max-width:640px!important;
    min-width:0!important;
    margin:0!important;
    padding:0 0 0 24px!important;
    position:relative!important;
    align-self:start!important;
    justify-self:stretch!important;
    transform:none!important;
  }

  /* Terracotta opening rule. */
  .moments-reference-page .moment-entry-body::before{
    content:"";
    position:absolute;
    left:0;
    top:.28em;
    width:2px;
    height:2.9em;
    background:var(--moments-accent,#b14b36);
    opacity:.76;
  }

  /* Number always sits immediately to the left of the opening line. */
  .moments-reference-page .moment-entry-number-opening{
    position:absolute!important;
    left:-66px!important;
    top:.42em!important;
    width:38px!important;
    margin:0!important;
    padding:0!important;
    text-align:right!important;
    font-family:var(--font-sans,Arial,sans-serif)!important;
    font-size:9px!important;
    line-height:1!important;
    letter-spacing:.12em!important;
    font-style:normal!important;
    font-weight:500!important;
    color:var(--moments-meta-color,#77736b)!important;
  }

  /* Right column begins at the same top baseline as the story, every time. */
  .moments-reference-page .moment-pull-quote{
    grid-column:5!important;
    grid-row:1!important;
    width:100%!important;
    max-width:520px!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    align-self:start!important;
    justify-self:stretch!important;
    border:0!important;
    transform:none!important;
  }

  /* Hashtags stay quietly below the story. */
  .moments-reference-page .moment-entry-meta{
    grid-column:3!important;
    grid-row:2!important;
    width:auto!important;
    max-width:none!important;
    margin:2px 0 0 24px!important;
    padding:0!important;
    justify-self:start!important;
    align-self:start!important;
    font-size:9px!important;
    line-height:1.2!important;
    transform:none!important;
  }
  .moments-reference-page .moment-entry-meta .story-hashtags{margin:0!important}
  .moments-reference-page .moment-entry-meta .moment-entry-number{display:none!important}

  /* No pull quote: keep the exact same story origin. The right side simply rests. */
  .moments-reference-page .moment-entry:not(.has-pull-quote) .moment-entry-body{
    grid-column:3!important;
    max-width:760px!important;
  }
}

/* Tablet/mobile: natural single-column reading. */
@media(max-width:1079px){
  .moments-reference-page .moment-entry{
    box-sizing:border-box!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:44px 22px 52px!important;
    display:block!important;
    overflow:visible!important;
  }
  .moments-reference-page .moment-entry-body,
  .moments-reference-page .moment-pull-quote{
    font-size:18px!important;
    line-height:1.75!important;
  }
  .moments-reference-page .moment-entry-body{
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:18px!important;
  }
  .moments-reference-page .moment-entry-body::before{
    content:"";
    position:absolute;
    left:0;
    top:.28em;
    width:2px;
    height:2.5em;
    background:var(--moments-accent,#b14b36);
    opacity:.76;
  }
  .moments-reference-page .moment-entry-number-opening{
    position:static!important;
    display:block!important;
    margin:0 0 10px!important;
    font-family:var(--font-sans,Arial,sans-serif)!important;
    font-size:9px!important;
    line-height:1!important;
    letter-spacing:.12em!important;
  }
  .moments-reference-page .moment-pull-quote{
    width:100%!important;
    max-width:none!important;
    margin:26px 0 0 18px!important;
    padding:0!important;
  }
  .moments-reference-page .moment-entry-meta{
    margin:12px 0 0 18px!important;
    padding:0!important;
    font-size:9px!important;
  }
}

/* Studio Moments editor previews the same default reading font. */
.studio.tab-moments .rich-editor-surface{
  font-family:"Cormorant Garamond",Garamond,Georgia,"Times New Roman",serif;
  font-size:20px;
  line-height:2;
}

/* v15.33 — Moments authored-line control + truly centred two-column group.
   This is deliberately small and strict: Studio owns line breaks; the page
   owns only the stable centred geometry. */
@media(min-width:1080px){
  .moments-reference-page .moment-entry{
    /* Centre the actual five-column composition inside the panel. v15.32 had
       spare width sitting only on the right, which made the pair feel left-biased. */
    grid-template-columns:40px 2px minmax(0,650px) 86px minmax(0,560px)!important;
    justify-content:center!important;
  }
  .moments-reference-page .moment-entry-body{
    max-width:650px!important;
  }
  .moments-reference-page .moment-pull-quote{
    width:560px!important;
    max-width:560px!important;
    min-width:560px!important;
    /* Only hard Enters from Studio create new desktop lines. */
    white-space:pre!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
}

/* Below desktop, preserve the author's line structure but allow physical-screen
   wrapping so the page remains responsive and never creates horizontal scroll. */
@media(max-width:1079px){
  .moments-reference-page .moment-pull-quote{
    white-space:pre-wrap!important;
    overflow-wrap:break-word!important;
    max-width:100%!important;
    min-width:0!important;
  }
}

/* Keep the plain pull-quote line editor visually consistent with Studio while
   intentionally NOT converting it to the rich-text editor. */
body.studio textarea.moment-pull-lines{
  min-height:150px!important;
  font-family:"Cormorant Garamond",Garamond,Georgia,serif!important;
  font-size:18px!important;
  line-height:1.7!important;
  white-space:pre-wrap!important;
}

/* v15.34 — Moments: centre the two reading columns as the actual visual group.
   The number + terracotta rule are annotations and no longer consume grid width.
   This makes the outer left/right margins of the two-column spread truly equal. */
@media(min-width:1080px){
  .moments-reference-page .moment-entry{
    /* Two equal reading columns with one controlled centre gap. */
    grid-template-columns:minmax(0,650px) clamp(90px,7vw,120px) minmax(0,650px)!important;
    grid-template-rows:auto auto!important;
    justify-content:center!important;
    column-gap:0!important;
  }

  .moments-reference-page .moment-entry-body{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    max-width:650px!important;
    padding-left:24px!important;
    justify-self:stretch!important;
  }

  .moments-reference-page .moment-pull-quote{
    grid-column:3!important;
    grid-row:1!important;
    width:100%!important;
    max-width:650px!important;
    min-width:0!important;
    justify-self:stretch!important;
  }

  .moments-reference-page .moment-entry-meta{
    grid-column:1!important;
    grid-row:2!important;
  }

  /* The number remains left of the terracotta rule, but does not push the
     reading columns off centre. */
  .moments-reference-page .moment-entry-number-opening{
    left:-66px!important;
  }

  .moments-reference-page .moment-entry:not(.has-pull-quote) .moment-entry-body{
    grid-column:1!important;
    max-width:760px!important;
  }
}


/* v15.35 — Moments: center the ACTUAL story + pull-quote group.
   The right column uses its authored/content width (up to 650px), so a short
   quote does not leave an invisible 650px box that makes the spread feel
   left-heavy. The number remains inside the panel, beside the terracotta rule. */
@media(min-width:1080px){
  .moments-reference-page .moment-entry{
    grid-template-columns:minmax(0,650px) clamp(82px,6vw,110px) fit-content(650px)!important;
    grid-template-rows:auto auto!important;
    justify-content:center!important;
    column-gap:0!important;
  }

  .moments-reference-page .moment-entry-body{
    grid-column:1!important;
    grid-row:1!important;
    width:650px!important;
    max-width:650px!important;
    min-width:0!important;
    justify-self:start!important;
  }

  .moments-reference-page .moment-pull-quote{
    grid-column:3!important;
    grid-row:1!important;
    width:max-content!important;
    max-width:650px!important;
    min-width:0!important;
    justify-self:start!important;
    white-space:pre!important;
  }

  .moments-reference-page .moment-entry-meta{
    grid-column:1!important;
    grid-row:2!important;
  }

  /* Keep the number visibly inside the Moment panel while leaving the reading
     columns themselves as the centred visual group. */
  .moments-reference-page .moment-entry-number-opening{
    left:-46px!important;
    width:30px!important;
  }

  .moments-reference-page .moment-entry:not(.has-pull-quote){
    grid-template-columns:minmax(0,760px)!important;
    justify-content:center!important;
  }
  .moments-reference-page .moment-entry:not(.has-pull-quote) .moment-entry-body{
    grid-column:1!important;
    width:760px!important;
    max-width:760px!important;
  }
}


/* v15.36 — Moments fixed master frame.
   Content-independent geometry: every Moment uses the exact same horizontal
   frame regardless of whether the pull quote is empty, short, or long.
   No fit-content centering. No special recentering when there is no quote. */
@media(min-width:1080px){
  .moments-reference-page .moment-entry{
    /* Permanent master frame:
       [story slot 650] [gap] [quote slot 650]
       centered as one unit for every Moment. */
    grid-template-columns:minmax(0,650px) clamp(90px,7vw,120px) minmax(0,650px)!important;
    grid-template-rows:auto auto!important;
    justify-content:center!important;
    column-gap:0!important;
  }

  .moments-reference-page .moment-entry-body{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    max-width:650px!important;
    min-width:0!important;
    justify-self:stretch!important;
  }

  .moments-reference-page .moment-pull-quote{
    grid-column:3!important;
    grid-row:1!important;
    width:100%!important;
    max-width:650px!important;
    min-width:0!important;
    justify-self:stretch!important;
    white-space:pre!important;
  }

  /* Keep the quote content inside its fixed slot without changing the slot
     geometry. This can be tuned optically later without moving the frame. */
  .moments-reference-page .moment-pull-quote{
    text-align:left!important;
  }

  .moments-reference-page .moment-entry-meta{
    grid-column:1!important;
    grid-row:2!important;
  }

  /* Number belongs to the same panel and stays beside the terracotta rule.
     It is an annotation only and never changes column centering. */
  .moments-reference-page .moment-entry-number-opening{
    left:-46px!important;
    width:30px!important;
  }

  /* CRITICAL: no-pull-quote Moments use the same master frame and the same
     story origin. Do not recenter or widen them. */
  .moments-reference-page .moment-entry:not(.has-pull-quote){
    grid-template-columns:minmax(0,650px) clamp(90px,7vw,120px) minmax(0,650px)!important;
    justify-content:center!important;
  }
  .moments-reference-page .moment-entry:not(.has-pull-quote) .moment-entry-body{
    grid-column:1!important;
    width:100%!important;
    max-width:650px!important;
  }
}


/* v15.37 — Moments optical centering refinement.
   Keep ONE fixed horizontal frame for every Moment, but use a tighter,
   fixed-size composition so the visible story + quote feel centred together.
   Story origin never changes. Quote lives inside a fixed right slot and its
   visible text is centred inside that slot without changing the master frame. */
@media(min-width:1080px){
  .moments-reference-page .moment-entry{
    /* Fixed master group: 620 story + 100 gap + 520 quote = 1240px.
       The whole 1240px group is centred identically for every Moment. */
    grid-template-columns:620px 100px 520px!important;
    grid-template-rows:auto auto!important;
    justify-content:center!important;
    column-gap:0!important;
  }

  .moments-reference-page .moment-entry-body{
    grid-column:1!important;
    grid-row:1!important;
    width:620px!important;
    max-width:620px!important;
    min-width:0!important;
    justify-self:start!important;
  }

  .moments-reference-page .moment-pull-quote{
    grid-column:3!important;
    grid-row:1!important;
    width:max-content!important;
    max-width:520px!important;
    min-width:0!important;
    justify-self:center!important;
    text-align:left!important;
    white-space:pre!important;
  }

  .moments-reference-page .moment-entry-meta{
    grid-column:1!important;
    grid-row:2!important;
  }

  /* Bring the number closer to the terracotta opening rule while keeping it
     inside the panel and outside the reading text. */
  .moments-reference-page .moment-entry-number-opening{
    left:-42px!important;
    width:28px!important;
  }

  /* No pull quote: KEEP the same exact master frame and story origin.
     Do not recenter or widen the story. */
  .moments-reference-page .moment-entry:not(.has-pull-quote){
    grid-template-columns:620px 100px 520px!important;
    justify-content:center!important;
  }
  .moments-reference-page .moment-entry:not(.has-pull-quote) .moment-entry-body{
    grid-column:1!important;
    width:620px!important;
    max-width:620px!important;
  }
}


/* v15.38 — Moments compact centred editorial group.
   One fixed content-independent geometry for every desktop Moment:
   620px story + 70px gap + 380px pull quote.
   The entire 1070px group is centred as one composition.
   Pull quote is left-aligned in its slot; no inner centering. */
@media(min-width:1080px){
  .moments-reference-page .moment-entry{
    grid-template-columns:620px 70px 380px!important;
    grid-template-rows:auto auto!important;
    justify-content:center!important;
    column-gap:0!important;
  }

  .moments-reference-page .moment-entry-body{
    grid-column:1!important;
    grid-row:1!important;
    width:620px!important;
    max-width:620px!important;
    min-width:0!important;
    justify-self:start!important;
  }

  .moments-reference-page .moment-pull-quote{
    grid-column:3!important;
    grid-row:1!important;
    width:380px!important;
    max-width:380px!important;
    min-width:0!important;
    justify-self:start!important;
    text-align:left!important;
    white-space:pre!important;
  }

  .moments-reference-page .moment-entry-meta{
    grid-column:1!important;
    grid-row:2!important;
  }

  .moments-reference-page .moment-entry-number-opening{
    left:-42px!important;
    width:28px!important;
  }

  /* No-quote entries keep the exact same master frame and story origin. */
  .moments-reference-page .moment-entry:not(.has-pull-quote){
    grid-template-columns:620px 70px 380px!important;
    justify-content:center!important;
  }
  .moments-reference-page .moment-entry:not(.has-pull-quote) .moment-entry-body{
    grid-column:1!important;
    width:620px!important;
    max-width:620px!important;
  }
}


/* v15.39 — Moments mobile reading mode.
   Desktop keeps the authored two-column composition.
   Mobile becomes a clean single-column reading experience:
   the pull quote sits below the story as one natural italic paragraph.
   Desktop Enter breaks are intentionally ignored on mobile so words never
   collapse into narrow vertical stacks. */
@media(max-width:1079px){
  .moments-reference-page .moment-entry{
    padding:40px 24px 48px!important;
  }

  .moments-reference-page .moment-entry-body{
    width:100%!important;
    max-width:none!important;
    padding-left:18px!important;
    font-size:clamp(18px,4.7vw,21px)!important;
    line-height:1.62!important;
  }

  .moments-reference-page .moment-entry-body p{
    margin:0 0 .72em!important;
    line-height:inherit!important;
  }

  .moments-reference-page .moment-pull-quote{
    display:block!important;
    width:auto!important;
    max-width:calc(100% - 18px)!important;
    min-width:0!important;
    margin:28px 0 0 18px!important;
    padding:0!important;

    /* Mobile treats the desktop-authored line breaks as normal spaces. */
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;

    font-family:"Cormorant Garamond",Garamond,Georgia,"Times New Roman",serif!important;
    font-size:clamp(18px,4.7vw,21px)!important;
    line-height:1.55!important;
    font-style:italic!important;
    font-weight:400!important;
    letter-spacing:0!important;
    text-align:left!important;
  }

  .moments-reference-page .moment-entry-meta{
    margin:14px 0 0 18px!important;
  }
}


/* v15.40 — Moments without a pull quote.
   If there is NO custom/automatic pull quote, centre the entire story block
   horizontally in the Moment panel rather than leaving the empty right slot. */
@media(min-width:1080px){
  .moments-reference-page .moment-entry:not(.has-pull-quote){
    grid-template-columns:minmax(0,760px)!important;
    justify-content:center!important;
  }

  .moments-reference-page .moment-entry:not(.has-pull-quote) .moment-entry-body{
    grid-column:1!important;
    grid-row:1!important;
    width:760px!important;
    max-width:760px!important;
    justify-self:center!important;
  }

  .moments-reference-page .moment-entry:not(.has-pull-quote) .moment-entry-meta{
    grid-column:1!important;
    grid-row:2!important;
    width:760px!important;
    max-width:760px!important;
    justify-self:center!important;
  }
}


/* v15.41 — Moments pull quote typography inheritance.
   The pull quote should visually belong to the Moment paragraph:
   same font family, same default size/weight/letter spacing.
   Only placement changes on desktop; mobile additionally uses italic.
   Explicit inline formatting chosen in Studio may still override inheritance. */

/* Desktop/tablet default: match the main paragraph typography exactly. */
.moments-reference-page .moment-pull-quote{
  font-family:inherit!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  color:inherit!important;
  text-transform:inherit!important;
}

/* Because the pull quote is a sibling rather than a child of the story body,
   mirror the same Moments defaults explicitly at the section level. */
.moments-reference-page .moment-entry{
  font-family:"Cormorant Garamond",Garamond,Georgia,"Times New Roman",serif!important;
  font-size:20px!important;
  font-weight:400!important;
  line-height:2!important;
  letter-spacing:0!important;
  color:var(--moments-body-color,#211f1b)!important;
}

/* Mobile: keep the same font family/size as the story, but make the pull quote
   italic as the mobile-specific presentation treatment. */
@media(max-width:1079px){
  .moments-reference-page .moment-entry{
    font-size:clamp(18px,4.7vw,21px)!important;
    line-height:1.62!important;
  }

  .moments-reference-page .moment-entry-body,
  .moments-reference-page .moment-pull-quote{
    font-family:inherit!important;
    font-size:inherit!important;
    font-weight:inherit!important;
    letter-spacing:inherit!important;
    color:inherit!important;
  }

  .moments-reference-page .moment-pull-quote{
    line-height:1.55!important;
    font-style:italic!important;
  }
}


/* v15.42 — Moments pull-quote font control.
   Studio chooses the family per Moment. With "Follow Moment paragraph", the
   pull quote inherits the Moment story family. Inline chosen family wins.
   Mobile may italicize the quote, but never substitutes another font family. */
.moments-reference-page .moment-pull-quote{
  font-family:inherit!important;
}
@media(max-width:1079px){
  .moments-reference-page .moment-pull-quote{
    font-style:italic!important;
    /* family remains inherited or the explicit Studio-selected inline family */
  }
}


/* v15.43 — Moments: readable mobile + true visual centering when there is no pull quote. */

/* Desktop: when a Moment has no pull quote, centre the VISIBLE story composition,
   not an invisible 760px slot. The content may grow up to 760px, but short Moments
   remain compact and are centred by their actual rendered width. */
@media(min-width:1080px){
  .moments-reference-page .moment-entry:not(.has-pull-quote){
    grid-template-columns:minmax(0,760px)!important;
    justify-content:center!important;
  }

  .moments-reference-page .moment-entry:not(.has-pull-quote) .moment-entry-body{
    grid-column:1!important;
    grid-row:1!important;
    width:max-content!important;
    max-width:760px!important;
    min-width:0!important;
    justify-self:center!important;
  }

  .moments-reference-page .moment-entry:not(.has-pull-quote) .moment-entry-meta{
    grid-column:1!important;
    grid-row:2!important;
    width:max-content!important;
    max-width:760px!important;
    min-width:0!important;
    justify-self:center!important;
  }
}

/* Mobile: separate reading layout from desktop composition.
   Give the text a little more breathing room at both edges and justify prose
   without changing the authored paragraph structure. */
@media(max-width:1079px){
  .moments-reference-page .moment-entry{
    padding:46px 34px 54px!important;
  }

  .moments-reference-page .moment-entry-body{
    width:100%!important;
    max-width:none!important;
    padding-left:20px!important;
    text-align:justify!important;
    text-justify:inter-word!important;
    hyphens:auto!important;
  }

  .moments-reference-page .moment-entry-body p{
    text-align:justify!important;
    text-align-last:left!important;
  }

  .moments-reference-page .moment-pull-quote{
    max-width:calc(100% - 20px)!important;
    margin:30px 0 0 20px!important;
    text-align:justify!important;
    text-align-last:left!important;
    text-justify:inter-word!important;
    hyphens:auto!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  .moments-reference-page .moment-entry-meta{
    margin-left:20px!important;
  }
}


/* v15.44 — Moments mobile: keep justified reading, but never split words with hyphenation. */
@media(max-width:1079px){
  .moments-reference-page .moment-entry-body,
  .moments-reference-page .moment-entry-body p,
  .moments-reference-page .moment-pull-quote{
    -webkit-hyphens:none!important;
    -ms-hyphens:none!important;
    hyphens:none!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    line-break:auto!important;
  }
}


/* v15.45 — Moments mobile: respect Studio formatting and tighten story→quote spacing.
   Remove the forced italic treatment on mobile. The pull quote now follows the
   actual formatting selected in Studio. Also reduce the artificial vertical gap
   so the pull quote reads as part of the same Moment. */
@media(max-width:1079px){
  .moments-reference-page .moment-pull-quote{
    margin-top:18px!important;
    font-style:inherit!important;
  }
}


/* v15.46 — Insights: magazine archive + quiet editorial article.
   Archive removes the redundant INSIGHT label (hashtag already carries taxonomy).
   Internal articles use a title/dek/hero/essay rhythm rather than generic blog markup. */

/* Archive refinements */
.insight-entry-copy h2{max-width:700px}
.insight-entry-excerpt{max-width:620px}
.insight-entry-read{
  position:relative;
  width:max-content;
  margin-top:20px!important;
  padding-bottom:5px;
}
.insight-entry-read:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:1px;
  background:currentColor;
  transform-origin:left;
  transform:scaleX(.45);
  opacity:.4;
  transition:transform .25s ease,opacity .25s ease;
}
.insight-editorial-entry>a:hover .insight-entry-read:after{transform:scaleX(1);opacity:.8}

/* Article shell */
.insight-article-page{
  background:var(--insight-article-bg,#f4f1ea);
  color:var(--insight-title-color,#171714);
  min-height:100vh;
}
.insight-article{
  padding:clamp(58px,7vw,108px) clamp(24px,6vw,96px) clamp(78px,9vw,140px);
}
.insight-article-header{
  width:min(100%,1120px);
  margin:0 auto clamp(44px,5.5vw,82px);
}
.insight-article-back{
  display:inline-block;
  margin:0 0 28px;
  color:var(--insight-accent,#b76048);
  font:600 10px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.insight-article-header h1{
  max-width:1000px;
  margin:0;
  color:var(--insight-title-color,#171714);
  font:400 clamp(58px,7vw,var(--detail-title-size-desktop,82px))/.9 var(--font-heading,"Cormorant Garamond",Georgia,serif);
  letter-spacing:-.045em;
}
.insight-article-dek{
  max-width:760px;
  margin:clamp(26px,3vw,42px) 0 0;
  color:var(--insight-body-color,#5c574f);
  font:400 clamp(22px,2.25vw,30px)/1.35 var(--font-heading,"Cormorant Garamond",Georgia,serif);
}
.insight-article-dek p{margin:0}
.insight-article-hero{
  width:min(100%,1380px);
  margin:0 auto clamp(60px,7vw,110px);
}
.insight-article-hero img{
  display:block;
  width:100%;
  max-height:min(78vh,900px);
  object-fit:cover;
}

/* Essay body */
.insight-article-body{
  width:min(100%,800px);
  margin:0 auto;
  color:var(--insight-title-color,#211f1b);
  font:400 clamp(19px,1.35vw,22px)/1.78 var(--font-heading,"Cormorant Garamond",Georgia,serif);
}
.insight-article-body p{margin:0 0 1.35em}
.insight-article-body p + p{margin-top:0}
.insight-article-body h2,
.insight-article-body h3{
  margin:2.2em 0 .75em;
  color:var(--insight-title-color,#171714);
  font-family:var(--font-heading,"Cormorant Garamond",Georgia,serif);
  font-weight:400;
  line-height:1;
  letter-spacing:-.025em;
}
.insight-article-body h2{font-size:clamp(38px,4vw,56px)}
.insight-article-body h3{font-size:clamp(30px,3vw,42px)}
.insight-article-body blockquote{
  width:min(118%,940px);
  margin:clamp(54px,7vw,90px) 0 clamp(54px,7vw,90px) 50%;
  transform:translateX(-50%);
  padding:0;
  border:0;
  color:var(--insight-title-color,#171714);
  font:italic 400 clamp(32px,4.2vw,58px)/1.12 var(--font-heading,"Cormorant Garamond",Georgia,serif);
  letter-spacing:-.025em;
  text-align:center;
}
.insight-article-body img{
  display:block;
  width:min(120%,960px);
  max-height:82vh;
  object-fit:cover;
  margin:clamp(46px,6vw,82px) 0 clamp(46px,6vw,82px) 50%;
  transform:translateX(-50%);
}
.insight-article-body figure{
  width:min(120%,960px);
  margin:clamp(46px,6vw,82px) 0 clamp(46px,6vw,82px) 50%;
  transform:translateX(-50%);
}
.insight-article-body figure img{width:100%;margin:0;transform:none}
.insight-article-body figcaption{
  margin-top:10px;
  color:var(--insight-body-color,#5c574f);
  font:500 11px/1.5 var(--font-ui,Montserrat,Arial,sans-serif);
  letter-spacing:.04em;
}

/* Article closing */
.insight-article-footer{
  width:min(100%,1120px);
  margin:clamp(68px,8vw,120px) auto 0;
  padding-top:28px;
  border-top:1px solid rgba(23,23,20,.16);
}
.insight-article-tags .story-hashtags{
  margin:0 0 22px;
  color:var(--insight-accent,#b76048);
}
.insight-article-back-bottom{
  display:inline-block;
  color:var(--insight-title-color,#171714);
  font:600 10px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);
  letter-spacing:.11em;
  text-transform:uppercase;
}
.insight-article-nav{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(28px,6vw,100px);
  margin-top:50px;
  padding-top:30px;
  border-top:1px solid rgba(23,23,20,.12);
}
.insight-article-nav a{display:block;color:inherit}
.insight-article-nav .is-next{text-align:right}
.insight-article-nav span{
  display:block;
  margin-bottom:8px;
  color:var(--insight-accent,#b76048);
  font:600 9px/1.2 var(--font-ui,Montserrat,Arial,sans-serif);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.insight-article-nav strong{
  display:block;
  font:400 clamp(25px,2.6vw,36px)/1.05 var(--font-heading,"Cormorant Garamond",Georgia,serif);
}

/* Mobile editorial reading */
@media (max-width:760px) {
  .insight-article{padding:44px 22px 72px}
  .insight-article-header{margin-bottom:36px}
  .insight-article-back{margin-bottom:22px}
  .insight-article-header h1{
    font-size:clamp(44px,13vw,64px);
    line-height:.94;
  }
  .insight-article-dek{
    margin-top:22px;
    font-size:22px;
    line-height:1.38;
  }
  .insight-article-hero{
    width:calc(100% + 44px);
    margin-left:-22px;
    margin-right:-22px;
    margin-bottom:46px;
  }
  .insight-article-hero img{
    max-height:none;
    aspect-ratio:4/5;
    object-fit:cover;
  }
  .insight-article-body{
    width:100%;
    font-size:19px;
    line-height:1.72;
  }
  .insight-article-body p{margin-bottom:1.25em}
  .insight-article-body blockquote{
    width:100%;
    margin:46px 0;
    transform:none;
    font-size:34px;
    text-align:left;
  }
  .insight-article-body img,
  .insight-article-body figure{
    width:calc(100% + 44px);
    margin:42px 0 42px -22px;
    transform:none;
  }
  .insight-article-body figure img{width:100%;margin:0}
  .insight-article-body figcaption{padding:0 22px}
  .insight-article-footer{margin-top:64px}
  .insight-article-nav{grid-template-columns:1fr;gap:28px}
  .insight-article-nav .is-next{text-align:left}
}

/* Archive mobile: keep labels light and editorial. */
@media(max-width:900px){
  .insight-entry-read{margin-top:18px!important}
}


/* v15.47 — Insights metadata, restrained pull quotes, and footer circle hardening. */

/* With the introductory sentence removed, let the archive begin calmly below the header/filter. */
.insights-reference-page .story-filter-bar{
  margin-top:clamp(44px,5vw,74px);
}
.insights-entry-list{
  padding-top:clamp(26px,3vw,44px);
}

/* Date + estimated reading time */
.insight-entry-meta,
.insight-article-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px 18px;
  color:var(--insights-body-color,#5c574f);
  font:600 9px/1.3 var(--font-ui,Montserrat,Arial,sans-serif);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.insight-entry-meta{margin:0 0 18px}
.insight-entry-meta span+span:before,
.insight-article-meta span+span:before{
  content:"·";
  margin-right:18px;
  color:var(--insights-accent,var(--insight-accent,#b76048));
}
.insight-article-meta{
  margin:22px 0 0;
  color:var(--insight-body-color,#5c574f);
  font-size:10px;
}

/* Pull quotes should interrupt gently, not become a billboard. */
.insight-article-body blockquote{
  width:100%!important;
  max-width:760px!important;
  margin:clamp(38px,5vw,64px) auto!important;
  padding:4px 0 4px clamp(20px,2vw,30px)!important;
  transform:none!important;
  border-left:2px solid var(--insight-accent,#b76048)!important;
  color:var(--insight-title-color,#171714)!important;
  font-family:var(--font-heading,"Cormorant Garamond",Georgia,serif)!important;
  font-size:clamp(25px,2.25vw,34px)!important;
  font-style:italic;
  font-weight:400!important;
  line-height:1.28!important;
  letter-spacing:-.012em!important;
  text-align:left!important;
}
.insight-article-body blockquote p{
  margin:0!important;
}

/* Mobile: compact metadata and keep pull quotes editorial, not enormous. */
@media (max-width:760px) {
  .insights-reference-page .story-filter-bar{margin-top:28px}
  .insights-entry-list{padding-top:18px}
  .insight-entry-meta{margin-bottom:13px;font-size:8px;gap:7px 12px}
  .insight-entry-meta span+span:before,
  .insight-article-meta span+span:before{margin-right:12px}
  .insight-article-meta{margin-top:16px;font-size:8.5px;gap:7px 12px}
  .insight-article-body blockquote{
    width:100%!important;
    margin:34px 0!important;
    padding-left:18px!important;
    font-size:26px!important;
    line-height:1.3!important;
  }

  /* Force footer social buttons to true circles even if other mobile link rules add padding. */
  .site-footer .header-social.footer-social{
    grid-template-columns:repeat(3,40px)!important;
    grid-auto-rows:40px!important;
    gap:9px!important;
  }
  .site-footer .header-social.footer-social a{
    box-sizing:border-box!important;
    display:grid!important;
    place-items:center!important;
    width:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    aspect-ratio:1/1!important;
    padding:0!important;
    margin:0!important;
    border-radius:50%!important;
    line-height:1!important;
  }
}


/* v15.49 — Insights editorial rhythm refinement.
   Calmer opening, tighter hero relationship, narrower essay body, softer ending. */

/* Opening composition */
.insight-article-header{
  width:min(100%,980px)!important;
  margin:0 auto clamp(34px,4.5vw,58px)!important;
}
.insight-article-header h1{
  max-width:860px!important;
  font-size:clamp(52px,6vw,76px)!important;
  line-height:.94!important;
  letter-spacing:-.04em!important;
}
.insight-article-meta{
  margin-top:18px!important;
}
.insight-article-dek{
  max-width:680px!important;
  margin-top:28px!important;
  font-size:clamp(20px,1.9vw,25px)!important;
  line-height:1.4!important;
  color:var(--insight-body-color,#5c574f)!important;
}

/* Hero: editorial, not banner-like */
.insight-article-hero{
  width:min(100%,1180px)!important;
  margin:0 auto clamp(54px,5.5vw,78px)!important;
}
.insight-article-hero img{
  max-height:72vh!important;
  object-fit:cover!important;
}

/* Body: slightly narrower and calmer */
.insight-article-body{
  width:min(100%,750px)!important;
  font-size:clamp(18px,1.2vw,20.5px)!important;
  line-height:1.76!important;
}
.insight-article-body p{
  margin-bottom:1.28em!important;
}

/* Keep pull quotes restrained inside the essay rhythm */
.insight-article-body blockquote{
  max-width:700px!important;
  margin:44px auto!important;
  font-size:clamp(24px,2vw,31px)!important;
  line-height:1.3!important;
}

/* Softer closing */
.insight-article-footer{
  width:min(100%,980px)!important;
  margin-top:84px!important;
  padding-top:22px!important;
}
.insight-article-footer{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:start;
  gap:24px 40px;
}
.insight-article-tags{
  grid-column:1;
}
.insight-article-back-bottom{
  grid-column:2;
  grid-row:1;
  align-self:start;
}
.insight-article-nav{
  grid-column:1 / -1;
  margin-top:18px!important;
  padding-top:24px!important;
}

/* Make next/previous quieter and more editorial */
.insight-article-nav span{
  font-size:8px!important;
}
.insight-article-nav strong{
  font-size:clamp(22px,2vw,30px)!important;
  line-height:1.08!important;
}

/* Mobile keeps the same hierarchy but with tighter rhythm */
@media (max-width:760px) {
  .insight-article{
    padding:38px 20px 68px!important;
  }
  .insight-article-header{
    width:100%!important;
    margin-bottom:30px!important;
  }
  .insight-article-header h1{
    max-width:100%!important;
    font-size:clamp(42px,12.5vw,58px)!important;
    line-height:.96!important;
  }
  .insight-article-dek{
    max-width:100%!important;
    margin-top:20px!important;
    font-size:20px!important;
    line-height:1.42!important;
  }
  .insight-article-hero{
    width:calc(100% + 40px)!important;
    margin-left:-20px!important;
    margin-right:-20px!important;
    margin-bottom:40px!important;
  }
  .insight-article-hero img{
    aspect-ratio:4/5!important;
    max-height:none!important;
  }
  .insight-article-body{
    width:100%!important;
    font-size:18.5px!important;
    line-height:1.72!important;
  }
  .insight-article-body blockquote{
    margin:34px 0!important;
    font-size:25px!important;
  }
  .insight-article-footer{
    width:100%!important;
    margin-top:58px!important;
    display:block!important;
  }
  .insight-article-back-bottom{
    display:inline-block!important;
    margin-top:8px!important;
  }
  .insight-article-nav{
    margin-top:26px!important;
  }
}


/* v15.50 — Insights: simpler article opening + modular paragraph/image body.
   Structure: title → date/read time → featured image → article.
   The archive excerpt stays in Studio for the listing, but is not repeated in the article. */

.insight-article-header{
  margin-bottom:38px!important;
}
.insight-article-meta{
  margin-bottom:0!important;
}

/* Featured image: intentionally smaller and connected to the writing. */
.insight-article-hero{
  width:min(100%,960px)!important;
  margin:0 auto 48px!important;
}
.insight-article-hero img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:520px!important;
  object-fit:cover!important;
}

/* The article itself is a sequence of editorial blocks.
   Rich-editor paragraphs and images can be mixed in any order. */
.insight-article-body{
  width:min(100%,740px)!important;
}
.insight-article-body > p{
  margin:0 0 1.35em!important;
}
.insight-article-body > img{
  display:block!important;
  width:min(118%,880px)!important;
  max-height:560px!important;
  object-fit:cover!important;
  margin:44px 0 46px 50%!important;
  transform:translateX(-50%)!important;
}
.insight-article-body > figure{
  width:min(118%,880px)!important;
  margin:44px 0 46px 50%!important;
  transform:translateX(-50%)!important;
}
.insight-article-body > figure img{
  display:block!important;
  width:100%!important;
  max-height:560px!important;
  object-fit:cover!important;
  margin:0!important;
  transform:none!important;
}
.insight-article-body > figure figcaption{
  margin-top:10px!important;
}

/* If an image is followed by text, the article resumes naturally rather than
   adding a giant chapter-like gap. */
.insight-article-body > img + p,
.insight-article-body > figure + p{
  margin-top:0!important;
}

/* The old deck is no longer part of the internal article. */
.insight-article-dek{
  display:none!important;
}

@media (max-width:760px) {
  .insight-article-header{
    margin-bottom:26px!important;
  }
  .insight-article-hero{
    width:calc(100% + 24px)!important;
    margin-left:-12px!important;
    margin-right:-12px!important;
    margin-bottom:34px!important;
  }
  .insight-article-hero img{
    width:100%!important;
    height:auto!important;
    max-height:430px!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
  }
  .insight-article-body{
    width:100%!important;
  }
  .insight-article-body > img,
  .insight-article-body > figure{
    width:calc(100% + 24px)!important;
    margin:34px 0 36px -12px!important;
    transform:none!important;
  }
  .insight-article-body > figure img{
    max-height:430px!important;
  }
}


/* v15.51 — Dedicated tablet layer.
   Tablet is not treated as oversized mobile or undersized desktop.
   Rules are deliberately limited to touch-first medium screens so ordinary
   laptops at similar widths keep the established desktop layout. */

/* ---------------------------------------------------------
   TABLET PORTRAIT — touch screens, 761–1100px
   --------------------------------------------------------- */
@media (min-width:761px) and (max-width:1100px) and (orientation:portrait) and (hover:none) and (pointer:coarse){

  html,body{max-width:100%;overflow-x:hidden}

  /* Header: use the existing mobile menu mechanism, but at tablet scale. */
  .site-header{
    min-height:86px!important;
    padding:14px 28px!important;
  }
  .brand img{width:145px!important}
  .brand-group{gap:18px!important}
  .brand-line{
    width:auto!important;
    max-width:190px!important;
    padding-left:18px!important;
    font-size:12px!important;
  }
  .site-header nav{
    display:none!important;
    position:absolute!important;
    top:86px!important;
    left:0!important;
    right:0!important;
    z-index:50!important;
    padding:28px 32px 34px!important;
    background:var(--paper)!important;
    color:var(--ink)!important;
    flex-direction:column!important;
    gap:20px!important;
    font-size:12px!important;
  }
  .site-header nav.open{display:flex!important}
  .menu-toggle{
    display:block!important;
    min-width:44px!important;
    min-height:44px!important;
    border:0!important;
    background:transparent!important;
    color:inherit!important;
  }

  /* Universal content breathing room. */
  .page-title{padding-inline:38px!important}
  .story-filter-bar{padding-inline:28px!important}

  /* Home */
  .hero-slide{grid-template-columns:1fr 1fr!important}
  .hero-carousel{height:calc(100dvh - 86px)!important;min-height:620px!important}
  .highlight-cover{flex-basis:175px!important}
  .manifesto{grid-template-columns:minmax(220px,.8fr) 1.2fr!important;gap:48px!important;padding-inline:40px!important}
  .contact{grid-template-columns:1fr!important;gap:42px!important;padding-inline:40px!important}
  .contact form{grid-template-columns:1fr 1fr!important}
  .form-success,.form-error{grid-column:1/-1!important}

  /* People: two comfortable touch columns. */
  .people-reference-page.people-no-intro .people-reference-grid,
  .people-reference-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    columns:auto!important;
    column-gap:14px!important;
    row-gap:14px!important;
    padding-inline:18px!important;
  }
  .people-card-controls button,
  .people-photo-arrow{min-width:44px!important;min-height:44px!important}

  /* Hands: two-card archive; collection story stacks vertically. */
  .hands-collection-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .hands-inline-collection{
    grid-template-columns:1fr!important;
    min-height:0!important;
    gap:38px!important;
    padding:58px 42px!important;
  }
  .hands-inline-copy{max-width:680px!important}

  /* Places: intro and map become tablet-first without phone-like compression. */
  .places-reference-intro{
    grid-template-columns:1fr!important;
    gap:24px!important;
    padding:50px 40px!important;
  }
  .places-reference-intro h1{font-size:clamp(92px,15vw,132px)!important}
  .places-reference-intro>p{max-width:720px!important}
  .places-globe-section{
    grid-template-columns:1fr!important;
    min-height:0!important;
    gap:34px!important;
    padding:54px 40px 62px!important;
  }
  .places-globe-copy{order:1!important}
  .places-globe-wrap{
    order:2!important;
    width:min(72vw,620px)!important;
    min-height:0!important;
    margin:auto!important;
  }
  .places-globe-detail{order:3!important;grid-column:auto!important}
  .places-story-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  /* Moments: portrait uses a readable single-column editorial flow.
     The pull quote stays below the main story rather than becoming squeezed. */
  .moments-reference-intro{grid-template-columns:1fr!important}
  .moments-reference-intro>figure{display:none!important}
  .moments-reference-copy{padding-inline:54px!important}
  .moments-reference-page .moment-entry{
    display:grid!important;
    grid-template-columns:minmax(0,680px)!important;
    justify-content:center!important;
    padding:58px 44px 64px!important;
  }
  .moments-reference-page .moment-entry-body{
    width:100%!important;
    max-width:680px!important;
    grid-column:1!important;
  }
  .moments-reference-page .moment-pull-quote{
    width:100%!important;
    max-width:680px!important;
    grid-column:1!important;
    margin:24px 0 0!important;
    white-space:normal!important;
  }
  .moments-reference-page .moment-entry-meta{
    grid-column:1!important;
    width:100%!important;
  }

  /* Insights archive: image over copy, still editorial rather than phone-like. */
  .insight-editorial-entry>a{
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  .insight-editorial-entry figure{
    width:100%!important;
    max-width:none!important;
  }
  .insight-entry-copy{padding:34px 36px 42px!important}
  .insight-entry-copy h2{font-size:clamp(44px,6.5vw,66px)!important}

  /* Insights article: medium editorial image and a generous reading column. */
  .insight-article{padding:58px 42px 90px!important}
  .insight-article-header{width:min(100%,760px)!important}
  .insight-article-header h1{font-size:clamp(54px,8vw,76px)!important}
  .insight-article-hero{
    width:min(100%,820px)!important;
    margin-bottom:44px!important;
  }
  .insight-article-hero img{max-height:500px!important}
  .insight-article-body{width:min(100%,680px)!important}
  .insight-article-body>img,
  .insight-article-body>figure{width:min(112%,760px)!important}

  /* About: tablet portrait is intentionally stacked. */
  .about,
  .about-reference-page>.about{
    grid-template-columns:1fr!important;
    gap:38px!important;
    padding-inline:44px!important;
  }

  /* Footer: two balanced columns rather than cramped desktop or long phone stack. */
  .site-footer{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:34px 42px!important;
    padding:48px 38px!important;
  }
  .site-footer a{text-align:left!important}
  .site-footer .header-social.footer-social a{
    width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
    border-radius:50%!important;padding:0!important;aspect-ratio:1/1!important;
  }

  /* Touch targets: no interaction should depend on hover. */
  button,a,input,select{touch-action:manipulation}
}


/* ---------------------------------------------------------
   TABLET LANDSCAPE — touch screens, 900–1366px
   Preserve desktop composition, but tighten scale and spacing.
   --------------------------------------------------------- */
@media (min-width:900px) and (max-width:1366px) and (orientation:landscape) and (hover:none) and (pointer:coarse){

  html,body{max-width:100%;overflow-x:hidden}

  .site-header{
    min-height:84px!important;
    padding:12px 30px!important;
  }
  .brand img{width:138px!important}
  .brand-line{width:185px!important;padding-left:18px!important;font-size:12px!important}
  .site-header nav{
    gap:clamp(13px,1.7vw,22px)!important;
    font-size:10px!important;
  }

  /* Home */
  .hero-carousel{height:calc(100dvh - 84px)!important;min-height:540px!important}
  .manifesto{gap:54px!important;padding-inline:48px!important}
  .contact{gap:56px!important;padding-inline:48px!important}

  /* People / Hands: retain richer desktop density with touch-safe spacing. */
  .people-reference-page.people-no-intro .people-reference-grid,
  .people-reference-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    columns:auto!important;
    gap:12px!important;
    padding-inline:14px!important;
  }
  .hands-collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .hands-inline-collection{
    grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)!important;
    gap:46px!important;
    padding:52px 44px!important;
    min-height:calc(100dvh - 84px)!important;
  }

  /* Places */
  .places-reference-intro{
    grid-template-columns:minmax(0,1fr) minmax(300px,.8fr)!important;
    gap:42px!important;
    padding-inline:44px!important;
  }
  .places-globe-section{
    grid-template-columns:minmax(200px,.6fr) minmax(380px,1.2fr) minmax(220px,.65fr)!important;
    gap:30px!important;
    padding:48px 44px!important;
  }
  .places-globe-wrap{min-height:0!important;width:min(40vw,520px)!important;margin:auto!important}
  .places-story-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}

  /* Moments: keep the two-column editorial concept but fit it inside landscape tablets. */
  .moments-reference-page .moment-entry{
    grid-template-columns:minmax(0,560px) 48px minmax(260px,330px)!important;
    justify-content:center!important;
    padding:52px 34px 58px!important;
  }
  .moments-reference-page .moment-entry-body{
    width:100%!important;
    max-width:560px!important;
  }
  .moments-reference-page .moment-pull-quote{
    width:100%!important;
    max-width:330px!important;
  }

  /* Insights archive / article */
  .insight-editorial-entry>a{
    grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr)!important;
    gap:48px!important;
  }
  .insight-entry-copy h2{font-size:clamp(46px,5vw,68px)!important}
  .insight-article{padding-inline:48px!important}
  .insight-article-header{width:min(100%,900px)!important}
  .insight-article-hero{width:min(100%,920px)!important}
  .insight-article-hero img{max-height:500px!important}
  .insight-article-body{width:min(100%,710px)!important}

  /* About */
  .about,.about-reference-page>.about{
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
    gap:50px!important;
    padding-inline:48px!important;
  }

  /* Footer */
  .site-footer{
    gap:28px!important;
    padding:42px 44px!important;
  }
  .site-footer .header-social.footer-social a{
    width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;
    border-radius:50%!important;padding:0!important;aspect-ratio:1/1!important;
  }

  /* Touch-first UI */
  .people-card-controls button,
  .people-photo-arrow,
  .places-map-controls button{
    min-width:44px!important;
    min-height:44px!important;
  }
}


/* Rotation resilience for tablet browsers:
   use dynamic viewport units and avoid stale fixed viewport heights after rotation. */
@supports(height:100dvh){
  @media (min-width:761px) and (max-width:1366px) and (hover:none) and (pointer:coarse){
    .hero-carousel,
    .moments-reference-intro{
      max-height:none!important;
    }
    .people-reference-page,
    .hands-reference-page,
    .places-reference-page,
    .moments-reference-page,
    .insights-reference-page,
    .about-reference-page{
      min-height:100dvh;
    }
  }
}


/* ============================================================
   v15.52 — Tablet refinement
   Better menu, crop controls, People spacing, Hands composition,
   Home manifesto breathing room, and Moments landscape intro.
   ============================================================ */

/* Admin crop controls */
.tablet-story-crop-controls input[type="range"],
.tablet-focal-controls input[type="range"]{width:100%}
.tablet-story-crop-controls .columns{align-items:end}

/* All touch tablets use one intentional navigation panel instead of a squeezed
   desktop row or phone-like dropdown. */
@media (min-width:761px) and (max-width:1366px) and (hover:none) and (pointer:coarse){
  .site-header{
    position:relative!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    height:88px!important;
    min-height:88px!important;
    padding:0 30px!important;
  }
  .site-header .brand-group{
    grid-column:1!important;
    padding:0!important;
    gap:24px!important;
  }
  .site-header .menu-toggle{
    display:grid!important;
    place-items:center!important;
    grid-column:2!important;
    min-width:72px!important;
    height:44px!important;
    padding:0 14px!important;
    border:1px solid currentColor!important;
    border-radius:999px!important;
    background:transparent!important;
    color:inherit!important;
    font:600 10px/1 var(--font-ui,Montserrat,Arial,sans-serif)!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
  }
  .site-header nav{
    display:none!important;
    position:absolute!important;
    z-index:80!important;
    top:88px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    min-height:290px!important;
    padding:36px 34px 40px!important;
    background:var(--paper,#f4f1ea)!important;
    color:var(--ink,#171714)!important;
    border-top:1px solid rgba(23,23,20,.12)!important;
    border-bottom:1px solid rgba(23,23,20,.16)!important;
    box-shadow:0 18px 42px rgba(0,0,0,.10)!important;
  }
  .site-header nav.open{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(210px,.42fr)!important;
    gap:38px!important;
    align-items:start!important;
  }
  .site-header nav .header-menu-links{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0 34px!important;
  }
  .site-header nav .header-menu-links>a{
    display:flex!important;
    align-items:center!important;
    min-height:52px!important;
    padding:0!important;
    border-bottom:1px solid rgba(23,23,20,.13)!important;
    font:500 12px/1.2 var(--font-ui,Montserrat,Arial,sans-serif)!important;
    letter-spacing:.11em!important;
    text-transform:uppercase!important;
    text-shadow:none!important;
  }
  .site-header nav .mobile-menu-social{
    display:flex!important;
    align-self:start!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    gap:10px!important;
    margin:0!important;
    padding:0!important;
  }
  .site-header nav .mobile-menu-social a{
    width:42px!important;height:42px!important;min-width:42px!important;
    border:1px solid rgba(23,23,20,.25)!important;border-radius:50%!important;
  }
}

/* TABLET PORTRAIT */
@media (min-width:761px) and (max-width:1100px) and (orientation:portrait) and (hover:none) and (pointer:coarse){
  /* Home hero and all story crops */
  .hero-carousel-desktop .hero-panel>img,
  .hero-carousel-desktop .hero-panel>video{
    width:100%!important;height:100%!important;left:0!important;top:0!important;
    object-fit:cover!important;
    object-position:var(--tablet-portrait-x,50%) var(--tablet-portrait-y,50%)!important;
  }
  .people-reference-card img,
  .hands-reference-collection img,
  .insight-editorial-entry img,
  .insight-article-hero img{
    object-position:var(--tablet-portrait-x,50%) var(--tablet-portrait-y,50%)!important;
  }

  /* People: eliminate inherited tall rows / card min-heights. */
  .people-reference-grid{
    grid-auto-rows:auto!important;
    align-items:start!important;
    align-content:start!important;
    row-gap:12px!important;
  }
  .people-reference-card{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    align-self:start!important;
    aspect-ratio:2/3!important;
    overflow:hidden!important;
  }
  .people-reference-card .people-card-media{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    aspect-ratio:auto!important;
  }
  .people-reference-card .people-card-media>img,
  .people-reference-card .people-card-media>video{
    width:100%!important;height:100%!important;object-fit:cover!important;
  }

  /* Hands portrait: real stacked editorial layout, not compressed desktop. */
  .hands-reference-collection{min-height:0!important;padding:0!important}
  .hands-reference-collection-layout{
    display:grid!important;
    grid-template-columns:1fr!important;
    min-height:0!important;
    height:auto!important;
    gap:0!important;
  }
  .hands-reference-carousel{
    width:100%!important;
    min-width:0!important;
    height:auto!important;
  }
  .hands-reference-stage{
    width:100%!important;
    height:min(64vw,610px)!important;
    min-height:420px!important;
  }
  .hands-inline-track,
  .hands-inline-track figure{height:100%!important}
  .hands-inline-track img{width:100%!important;height:100%!important;object-fit:cover!important}
  .hands-reference-collection-copy{
    width:100%!important;
    min-width:0!important;
    padding:38px 42px 48px!important;
  }
  .hands-reference-copy-content{max-width:700px!important}

  /* Menu portrait: menu links remain two columns, social area beneath them. */
  .site-header nav.open{grid-template-columns:1fr!important;gap:24px!important}
  .site-header nav .mobile-menu-social{grid-column:1!important}

  /* Moments portrait hero remains image-free as v15.51 intended. */
}

/* TABLET LANDSCAPE */
@media (min-width:900px) and (max-width:1366px) and (orientation:landscape) and (hover:none) and (pointer:coarse){
  .hero-carousel-desktop .hero-panel>img,
  .hero-carousel-desktop .hero-panel>video{
    width:100%!important;height:100%!important;left:0!important;top:0!important;
    object-fit:cover!important;
    object-position:var(--tablet-landscape-x,50%) var(--tablet-landscape-y,50%)!important;
  }
  .people-reference-card img,
  .hands-reference-collection img,
  .insight-editorial-entry img,
  .insight-article-hero img{
    object-position:var(--tablet-landscape-x,50%) var(--tablet-landscape-y,50%)!important;
  }

  /* People: previous "gap" came from inherited card height/min-height rather
     than the 12px grid gap. Force each row to be content-sized. */
  .people-reference-grid{
    grid-auto-rows:auto!important;
    align-items:start!important;
    align-content:start!important;
    row-gap:12px!important;
  }
  .people-reference-card{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    aspect-ratio:2/3!important;
    overflow:hidden!important;
  }
  .people-reference-card .people-card-media{
    display:block!important;width:100%!important;height:100%!important;min-height:0!important;
  }
  .people-reference-card .people-card-media>img,
  .people-reference-card .people-card-media>video{
    width:100%!important;height:100%!important;object-fit:cover!important;
  }

  /* Hands landscape: correct selector and balanced 42/58 composition. */
  .hands-reference-collection{min-height:0!important}
  .hands-reference-collection-layout{
    display:grid!important;
    grid-template-columns:minmax(300px,42%) minmax(0,58%)!important;
    min-height:0!important;
    height:auto!important;
    gap:0!important;
    align-items:stretch!important;
  }
  .hands-reference-collection-copy{
    grid-column:1!important;
    grid-row:1!important;
    min-width:0!important;
    padding:clamp(34px,4vw,58px)!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }
  .hands-reference-carousel{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    height:min(68vh,610px)!important;
    min-height:430px!important;
    align-self:center!important;
  }
  .hands-reference-stage,
  .hands-inline-track,
  .hands-inline-track figure{height:100%!important}
  .hands-inline-track img{width:100%!important;height:100%!important;object-fit:cover!important}
  .hands-reference-copy-content{max-width:430px!important}

  /* Give "To make is to Live" a real transition from the section above. */
  .manifesto{
    padding-top:clamp(96px,12vh,150px)!important;
    padding-bottom:clamp(72px,9vh,118px)!important;
  }

  /* Moments intro: desktop title sizing was too large for the shorter
     landscape tablet viewport and was colliding with the image. */
  .moments-reference-intro{
    grid-template-columns:minmax(0,52%) minmax(0,48%)!important;
    min-height:calc(100dvh - 88px)!important;
    height:auto!important;
    max-height:none!important;
    gap:0!important;
    overflow:hidden!important;
  }
  .moments-reference-copy{
    min-width:0!important;
    padding:clamp(48px,6vh,72px) clamp(36px,4vw,62px)!important;
    align-self:center!important;
  }
  .moments-reference-copy h1{
    width:100%!important;
    max-width:560px!important;
    margin:0!important;
    line-height:.88!important;
  }
  .moments-reference-copy h1 span{
    font-size:clamp(68px,8vw,104px)!important;
    line-height:.86!important;
  }
  .moments-reference-copy h1 em{
    display:block!important;
    max-width:100%!important;
    margin-top:8px!important;
    font-size:clamp(54px,6.6vw,84px)!important;
    line-height:.9!important;
  }
  .moments-reference-dek{
    max-width:500px!important;
    margin-top:28px!important;
    font-size:clamp(20px,2vw,26px)!important;
  }
  .moments-reference-intro>figure{
    position:relative!important;
    width:100%!important;
    height:calc(100dvh - 88px)!important;
    min-height:500px!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .moments-reference-intro>figure img{
    width:100%!important;height:100%!important;object-fit:cover!important;
  }
}

/* Tablet menu still works when a browser reports fine hover but a coarse
   primary pointer. This catches common iPad external-keyboard combinations. */
@media (min-width:761px) and (max-width:1180px) and (pointer:coarse){
  .site-header .menu-toggle{display:grid!important}
}


/* v15.53 — Home tablet header follows the desktop header.
   Interior pages keep the dedicated tablet Menu panel. */
@media (min-width:761px) and (max-width:1366px) and (hover:none) and (pointer:coarse){

  .site-header.overlay{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:center!important;
    height:96px!important;
    min-height:96px!important;
    padding:10px 0!important;
    background:linear-gradient(to bottom,rgba(0,0,0,.34),rgba(0,0,0,.08),transparent)!important;
    color:#fff!important;
    border:0!important;
  }

  .site-header.overlay .brand-group{
    grid-column:1!important;
    width:100%!important;
    height:100%!important;
    padding-left:clamp(28px,4.2vw,56px)!important;
    padding-right:clamp(18px,2.4vw,34px)!important;
    gap:clamp(18px,2vw,28px)!important;
  }

  .site-header.overlay .brand img{
    width:clamp(132px,14vw,175px)!important;
    max-height:56px!important;
  }

  .site-header.overlay .brand-line{
    width:auto!important;
    max-width:210px!important;
    padding-left:18px!important;
    font-size:11px!important;
    color:inherit!important;
  }

  .site-header.overlay .menu-toggle{
    display:none!important;
  }

  .site-header.overlay nav{
    position:static!important;
    display:flex!important;
    grid-column:2!important;
    width:100%!important;
    min-height:0!important;
    padding-left:clamp(16px,2vw,30px)!important;
    padding-right:clamp(26px,3.6vw,52px)!important;
    background:transparent!important;
    color:inherit!important;
    border:0!important;
    box-shadow:none!important;
    align-items:center!important;
    justify-content:flex-end!important;
  }

  .site-header.overlay nav .header-menu-links{
    display:flex!important;
    width:100%!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:clamp(9px,1.25vw,18px)!important;
  }

  .site-header.overlay nav .header-menu-links>a{
    display:block!important;
    min-height:0!important;
    padding:8px 0!important;
    border:0!important;
    color:inherit!important;
    font:500 clamp(8.5px,.86vw,10.5px)/1 var(--font-ui,Montserrat,Arial,sans-serif)!important;
    letter-spacing:.115em!important;
    text-transform:uppercase!important;
    white-space:nowrap!important;
    text-shadow:0 1px 2px rgba(0,0,0,.82),0 3px 14px rgba(0,0,0,.38)!important;
  }

  .site-header.overlay nav .mobile-menu-social{
    display:none!important;
  }
}

/* Portrait tablet: still desktop-style Home navigation, just tighter. */
@media (min-width:761px) and (max-width:940px) and (orientation:portrait) and (hover:none) and (pointer:coarse){
  .site-header.overlay{
    grid-template-columns:minmax(0,.43fr) minmax(0,.57fr)!important;
  }
  .site-header.overlay .brand-line{
    display:none!important;
  }
  .site-header.overlay nav{
    padding-left:10px!important;
    padding-right:24px!important;
  }
  .site-header.overlay nav .header-menu-links{
    gap:7px!important;
  }
  .site-header.overlay nav .header-menu-links>a{
    font-size:8px!important;
    letter-spacing:.08em!important;
  }
}


/* ============================================================
   v15.54 — definitive Home-tablet detection.
   Some Android tablet browsers report hover:hover / pointer:fine and may expose
   a viewport around 800px, causing the old mobile-menu CSS to win. A real
   tablet-device class is now set from touch + screen dimensions before CSS.
   On Home, that class forces the exact desktop header concept in both
   orientations, even when the browser is in desktop mode.
   ============================================================ */

html.is-tablet-device .site-header.overlay{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:center!important;
  height:96px!important;
  min-height:96px!important;
  max-height:96px!important;
  padding:10px 0!important;
  background:linear-gradient(to bottom,rgba(0,0,0,.34),rgba(0,0,0,.08),transparent)!important;
  background-color:transparent!important;
  color:#fff!important;
  border:0!important;
  box-shadow:none!important;
}

html.is-tablet-device .site-header.overlay .brand-group{
  display:flex!important;
  grid-column:1!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  padding-left:clamp(26px,4.2vw,58px)!important;
  padding-right:clamp(14px,2vw,30px)!important;
  gap:clamp(16px,2vw,28px)!important;
  align-items:center!important;
}

html.is-tablet-device .site-header.overlay .brand{
  flex:0 0 auto!important;
}

html.is-tablet-device .site-header.overlay .brand img{
  display:block!important;
  width:clamp(126px,14vw,175px)!important;
  max-width:none!important;
  max-height:56px!important;
  object-fit:contain!important;
}

html.is-tablet-device .site-header.overlay .brand-line{
  display:block!important;
  width:auto!important;
  max-width:190px!important;
  margin:0!important;
  padding-left:16px!important;
  color:#fff!important;
  font-size:10px!important;
  line-height:1.3!important;
  text-shadow:0 1px 8px rgba(0,0,0,.42)!important;
}

html.is-tablet-device .site-header.overlay .menu-toggle{
  display:none!important;
}

html.is-tablet-device .site-header.overlay nav,
html.is-tablet-device body.menu-open .site-header.overlay nav{
  position:static!important;
  inset:auto!important;
  display:flex!important;
  grid-column:2!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0 clamp(22px,3.2vw,50px) 0 clamp(10px,1.5vw,22px)!important;
  overflow:visible!important;
  background:transparent!important;
  background-color:transparent!important;
  color:#fff!important;
  border:0!important;
  box-shadow:none!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-end!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

html.is-tablet-device .site-header.overlay nav .header-menu-links{
  display:flex!important;
  flex-direction:row!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:clamp(6px,1vw,15px)!important;
}

html.is-tablet-device .site-header.overlay nav .header-menu-links>a{
  display:block!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:8px 0!important;
  border:0!important;
  background:transparent!important;
  color:#fff!important;
  font:500 clamp(7.5px,.82vw,10px)/1 var(--font-ui,Montserrat,Arial,sans-serif)!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  text-align:center!important;
  text-shadow:0 1px 2px rgba(0,0,0,.85),0 3px 14px rgba(0,0,0,.4)!important;
}

html.is-tablet-device .site-header.overlay nav .mobile-menu-social,
html.is-tablet-device .site-header.overlay nav .header-menu-social{
  display:none!important;
}

/* If the old mobile menu had been opened before rotation, prevent its
   body.menu-open surface from turning the Home header white. */
html.is-tablet-device body.menu-open .site-header.overlay{
  background:linear-gradient(to bottom,rgba(0,0,0,.34),rgba(0,0,0,.08),transparent)!important;
  background-color:transparent!important;
  color:#fff!important;
  border:0!important;
}
html.is-tablet-device body.menu-open .site-header.overlay .brand-line{
  color:#fff!important;
  text-shadow:0 1px 8px rgba(0,0,0,.42)!important;
}

/* Portrait tablets need the same desktop concept but a denser header. */
@media (orientation:portrait){
  html.is-tablet-device .site-header.overlay{
    grid-template-columns:minmax(150px,.34fr) minmax(0,.66fr)!important;
  }
  html.is-tablet-device .site-header.overlay .brand-line{
    display:none!important;
  }
  html.is-tablet-device .site-header.overlay .brand img{
    width:clamp(118px,17vw,150px)!important;
  }
  html.is-tablet-device .site-header.overlay nav{
    padding-left:4px!important;
    padding-right:18px!important;
  }
  html.is-tablet-device .site-header.overlay nav .header-menu-links{
    gap:5px!important;
  }
  html.is-tablet-device .site-header.overlay nav .header-menu-links>a{
    font-size:clamp(6.8px,.9vw,8px)!important;
    letter-spacing:.045em!important;
  }
}


/* ============================================================
   v15.55 — Home tablet header physically sits ON the hero image.
   Previous tablet rules made .site-header position:relative, so even with a
   transparent background it occupied its own strip above the photograph.
   Desktop Home uses an absolute overlay header; tablet Home must do the same.
   ============================================================ */

html.is-tablet-device .site-header.overlay{
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  bottom:auto!important;
  z-index:100!important;
  width:100%!important;
  margin:0!important;
  background:linear-gradient(to bottom,rgba(0,0,0,.34),rgba(0,0,0,.08),transparent)!important;
  background-color:transparent!important;
}

/* The hero begins at the very top of the page, behind the header, exactly as
   on desktop. Do not subtract the tablet header height. */
html.is-tablet-device body[data-home-mobile-hero-visible] .home{
  padding-top:0!important;
  margin-top:0!important;
}

html.is-tablet-device body[data-home-mobile-hero-visible] .home > .hero-carousel-desktop{
  margin-top:0!important;
  padding-top:0!important;
  height:var(--hero-height-desktop,100svh)!important;
  min-height:100svh!important;
}

/* v15.51 tablet rules had explicitly shortened the hero by the header height.
   Override those only for Home tablets. */
@media (orientation:portrait){
  html.is-tablet-device body[data-home-mobile-hero-visible] .home > .hero-carousel-desktop{
    height:var(--hero-height-desktop,100svh)!important;
    min-height:100svh!important;
  }
}

@media (orientation:landscape){
  html.is-tablet-device body[data-home-mobile-hero-visible] .home > .hero-carousel-desktop{
    height:var(--hero-height-desktop,100svh)!important;
    min-height:100svh!important;
  }
}

/* Never allow an opened/stale tablet menu state to re-introduce a header band
   on Home. */
html.is-tablet-device body.menu-open .site-header.overlay{
  position:absolute!important;
  background-color:transparent!important;
}


/* ============================================================
   v15.57 — definitive tablet navigation reset.
   The old mobile menu left counters, 50% positioned columns and transform
   rules active on tablets. Tablet now has its own complete navigation state.
   ============================================================ */

/* ---------- HOME TABLET = DESKTOP MENU, NO NUMBERS ---------- */
html.is-tablet-device .site-header.overlay nav .header-menu-links{
  counter-reset:none!important;
}
html.is-tablet-device .site-header.overlay nav .header-menu-links>a{
  counter-increment:none!important;
}
html.is-tablet-device .site-header.overlay nav .header-menu-links>a::before,
html.is-tablet-device .site-header.overlay nav .header-menu-links>a::after,
html.is-tablet-device .site-header.overlay nav .header-menu-links::before,
html.is-tablet-device .site-header.overlay nav .header-menu-links::after{
  content:none!important;
  display:none!important;
}

html.is-tablet-device .site-header.overlay nav .header-menu-links>a{
  gap:0!important;
}

/* ---------- INTERIOR TABLET HEADER ---------- */
html.is-tablet-device .site-header:not(.overlay){
  position:relative!important;
  z-index:100!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  height:96px!important;
  min-height:96px!important;
  padding:10px 30px!important;
  background:var(--paper,#f3f1eb)!important;
  color:var(--ink,#1d1d19)!important;
  border-bottom:1px solid rgba(29,29,25,.15)!important;
}

html.is-tablet-device .site-header:not(.overlay) .brand-group{
  grid-column:1!important;
  display:flex!important;
  align-items:center!important;
  width:auto!important;
  min-width:0!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  gap:22px!important;
}

html.is-tablet-device .site-header:not(.overlay) .brand{
  flex:0 0 auto!important;
}

html.is-tablet-device .site-header:not(.overlay) .brand img{
  display:block!important;
  width:clamp(120px,14vw,165px)!important;
  max-width:none!important;
  max-height:54px!important;
  object-fit:contain!important;
}

html.is-tablet-device .site-header:not(.overlay) .brand-meta{
  min-width:0!important;
}

html.is-tablet-device .site-header:not(.overlay) .brand-line{
  display:block!important;
  width:auto!important;
  max-width:220px!important;
  margin:0!important;
  padding-left:18px!important;
  color:inherit!important;
  font-size:clamp(16px,2vw,22px)!important;
  line-height:1.15!important;
  text-transform:none!important;
  white-space:nowrap!important;
}

/* clear desktop/mobile menu pseudo-decoration */
html.is-tablet-device .site-header:not(.overlay) nav::before,
html.is-tablet-device .site-header:not(.overlay) nav::after,
html.is-tablet-device .site-header:not(.overlay) nav .header-menu-links::before,
html.is-tablet-device .site-header:not(.overlay) nav .header-menu-links::after,
html.is-tablet-device .site-header:not(.overlay) nav .mobile-menu-social::before,
html.is-tablet-device .site-header:not(.overlay) nav .mobile-menu-social::after,
html.is-tablet-device .site-header:not(.overlay) nav .header-menu-links>a::before,
html.is-tablet-device .site-header:not(.overlay) nav .header-menu-links>a::after{
  content:none!important;
  display:none!important;
}

/* toggle */
html.is-tablet-device .site-header:not(.overlay) .menu-toggle{
  grid-column:2!important;
  display:grid!important;
  place-items:center!important;
  position:static!important;
  width:auto!important;
  min-width:76px!important;
  height:44px!important;
  min-height:44px!important;
  margin:0!important;
  padding:0 17px!important;
  border:1px solid currentColor!important;
  border-radius:999px!important;
  background:transparent!important;
  color:inherit!important;
  font:600 10px/1 var(--font-ui,Montserrat,Arial,sans-serif)!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}

/* closed interior menu */
html.is-tablet-device .site-header:not(.overlay) nav{
  display:none!important;
  position:absolute!important;
  top:96px!important;
  left:0!important;
  right:0!important;
  bottom:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  overflow:visible!important;
  background:var(--paper,#f3f1eb)!important;
  color:var(--ink,#1d1d19)!important;
  border:0!important;
  box-shadow:0 20px 48px rgba(0,0,0,.12)!important;
}

/* open interior menu */
html.is-tablet-device .site-header:not(.overlay) nav.open{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(220px,.34fr)!important;
  gap:42px!important;
  align-items:start!important;
  padding:34px 34px 38px!important;
  border-top:1px solid rgba(29,29,25,.10)!important;
  border-bottom:1px solid rgba(29,29,25,.15)!important;
}

/* reset old 50% / absolute mobile menu children */
html.is-tablet-device .site-header:not(.overlay) nav .header-menu-links,
html.is-tablet-device .site-header:not(.overlay) nav .mobile-menu-social{
  position:static!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  transform:none!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}

html.is-tablet-device .site-header:not(.overlay) nav .header-menu-links{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:start!important;
  justify-content:stretch!important;
  gap:0 30px!important;
  padding:0!important;
  counter-reset:none!important;
}

html.is-tablet-device .site-header:not(.overlay) nav .header-menu-links>a{
  counter-increment:none!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:50px!important;
  margin:0!important;
  padding:0!important;
  gap:0!important;
  border:0!important;
  border-bottom:1px solid rgba(29,29,25,.14)!important;
  background:transparent!important;
  color:inherit!important;
  font:500 11px/1.2 var(--font-ui,Montserrat,Arial,sans-serif)!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
  text-align:left!important;
  text-shadow:none!important;
  white-space:nowrap!important;
}

html.is-tablet-device .site-header:not(.overlay) nav .mobile-menu-social{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:10px!important;
  padding:0!important;
  border:0!important;
}

html.is-tablet-device .site-header:not(.overlay) nav .mobile-menu-social a,
html.is-tablet-device .site-header:not(.overlay) nav .mobile-menu-social button.newsletter-icon-button{
  display:grid!important;
  place-items:center!important;
  position:static!important;
  width:42px!important;
  min-width:42px!important;
  max-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  flex:0 0 42px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(29,29,25,.24)!important;
  border-radius:50%!important;
  background:transparent!important;
  color:inherit!important;
  transform:none!important;
}

html.is-tablet-device .site-header:not(.overlay) nav .mobile-menu-social .social-label{
  display:none!important;
}

/* Portrait tablet: same menu, just one navigation column. */
@media (orientation:portrait){
  html.is-tablet-device .site-header:not(.overlay){
    padding-left:24px!important;
    padding-right:24px!important;
  }

  html.is-tablet-device .site-header:not(.overlay) .brand-line{
    max-width:175px!important;
    font-size:18px!important;
  }

  html.is-tablet-device .site-header:not(.overlay) nav.open{
    grid-template-columns:1fr!important;
    gap:24px!important;
    padding:30px 28px 34px!important;
  }

  html.is-tablet-device .site-header:not(.overlay) nav .header-menu-links{
    grid-template-columns:1fr!important;
    gap:0!important;
  }
}

/* Home tablet menu remains visually identical to desktop navigation even if
   old mobile CSS was previously activated by viewport width. */
html.is-tablet-device .site-header.overlay nav,
html.is-tablet-device body.menu-open .site-header.overlay nav{
  display:flex!important;
}
html.is-tablet-device .site-header.overlay .menu-toggle{
  display:none!important;
}


/* ============================================================
   v15.58 — Tablet menu simplification.
   Landscape tablet uses the DESKTOP navigation on every page.
   Portrait tablet keeps the dedicated tablet menu panel.
   This removes the last landscape conflicts from older mobile/menu rules.
   ============================================================ */

/* HOME TABLET: menu text was too small. */
html.is-tablet-device .site-header.overlay nav .header-menu-links>a{
  font-size:clamp(10px,1vw,12px)!important;
  letter-spacing:.09em!important;
}

/* LANDSCAPE TABLET — ALL PAGES USE DESKTOP-STYLE HEADER/NAV */
@media (orientation:landscape){
  html.is-tablet-device .site-header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:center!important;
    height:96px!important;
    min-height:96px!important;
    max-height:96px!important;
    padding:10px 0!important;
  }

  /* Interior pages stay on the light header; Home keeps its overlay rules. */
  html.is-tablet-device .site-header:not(.overlay){
    position:relative!important;
    background:var(--paper,#f3f1eb)!important;
    color:var(--ink,#1d1d19)!important;
    border-bottom:1px solid rgba(29,29,25,.15)!important;
    box-shadow:none!important;
  }

  html.is-tablet-device .site-header .brand-group{
    grid-column:1!important;
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    margin:0!important;
    padding-left:clamp(26px,4vw,54px)!important;
    padding-right:clamp(14px,2vw,28px)!important;
    gap:clamp(18px,2vw,28px)!important;
  }

  html.is-tablet-device .site-header .brand img{
    width:clamp(130px,13vw,170px)!important;
    max-height:56px!important;
  }

  html.is-tablet-device .site-header:not(.overlay) .brand-line{
    display:block!important;
    width:auto!important;
    max-width:190px!important;
    margin:0!important;
    padding-left:16px!important;
    font-size:clamp(15px,1.65vw,20px)!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }

  /* No tablet popup button in landscape. */
  html.is-tablet-device .site-header .menu-toggle{
    display:none!important;
  }

  /* Force a clean desktop navigation row. */
  html.is-tablet-device .site-header nav,
  html.is-tablet-device .site-header nav.open,
  html.is-tablet-device body.menu-open .site-header nav,
  html.is-tablet-device body.menu-open .site-header nav.open{
    position:static!important;
    inset:auto!important;
    display:flex!important;
    grid-column:2!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0 clamp(24px,3.3vw,48px) 0 clamp(8px,1.2vw,20px)!important;
    overflow:visible!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    background:transparent!important;
    color:inherit!important;
    border:0!important;
    box-shadow:none!important;
  }

  html.is-tablet-device .site-header nav::before,
  html.is-tablet-device .site-header nav::after,
  html.is-tablet-device .site-header nav .header-menu-links::before,
  html.is-tablet-device .site-header nav .header-menu-links::after,
  html.is-tablet-device .site-header nav .header-menu-links>a::before,
  html.is-tablet-device .site-header nav .header-menu-links>a::after{
    content:none!important;
    display:none!important;
  }

  html.is-tablet-device .site-header nav .header-menu-links{
    position:static!important;
    inset:auto!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    gap:clamp(8px,1vw,15px)!important;
    transform:none!important;
    counter-reset:none!important;
  }

  html.is-tablet-device .site-header nav .header-menu-links>a{
    counter-increment:none!important;
    display:block!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:9px 0!important;
    border:0!important;
    background:transparent!important;
    color:inherit!important;
    font:500 clamp(10px,.9vw,12px)/1 var(--font-ui,Montserrat,Arial,sans-serif)!important;
    letter-spacing:.09em!important;
    text-transform:uppercase!important;
    text-align:center!important;
    white-space:nowrap!important;
    transform:none!important;
  }

  /* Hide the mobile/tablet social block in the desktop-style landscape header. */
  html.is-tablet-device .site-header nav .mobile-menu-social{
    display:none!important;
  }
}

/* PORTRAIT TABLET — keep the tablet panel, but remove all leftover counters. */
@media (orientation:portrait){
  html.is-tablet-device .site-header:not(.overlay) nav .header-menu-links{
    counter-reset:none!important;
  }

  html.is-tablet-device .site-header:not(.overlay) nav .header-menu-links>a{
    counter-increment:none!important;
  }

  html.is-tablet-device .site-header:not(.overlay) nav .header-menu-links>a::before,
  html.is-tablet-device .site-header:not(.overlay) nav .header-menu-links>a::after{
    content:none!important;
    display:none!important;
  }
}


/* ============================================================
   v15.59 — final landscape-tablet interior header fix.
   Do NOT depend on .is-tablet-device for landscape pages.
   Some Android tablet browsers/Desktop Site modes do not expose touch/pointer
   information reliably. Any landscape viewport with tablet-like dimensions
   now gets the desktop navigation directly.
   ============================================================ */

@media (orientation:landscape) and (min-width:800px) and (min-height:560px) and (max-width:1400px){

  /* INTERIOR PAGES ONLY */
  .site-header:not(.overlay){
    position:relative!important;
    inset:auto!important;
    z-index:100!important;

    display:grid!important;
    grid-template-columns:minmax(250px,.43fr) minmax(0,.57fr)!important;
    align-items:center!important;

    width:100%!important;
    height:96px!important;
    min-height:96px!important;
    max-height:96px!important;

    margin:0!important;
    padding:10px 0!important;

    background:var(--paper,#f3f1eb)!important;
    color:var(--ink,#1d1d19)!important;
    border-bottom:1px solid rgba(29,29,25,.15)!important;
    box-shadow:none!important;
  }

  .site-header:not(.overlay) .brand-group{
    position:static!important;
    grid-column:1!important;

    display:flex!important;
    align-items:center!important;

    width:100%!important;
    height:100%!important;
    min-width:0!important;

    margin:0!important;
    padding-left:clamp(24px,3.6vw,52px)!important;
    padding-right:18px!important;
    gap:clamp(16px,2vw,26px)!important;

    transform:none!important;
  }

  .site-header:not(.overlay) .brand{
    position:static!important;
    flex:0 0 auto!important;
    transform:none!important;
  }

  .site-header:not(.overlay) .brand img{
    display:block!important;
    width:clamp(120px,12.5vw,164px)!important;
    max-width:none!important;
    max-height:54px!important;
    object-fit:contain!important;
  }

  .site-header:not(.overlay) .brand-meta{
    position:static!important;
    display:block!important;
    min-width:0!important;
    transform:none!important;
  }

  .site-header:not(.overlay) .brand-line{
    display:block!important;
    position:static!important;
    width:auto!important;
    max-width:185px!important;
    margin:0!important;
    padding-left:16px!important;

    color:inherit!important;
    font-size:clamp(14px,1.45vw,19px)!important;
    line-height:1.15!important;
    white-space:nowrap!important;

    transform:none!important;
  }

  /* Absolutely no popup/menu button in horizontal tablet. */
  .site-header:not(.overlay) .menu-toggle{
    display:none!important;
  }

  /* This is the important reset: nav is a normal desktop row regardless of
     any old .open, body.menu-open, mobile transform, opacity or positioning. */
  .site-header:not(.overlay) nav,
  .site-header:not(.overlay) nav.open,
  body.menu-open .site-header:not(.overlay) nav,
  body.menu-open .site-header:not(.overlay) nav.open{
    position:static!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;

    display:flex!important;
    grid-column:2!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;

    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;

    margin:0!important;
    padding:0 clamp(22px,3vw,46px) 0 8px!important;

    overflow:visible!important;
    transform:none!important;
    translate:none!important;
    scale:none!important;

    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;

    background:transparent!important;
    background-color:transparent!important;
    color:inherit!important;

    border:0!important;
    box-shadow:none!important;

    transition:none!important;
  }

  /* Remove every decorative/mobile pseudo element, including the 01/02
     counters and Explore/Connect labels. */
  .site-header:not(.overlay) nav::before,
  .site-header:not(.overlay) nav::after,
  .site-header:not(.overlay) nav .header-menu-links::before,
  .site-header:not(.overlay) nav .header-menu-links::after,
  .site-header:not(.overlay) nav .header-menu-links>a::before,
  .site-header:not(.overlay) nav .header-menu-links>a::after,
  .site-header:not(.overlay) nav .mobile-menu-social::before,
  .site-header:not(.overlay) nav .mobile-menu-social::after{
    content:none!important;
    display:none!important;
  }

  .site-header:not(.overlay) nav .header-menu-links{
    position:static!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;

    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;

    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;

    margin:0!important;
    padding:0!important;

    gap:clamp(7px,.9vw,14px)!important;

    transform:none!important;
    opacity:1!important;

    counter-reset:none!important;
  }

  .site-header:not(.overlay) nav .header-menu-links>a{
    counter-increment:none!important;

    position:static!important;
    display:block!important;
    flex:0 0 auto!important;

    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;

    margin:0!important;
    padding:9px 0!important;

    border:0!important;
    background:transparent!important;
    color:inherit!important;

    font-family:var(--font-ui,Montserrat,Arial,sans-serif)!important;
    font-size:clamp(10px,.9vw,12px)!important;
    font-weight:500!important;
    line-height:1!important;
    letter-spacing:.085em!important;
    text-transform:uppercase!important;
    text-align:center!important;
    white-space:nowrap!important;
    text-shadow:none!important;

    transform:none!important;
  }

  /* Mobile social/contact block does not belong in the desktop row. */
  .site-header:not(.overlay) nav .mobile-menu-social{
    display:none!important;
  }
}

/* Keep actual landscape phones out of the tablet desktop header. */
@media (orientation:landscape) and (max-height:559px){
  .site-header:not(.overlay) .menu-toggle{
    /* falls back to the existing mobile behavior */
  }
}


/* ============================================================
   v15.60 — HARD RESET for landscape tablet interior navigation.
   The screenshots confirm the tablet class IS present (the Menu button is
   already disappearing), but older mobile rules are still winning on the
   menu children. So this reset uses the tablet class + higher specificity and
   does not depend on viewport width/height at all.
   ============================================================ */

@media (orientation:landscape){

  html.is-tablet-device body .site-header:not(.overlay){
    position:relative!important;
    inset:auto!important;
    z-index:200!important;
    display:grid!important;
    grid-template-columns:minmax(260px,.42fr) minmax(0,.58fr)!important;
    align-items:center!important;
    width:100%!important;
    height:96px!important;
    min-height:96px!important;
    max-height:96px!important;
    margin:0!important;
    padding:10px 0!important;
    overflow:visible!important;
    background:var(--paper,#f3f1eb)!important;
    color:var(--ink,#1d1d19)!important;
    border-bottom:1px solid rgba(29,29,25,.15)!important;
    box-shadow:none!important;
  }

  html.is-tablet-device body .site-header:not(.overlay) .brand-group{
    position:static!important;
    inset:auto!important;
    grid-column:1!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0 18px 0 clamp(24px,3.5vw,52px)!important;
    gap:clamp(16px,2vw,26px)!important;
    transform:none!important;
  }

  html.is-tablet-device body .site-header:not(.overlay) .brand,
  html.is-tablet-device body .site-header:not(.overlay) .brand-meta{
    position:static!important;
    inset:auto!important;
    transform:none!important;
  }

  html.is-tablet-device body .site-header:not(.overlay) .brand{
    flex:0 0 auto!important;
  }

  html.is-tablet-device body .site-header:not(.overlay) .brand img{
    display:block!important;
    width:clamp(118px,12vw,160px)!important;
    max-width:none!important;
    max-height:52px!important;
    object-fit:contain!important;
  }

  html.is-tablet-device body .site-header:not(.overlay) .brand-line{
    display:block!important;
    position:static!important;
    inset:auto!important;
    width:auto!important;
    max-width:180px!important;
    margin:0!important;
    padding-left:16px!important;
    transform:none!important;
    color:inherit!important;
    font-size:clamp(14px,1.45vw,19px)!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }

  html.is-tablet-device body .site-header:not(.overlay) .menu-toggle{
    display:none!important;
  }

  /* Entire nav becomes an ordinary desktop row. */
  html.is-tablet-device body .site-header:not(.overlay) nav,
  html.is-tablet-device body .site-header:not(.overlay) nav.open,
  html.is-tablet-device body.menu-open .site-header:not(.overlay) nav,
  html.is-tablet-device body.menu-open .site-header:not(.overlay) nav.open{
    position:static!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    z-index:auto!important;

    grid-column:2!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-end!important;

    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;

    margin:0!important;
    padding:0 clamp(20px,2.8vw,44px) 0 6px!important;

    overflow:visible!important;
    transform:none!important;
    translate:none!important;
    scale:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;

    background:none!important;
    background-color:transparent!important;
    color:inherit!important;
    border:0!important;
    box-shadow:none!important;
    transition:none!important;
  }

  /* Remove every old mobile/tablet generated label/counter. */
  html.is-tablet-device body .site-header:not(.overlay) nav::before,
  html.is-tablet-device body .site-header:not(.overlay) nav::after,
  html.is-tablet-device body .site-header:not(.overlay) nav .header-menu-links::before,
  html.is-tablet-device body .site-header:not(.overlay) nav .header-menu-links::after,
  html.is-tablet-device body .site-header:not(.overlay) nav .header-menu-links>a::before,
  html.is-tablet-device body .site-header:not(.overlay) nav .header-menu-links>a::after,
  html.is-tablet-device body .site-header:not(.overlay) nav .mobile-menu-social::before,
  html.is-tablet-device body .site-header:not(.overlay) nav .mobile-menu-social::after{
    content:none!important;
    display:none!important;
  }

  /* Most important part: wipe old absolute/50%-width/translated child state. */
  html.is-tablet-device body .site-header:not(.overlay) nav .header-menu-links{
    position:static!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;

    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:space-between!important;

    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;

    margin:0!important;
    padding:0!important;
    gap:clamp(7px,.85vw,13px)!important;

    transform:none!important;
    translate:none!important;
    scale:none!important;
    opacity:1!important;

    counter-reset:none!important;
  }

  html.is-tablet-device body .site-header:not(.overlay) nav .header-menu-links>a{
    position:static!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;

    counter-increment:none!important;

    display:block!important;
    flex:0 0 auto!important;
    align-self:auto!important;

    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;

    margin:0!important;
    padding:9px 0!important;

    transform:none!important;
    translate:none!important;
    scale:none!important;

    border:0!important;
    border-radius:0!important;
    background:none!important;
    background-color:transparent!important;
    color:inherit!important;

    font-family:var(--font-ui,Montserrat,Arial,sans-serif)!important;
    font-size:clamp(10px,.92vw,12px)!important;
    font-weight:500!important;
    line-height:1!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    text-align:center!important;
    white-space:nowrap!important;
    text-shadow:none!important;
  }

  html.is-tablet-device body .site-header:not(.overlay) nav .mobile-menu-social{
    display:none!important;
    position:static!important;
    transform:none!important;
  }
}


/* ============================================================
   v15.61 — People tablet stability.
   Remove the old viewport-height and masonry systems on tablets.
   Rows are content-sized and separated by one real 10px gap.
   ============================================================ */
@media (min-width:761px) and (max-width:1366px){
  .people-reference-page.people-no-intro .people-reference-grid{
    display:grid!important;
    columns:auto!important;
    grid-auto-rows:auto!important;
    grid-auto-flow:row!important;
    align-items:start!important;
    align-content:start!important;
    row-gap:10px!important;
    column-gap:10px!important;
    gap:10px!important;
    padding-top:10px!important;
    padding-bottom:22px!important;
  }

  .people-reference-page.people-no-intro .people-reference-card{
    grid-row:auto!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    align-self:start!important;
  }

  /* The tablet cards themselves own their visible height. No JS row variable. */
  .people-reference-page.people-no-intro .people-card-media{
    min-height:0!important;
  }
}

/* Portrait tablet: 2 columns. */
@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
  .people-reference-page.people-no-intro .people-reference-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Landscape tablet: 3 columns. */
@media (min-width:900px) and (max-width:1366px) and (orientation:landscape){
  .people-reference-page.people-no-intro .people-reference-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}


/* ============================================================
   v15.62 — People tablet tight masonry, without live reflow loop.
   Tablet portrait/landscape keep the existing column counts and
   original image proportions, but use tiny grid tracks so each
   card starts immediately after the card above it instead of
   waiting for the tallest card in a conventional row.
   ============================================================ */
@media (min-width:761px) and (max-width:1366px){
  .people-reference-page.people-no-intro .people-reference-grid{
    display:grid!important;
    columns:auto!important;
    grid-auto-rows:4px!important;
    grid-auto-flow:row dense!important;
    align-items:start!important;
    align-content:start!important;
    row-gap:0!important;
    column-gap:10px!important;
    gap:0 10px!important;
    padding-top:10px!important;
    padding-bottom:22px!important;
  }
  .people-reference-page.people-no-intro .people-reference-card{
    grid-row:auto;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    align-self:start!important;
    aspect-ratio:auto!important;
  }
  .people-reference-page.people-no-intro .people-card-media{
    height:auto!important;
    min-height:0!important;
  }
}

@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
  .people-reference-page.people-no-intro .people-reference-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (min-width:900px) and (max-width:1366px) and (orientation:landscape){
  .people-reference-page.people-no-intro .people-reference-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* ============================================================
   v15.63 — tablet Home carousel focal-position controls.
   The Studio was saving tablet portrait/landscape X/Y values, but the tablet
   frontend reverted media to a 100% canvas. On many image/frame ratios that
   leaves no overflow on one axis, so object-position appears to do nothing.
   Keep this tablet-only and use the same small overscan/pan model as desktop,
   with independent portrait and landscape values from the backend.
   ============================================================ */
@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
  html.is-tablet-device .hero-carousel-desktop .hero-panel>img,
  html.is-tablet-device .hero-carousel-desktop .hero-panel>video{
    position:absolute!important;
    width:130%!important;
    height:112%!important;
    max-width:none!important;
    max-height:none!important;
    left:var(--tablet-portrait-pan-left,-15%)!important;
    top:var(--tablet-portrait-pan-top,-6%)!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}
@media (min-width:900px) and (max-width:1366px) and (orientation:landscape){
  html.is-tablet-device .hero-carousel-desktop .hero-panel>img,
  html.is-tablet-device .hero-carousel-desktop .hero-panel>video{
    position:absolute!important;
    width:130%!important;
    height:112%!important;
    max-width:none!important;
    max-height:none!important;
    left:var(--tablet-landscape-pan-left,-15%)!important;
    top:var(--tablet-landscape-pan-top,-6%)!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
}


/* ============================================================
   v15.64 — People tablet recovery + performance.
   v15.62's 4px implicit-row masonry produced hundreds of grid tracks and
   repeated span calculations while media loaded. On some tablets this made
   only the first visual row appear initially and increased layout cost.

   Use a conventional content-sized tablet grid instead. The earlier large
   blank bands were mainly caused by an inherited 2/3 aspect-ratio on the card,
   so explicitly remove that constraint and let each active photograph define
   the card's natural height. Desktop/mobile remain unchanged.
   ============================================================ */
@media (min-width:761px) and (max-width:1366px){
  .people-reference-page.people-no-intro .people-reference-grid{
    display:grid!important;
    columns:auto!important;
    grid-auto-rows:auto!important;
    grid-auto-flow:row!important;
    align-items:start!important;
    align-content:start!important;
    row-gap:10px!important;
    column-gap:10px!important;
    gap:10px!important;
    padding-top:10px!important;
    padding-bottom:22px!important;
  }
  .people-reference-page.people-no-intro .people-reference-card{
    grid-row:auto!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    overflow:visible!important;
    margin:0!important;
    align-self:start!important;
  }
  .people-reference-page.people-no-intro .people-card-media{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    position:relative!important;
    overflow:hidden!important;
  }
  .people-reference-page.people-no-intro .people-card-media [data-people-card-image]{
    position:relative!important;
    inset:auto!important;
    display:none!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    max-height:none!important;
    object-fit:contain!important;
  }
  .people-reference-page.people-no-intro .people-card-media [data-people-card-image].is-active{
    display:block!important;
  }
}
@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
  .people-reference-page.people-no-intro .people-reference-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (min-width:900px) and (max-width:1366px) and (orientation:landscape){
  .people-reference-page.people-no-intro .people-reference-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}


/* ============================================================
   v15.66 — tablet Home carousel stronger horizontal positioning.
   The previous 112% media canvas created only 12% total horizontal travel,
   so the backend X slider could feel ineffective. Tablet carousel media now
   uses a 130% horizontal canvas with an extended -100..200 X control.
   50 remains centered; full slider range maps to the full 30% overflow.
   Portrait and landscape remain independent. Desktop/mobile unchanged.
   ============================================================ */

/* ============================================================
   v15.67 — portrait-tablet Home carousel + render performance.
   Portrait tablet gets one full-width image per carousel step. Landscape
   tablet and desktop continue to use the established 50/50 two-panel slide.
   ============================================================ */
.hero-carousel-tablet-portrait{display:none!important}
@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
  html.is-tablet-device .home>.hero-carousel-desktop{display:none!important}
  html.is-tablet-device .home>.hero-carousel-tablet-portrait{
    display:block!important;
    position:relative!important;
    height:var(--hero-height-desktop,100svh)!important;
    min-height:0!important;
    overflow:hidden!important;
    background:#24221f!important;
  }
  html.is-tablet-device .hero-carousel-tablet-portrait .hero-track,
  html.is-tablet-device .hero-carousel-tablet-portrait .hero-slide,
  html.is-tablet-device .hero-carousel-tablet-portrait .hero-panel{width:100%!important;height:100%!important}
  html.is-tablet-device .hero-carousel-tablet-portrait .hero-slide{
    position:absolute!important;inset:0!important;display:block!important;
    opacity:0!important;pointer-events:none!important;transition:opacity .65s ease!important;
    transform:none!important;
  }
  html.is-tablet-device .hero-carousel-tablet-portrait .hero-slide.active{opacity:1!important;pointer-events:auto!important}
  html.is-tablet-device .hero-carousel-tablet-portrait .hero-panel{position:relative!important;display:block!important;overflow:hidden!important}
  html.is-tablet-device .hero-carousel-tablet-portrait .hero-panel>img,
  html.is-tablet-device .hero-carousel-tablet-portrait .hero-panel>video{
    position:absolute!important;width:130%!important;height:112%!important;max-width:none!important;max-height:none!important;
    left:var(--tablet-portrait-pan-left,-15%)!important;top:var(--tablet-portrait-pan-top,-6%)!important;
    object-fit:cover!important;object-position:center center!important;
  }
}

/* Keep ordinary desktop Home tagline readable. Tablet header sizing remains
   controlled by the dedicated tablet rules. */
@media (min-width:1101px) and (hover:hover) and (pointer:fine){
  .site-header.overlay .brand-line{font-size:16px!important;line-height:1.3!important;max-width:280px!important}
}

/* Skip paint/layout work for below-fold Home sections until they approach the viewport. */
@supports (content-visibility:auto){
  .home>#field-highlights,
  .home>.home-about-clean-v2,
  .home>.home-field-study-clean-v2,
  .home>.contact-story{content-visibility:auto;contain-intrinsic-size:auto 700px}
}

/* ============================================================
   v15.68 — Home horizontal-tablet layout repair.
   Landscape tablets have desktop-like width but substantially less usable
   browser height. Keep the requested 50/50 composition, but stop forcing
   content-heavy sections into one fixed viewport. Text is never clipped or
   overlaid; sections grow naturally when their content needs more height.
   Portrait tablet, mobile and desktop are untouched.
   ============================================================ */
@media (min-width:900px) and (max-width:1366px) and (orientation:landscape){
  html.is-tablet-device .home-about-clean-v2-desktop,
  html.is-tablet-device .home-field-study-clean-v2{
    height:auto!important;
    min-height:100svh!important;
    max-height:none!important;
    overflow:visible!important;
    align-items:stretch!important;
  }
  @supports(min-height:100dvh){
    html.is-tablet-device .home-about-clean-v2-desktop,
    html.is-tablet-device .home-field-study-clean-v2{min-height:100dvh!important}
  }
  html.is-tablet-device .home-about-clean-v2-copy,
  html.is-tablet-device .home-field-study-clean-v2-copy{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    padding:clamp(34px,5.5svh,56px) clamp(38px,4.5vw,64px)!important;
  }
  html.is-tablet-device .home-about-clean-v2-textbox,
  html.is-tablet-device .home-field-study-clean-v2-textbox{
    gap:clamp(16px,2.4svh,26px)!important;
  }
  html.is-tablet-device .home-about-clean-v2-title{
    font-size:min(var(--hac-title-size-desktop,76px),clamp(42px,4.5vw,60px))!important;
    line-height:1.02!important;
  }
  html.is-tablet-device .home-field-study-clean-v2-title{
    font-size:min(var(--hf-title-size-desktop,72px),clamp(42px,4.5vw,60px))!important;
    line-height:1.02!important;
  }
  html.is-tablet-device .home-about-clean-v2-body,
  html.is-tablet-device .home-field-study-clean-v2-body{
    font-size:min(var(--hac-body-size-desktop,16px),16px)!important;
    line-height:1.55!important;
  }
  html.is-tablet-device .home-field-study-clean-v2-body{font-size:min(var(--hf-body-size-desktop,17px),16px)!important}
  html.is-tablet-device .home-about-clean-v2-media,
  html.is-tablet-device .home-field-study-clean-v2-media{
    height:auto!important;
    min-height:100%!important;
  }

  /* Contact/story form: keep the two columns, but use flow typography on the
     short landscape viewport so the large title can never collide with its
     eyebrow/subtitle. */
  html.is-tablet-device .home>.contact.contact-story{
    height:auto!important;
    min-height:100svh!important;
    max-height:none!important;
    overflow:visible!important;
    align-items:stretch!important;
    padding-top:clamp(30px,5svh,52px)!important;
    padding-bottom:clamp(30px,5svh,52px)!important;
    gap:clamp(34px,4vw,58px)!important;
  }
  html.is-tablet-device .contact.contact-story .contact-story-intro{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    gap:clamp(18px,3svh,30px)!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    padding-top:clamp(8px,1.5svh,18px)!important;
  }
  html.is-tablet-device .contact.contact-story .contact-story-intro .contact-story-body,
  html.is-tablet-device .contact.contact-story .contact-story-intro h2{
    position:static!important;
    left:auto!important;top:auto!important;
    transform:none!important;
    max-width:100%!important;
    margin:0!important;
  }
  html.is-tablet-device .contact.contact-story .contact-story-intro .contact-story-body{
    width:min(100%,var(--contact-body-width-desktop,92%))!important;
    font-size:clamp(9px,var(--contact-body-size-desktop,10px),12px)!important;
  }
  html.is-tablet-device .contact.contact-story .contact-story-intro h2{
    width:min(100%,var(--contact-title-width-desktop,92%))!important;
    font-size:min(var(--contact-title-size-desktop,92px),clamp(58px,6.2vw,82px))!important;
    line-height:.88!important;
  }
  html.is-tablet-device .contact.contact-story .contact-story-form-wrap{
    align-self:stretch!important;
    display:flex!important;
    align-items:center!important;
    min-height:0!important;
  }
}

/* ============================================================
   v15.69 — definitive tablet carousel pan model.
   Remove dependency on JS device classification and make portrait/landscape
   use the same overscan geometry as Studio previews. This is deliberately
   last in the stylesheet so older object-position tablet rules cannot win.
   Mobile landscape is excluded by the landscape min-height guard.
   ============================================================ */
@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
  .home .hero-carousel-tablet-portrait .hero-panel>img,
  .home .hero-carousel-tablet-portrait .hero-panel>video{
    position:absolute!important;
    width:140%!important;
    height:120%!important;
    max-width:none!important;
    max-height:none!important;
    left:var(--tablet-portrait-pan-left,-20%)!important;
    top:var(--tablet-portrait-pan-top,-10%)!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:none!important;
  }
}
@media (min-width:900px) and (max-width:1366px) and (min-height:600px) and (orientation:landscape){
  .home .hero-carousel-desktop .hero-panel>img,
  .home .hero-carousel-desktop .hero-panel>video{
    position:absolute!important;
    width:140%!important;
    height:120%!important;
    max-width:none!important;
    max-height:none!important;
    left:var(--tablet-landscape-pan-left,-20%)!important;
    top:var(--tablet-landscape-pan-top,-10%)!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:none!important;
  }
}

/* ============================================================
   v15.70 — Tablet page-layout repair after device testing.
   Purpose: keep portrait tablet distinct from desktop, and let landscape
   Hands stories grow with their actual copy instead of clipping at 100svh.
   Desktop and phone rules are intentionally untouched.
   ============================================================ */

/* ---------- TABLET PORTRAIT: 761–1100px ---------- */
@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
  /* MOMENTS
     The opening is text-only on portrait tablet. It must be content-sized,
     not a desktop/full-viewport hero with hundreds of pixels of blank space. */
  .moments-reference-page .moments-reference-intro{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .moments-reference-page .moments-reference-intro>figure{
    display:none!important;
  }
  .moments-reference-page .moments-reference-copy{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:clamp(72px,10vw,104px) clamp(44px,7vw,72px) clamp(70px,9vw,96px)!important;
  }
  .moments-reference-page .moments-reference-copy h1{
    width:min(100%,760px)!important;
    margin:0!important;
  }
  .moments-reference-page .moments-reference-copy h1 span{
    font-size:clamp(78px,13vw,112px)!important;
    line-height:.86!important;
  }
  .moments-reference-page .moments-reference-copy h1 em{
    display:block!important;
    margin-top:2px!important;
    font-size:clamp(64px,10.8vw,94px)!important;
    line-height:.88!important;
  }
  .moments-reference-page .moments-reference-dek{
    width:min(100%,680px)!important;
    max-width:680px!important;
    margin:30px 0 0!important;
    font-size:clamp(20px,3vw,25px)!important;
    line-height:1.32!important;
  }

  /* HANDS INDEX
     Portrait tablet is a genuine two-column archive. Reset the older desktop
     story-count coordinates so no item can force a hidden third column. */
  .hands-reference-page>.hands-collection-grid,
  .hands-reference-page>.hands-collection-grid[data-story-count],
  .hands-reference-page>.hands-collection-grid[data-story-count="4"],
  .hands-reference-page>.hands-collection-grid[data-story-count="5"],
  .hands-reference-page>.hands-collection-grid[data-story-count="6"]{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:none!important;
    grid-auto-rows:auto!important;
    grid-auto-flow:row!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    align-items:stretch!important;
    align-content:start!important;
    gap:8px!important;
    padding:8px!important;
  }
  .hands-reference-page>.hands-collection-grid[data-story-count]>.hands-collection-card,
  .hands-reference-page>.hands-collection-grid[data-story-count]>.hands-index-quote-card,
  .hands-reference-page>.hands-collection-grid[data-story-count]>.hands-index-contact-card{
    grid-column:auto!important;
    grid-row:auto!important;
  }
  .hands-reference-page>.hands-collection-grid .hands-collection-card{
    width:100%!important;
    height:clamp(320px,45vw,450px)!important;
    min-height:320px!important;
    max-height:450px!important;
  }
  .hands-reference-page>.hands-collection-grid .hands-index-quote-card,
  .hands-reference-page>.hands-collection-grid .hands-index-contact-card{
    width:100%!important;
    height:auto!important;
    min-height:clamp(260px,36vw,360px)!important;
    max-height:none!important;
  }

  /* HANDS STORY/DETAIL
     Portrait tablet stacks media above copy. It must never inherit the
     desktop 65/35 viewport-contained composition. */
  .hands-reference-page .hands-reference-collection{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:38px 34px 58px!important;
    overflow:visible!important;
  }
  .hands-reference-page .hands-reference-collection-layout,
  .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    gap:34px!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    align-items:start!important;
    overflow:visible!important;
  }
  .hands-reference-page .hands-reference-carousel,
  .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-carousel{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .hands-reference-page .hands-reference-stage,
  .hands-reference-page .hands-reference-stage .hands-inline-track,
  .hands-reference-page .hands-reference-stage .hands-inline-track figure{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  .hands-reference-page .hands-reference-stage .hands-inline-track figure.is-hands-active{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .hands-reference-page .hands-reference-stage .hands-inline-track figure>img:not(.portfolio-signature-overlay),
  .hands-reference-page .hands-reference-stage .hands-inline-track figure>video{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    max-height:58svh!important;
    object-fit:contain!important;
    object-position:var(--tablet-portrait-x,50%) var(--tablet-portrait-y,50%)!important;
  }
  .hands-reference-page .hands-reference-progress{
    height:auto!important;
    min-height:30px!important;
    max-height:none!important;
    margin-top:8px!important;
  }
  .hands-reference-page .hands-reference-collection-copy,
  .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-copy{
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    max-width:760px!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 auto!important;
    padding:0!important;
    overflow:visible!important;
  }
  .hands-reference-page .hands-reference-copy-content{
    width:100%!important;
    max-width:none!important;
  }
  .hands-reference-page .hands-reference-collection-copy .hands-reference-collection-head h2{
    font-size:clamp(34px,5.2vw,48px)!important;
    line-height:1.02!important;
  }
  .hands-reference-page .hands-reference-collection-copy .hands-inline-note,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-body,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-note p,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-body p{
    font-size:clamp(17px,2.4vw,20px)!important;
    line-height:1.58!important;
    text-align:left!important;
    text-align-last:auto!important;
    hyphens:none!important;
    -webkit-hyphens:none!important;
  }
}

/* ---------- TABLET LANDSCAPE: 900–1366px ---------- */
@media (min-width:900px) and (max-width:1366px) and (orientation:landscape){
  /* HANDS STORY/DETAIL
     Preserve the requested side-by-side composition, but make it content-led.
     No fixed 100svh section and no overflow:hidden on the copy. */
  .hands-reference-page .hands-reference-collection{
    width:100%!important;
    height:auto!important;
    min-height:calc(100svh - 84px)!important;
    max-height:none!important;
    padding:clamp(28px,4vh,42px) clamp(28px,3.2vw,48px)!important;
    overflow:visible!important;
  }
  .hands-reference-page .hands-reference-collection-layout,
  .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-layout{
    display:grid!important;
    grid-template-columns:minmax(0,56%) minmax(300px,44%)!important;
    grid-template-rows:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:calc(100svh - 150px)!important;
    max-height:none!important;
    column-gap:clamp(28px,3vw,46px)!important;
    align-items:center!important;
    overflow:visible!important;
  }
  .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-layout{
    grid-template-columns:minmax(300px,44%) minmax(0,56%)!important;
  }
  .hands-reference-page .hands-reference-carousel{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .hands-reference-page .hands-reference-stage,
  .hands-reference-page .hands-reference-stage .hands-inline-track,
  .hands-reference-page .hands-reference-stage .hands-inline-track figure{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
  .hands-reference-page .hands-reference-stage .hands-inline-track figure>img:not(.portfolio-signature-overlay),
  .hands-reference-page .hands-reference-stage .hands-inline-track figure>video{
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    max-height:min(68svh,620px)!important;
    object-fit:contain!important;
    object-position:var(--tablet-landscape-x,50%) var(--tablet-landscape-y,50%)!important;
  }
  .hands-reference-page .hands-reference-collection-copy{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:0!important;
    overflow:visible!important;
  }
  .hands-reference-page .hands-reference-copy-content{
    max-width:470px!important;
  }
  .hands-reference-page .hands-reference-collection-copy .hands-inline-note,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-body,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-note p,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-body p{
    font-size:clamp(15px,1.55vw,18px)!important;
    line-height:1.52!important;
  }
}


/* ============================================================
   v15.71 — exact edge-to-edge tablet carousel focal positioning.
   The previous 140% overscan model moved an oversized image box, while
   object-fit:cover cropped again inside that box. As a result, slider ends
   did NOT correspond to the real source-image edges. This final rule uses
   the browser's native cover crop and object-position itself:
   legacy slider -100 = true left edge, 50 = centre, 200 = true right edge.
   Vertical 0/50/100 = top/centre/bottom.
   ============================================================ */
@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
  .home .hero-carousel-tablet-portrait .hero-panel>img,
  .home .hero-carousel-tablet-portrait .hero-panel>video{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:var(--tablet-portrait-object-x,50%) var(--tablet-portrait-y,50%)!important;
    transform:none!important;
  }
}
@media (min-width:900px) and (max-width:1366px) and (min-height:600px) and (orientation:landscape){
  .home .hero-carousel-desktop .hero-panel>img,
  .home .hero-carousel-desktop .hero-panel>video{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:var(--tablet-landscape-object-x,50%) var(--tablet-landscape-y,50%)!important;
    transform:none!important;
  }
}


/* ============================================================
   v15.72 — ISOLATED MOBILE LANDSCAPE MODE.
   Phone landscape reuses the established mobile layout rather than tablet or
   desktop rules. The short-height + coarse-pointer guard deliberately excludes
   portrait phones, tablets and ordinary desktop/laptop windows.
   ============================================================ */


/* ============================================================
   v15.73 — mobile-landscape / portrait-tablet regression repair.
   ============================================================ */
@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
  html.is-tablet-device .home-about-clean-v2-desktop .home-about-clean-v2-media>img,
  html.is-tablet-device .home-about-clean-v2-desktop .home-about-clean-v2-media>video{
    object-position:var(--hac-media-x-tablet-portrait,var(--hac-media-x-desktop,50%)) var(--hac-media-y-tablet-portrait,var(--hac-media-y-desktop,50%))!important;
  }
  html.is-tablet-device .moments-reference-page .moments-reference-intro{
    display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto minmax(320px,48svh)!important;
    height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;
  }
  html.is-tablet-device .moments-reference-page .moments-reference-intro>figure{
    display:block!important;position:relative!important;width:100%!important;height:48svh!important;min-height:320px!important;max-height:560px!important;margin:0!important;overflow:hidden!important;
  }
  html.is-tablet-device .moments-reference-page .moments-reference-intro>figure img{
    display:block!important;width:100%!important;height:100%!important;min-height:0!important;object-fit:cover!important;opacity:1!important;visibility:visible!important;
  }
}



/* ============================================================
   v15.74 — HANDS TABLET LANDSCAPE REPAIR ONLY
   Device screenshots confirmed that the broken Hands layouts were tablet
   landscape, not phone landscape. This block is deliberately isolated to
   900–1366px landscape viewports so portrait tablet, phones and desktop keep
   their existing layouts.
   ============================================================ */
@media (min-width:900px) and (max-width:1366px) and (orientation:landscape){
  /* INDEX: remove inherited fractional rows that were collapsing cover cards
     into thin strips. All cards get a real, stable landscape-tablet height. */
  .hands-reference-page>.hands-collection-grid,
  .hands-reference-page>.hands-collection-grid[data-story-count],
  .hands-reference-page>.hands-collection-grid[data-story-count="4"],
  .hands-reference-page>.hands-collection-grid[data-story-count="5"],
  .hands-reference-page>.hands-collection-grid[data-story-count="6"]{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:none!important;
    grid-auto-rows:auto!important;
    grid-auto-flow:row!important;
    align-items:stretch!important;
    align-content:start!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    gap:8px!important;
    padding:8px!important;
    overflow:visible!important;
  }
  .hands-reference-page>.hands-collection-grid[data-story-count]>.hands-collection-card,
  .hands-reference-page>.hands-collection-grid[data-story-count]>.hands-index-quote-card,
  .hands-reference-page>.hands-collection-grid[data-story-count]>.hands-index-contact-card{
    grid-column:auto!important;
    grid-row:auto!important;
  }
  .hands-reference-page>.hands-collection-grid .hands-collection-card{
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:clamp(270px,38vh,340px)!important;
    min-height:270px!important;
    max-height:340px!important;
    padding:20px 22px!important;
    overflow:hidden!important;
  }
  .hands-reference-page>.hands-collection-grid .hands-collection-card .hands-collection-cover{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:var(--hands-cover-x,50%) var(--hands-cover-y,50%)!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .hands-reference-page>.hands-collection-grid .hands-index-quote-card,
  .hands-reference-page>.hands-collection-grid .hands-index-contact-card{
    width:100%!important;
    height:clamp(270px,38vh,340px)!important;
    min-height:270px!important;
    max-height:340px!important;
    overflow:hidden!important;
  }

  /* STORIES: preserve the requested side-by-side landscape composition while
     removing every viewport lock. The image remains fully visible and copy is
     allowed to determine the section height. */
  .hands-reference-page .hands-reference-archive{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .hands-reference-page .hands-reference-collection{
    box-sizing:border-box!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:34px 34px 46px!important;
    overflow:visible!important;
  }
  .hands-reference-page .hands-reference-collection+.hands-reference-collection{
    margin-top:0!important;
    padding-top:34px!important;
  }
  .hands-reference-page .hands-reference-collection-layout,
  .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-layout{
    display:grid!important;
    grid-template-columns:minmax(0,60%) minmax(300px,40%)!important;
    grid-template-rows:auto!important;
    column-gap:clamp(26px,3vw,42px)!important;
    row-gap:0!important;
    align-items:start!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-layout{
    grid-template-columns:minmax(300px,40%) minmax(0,60%)!important;
  }
  .hands-reference-page .hands-reference-collection:nth-child(odd) .hands-reference-carousel{grid-column:1!important;grid-row:1!important}
  .hands-reference-page .hands-reference-collection:nth-child(odd) .hands-reference-collection-copy{grid-column:2!important;grid-row:1!important}
  .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-copy{grid-column:1!important;grid-row:1!important}
  .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-carousel{grid-column:2!important;grid-row:1!important}

  .hands-reference-page .hands-reference-carousel{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    align-self:start!important;
    overflow:visible!important;
  }
  .hands-reference-page .hands-reference-stage,
  .hands-reference-page .hands-reference-stage .hands-inline-track{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  .hands-reference-page .hands-reference-stage .hands-inline-track figure{
    flex:0 0 100%!important;
    width:100%!important;
    height:min(61svh,540px)!important;
    min-height:300px!important;
    max-height:540px!important;
    margin:0!important;
    overflow:hidden!important;
    background:transparent!important;
  }
  .hands-reference-page .hands-reference-stage .hands-inline-track figure>img:not(.portfolio-signature-overlay),
  .hands-reference-page .hands-reference-stage .hands-inline-track figure>video{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:var(--tablet-landscape-x,50%) var(--tablet-landscape-y,50%)!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .hands-reference-page .hands-reference-progress{
    display:flex!important;
    width:100%!important;
    height:auto!important;
    min-height:32px!important;
    max-height:none!important;
    margin:7px 0 0!important;
    overflow:visible!important;
  }
  .hands-reference-page .hands-reference-collection-copy{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    align-self:start!important;
    overflow:visible!important;
  }
  .hands-reference-page .hands-reference-copy-content{
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    overflow:visible!important;
  }
  .hands-reference-page .hands-reference-collection-copy .hands-reference-collection-head{
    margin:0 0 16px!important;
  }
  .hands-reference-page .hands-reference-collection-copy .hands-reference-collection-head h2{
    font-size:clamp(30px,3vw,40px)!important;
    line-height:1.02!important;
  }
  .hands-reference-page .hands-reference-collection-copy .hands-inline-note,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-body,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-note p,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-body p{
    width:100%!important;
    max-width:none!important;
    font-size:clamp(15px,1.45vw,18px)!important;
    line-height:1.5!important;
    text-align:left!important;
    text-align-last:auto!important;
    hyphens:none!important;
    -webkit-hyphens:none!important;
    overflow:visible!important;
  }
}

/* ============================================================
   v15.75 — TRUE TABLET-PORTRAIT REPAIR
   Some Android tablets request a desktop-like CSS viewport wider than 1100px
   even while physically held in portrait. Width-only tablet breakpoints then
   miss the device. The early boot script already marks real touch tablets with
   html.is-tablet-device from physical screen size. These rules therefore use
   that marker + portrait orientation, and are intentionally capped at 1366px.
   No phone, landscape-tablet or desktop layout is changed.
   ============================================================ */
@media (orientation:portrait) and (max-width:1366px){
  /* HOME ABOUT — use the dedicated portrait-tablet focal point regardless of
     whether the tablet browser exposes a 900px or desktop-like 1200px viewport. */
  html.is-tablet-device .home-about-clean-v2-desktop .home-about-clean-v2-media>img,
  html.is-tablet-device .home-about-clean-v2-desktop .home-about-clean-v2-media>video{
    object-position:var(--hac-media-x-tablet-portrait,var(--hac-media-x-desktop,50%)) var(--hac-media-y-tablet-portrait,var(--hac-media-y-desktop,50%))!important;
  }

  /* HANDS INDEX — portrait tablet is always two real columns. Reset every
     story-count coordinate inherited from desktop so no third hidden column
     can be created in desktop-site browser mode. */
  html.is-tablet-device .hands-reference-page>.hands-collection-grid,
  html.is-tablet-device .hands-reference-page>.hands-collection-grid[data-story-count],
  html.is-tablet-device .hands-reference-page>.hands-collection-grid[data-story-count="4"],
  html.is-tablet-device .hands-reference-page>.hands-collection-grid[data-story-count="5"],
  html.is-tablet-device .hands-reference-page>.hands-collection-grid[data-story-count="6"]{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:none!important;
    grid-auto-flow:row!important;
    grid-auto-rows:auto!important;
    width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
    gap:8px!important;padding:8px!important;align-items:stretch!important;align-content:start!important;
    overflow:visible!important;
  }
  html.is-tablet-device .hands-reference-page>.hands-collection-grid[data-story-count]>.hands-collection-card,
  html.is-tablet-device .hands-reference-page>.hands-collection-grid[data-story-count]>.hands-index-quote-card,
  html.is-tablet-device .hands-reference-page>.hands-collection-grid[data-story-count]>.hands-index-contact-card{
    grid-column:auto!important;grid-row:auto!important;
  }
  html.is-tablet-device .hands-reference-page>.hands-collection-grid .hands-collection-card{
    position:relative!important;display:block!important;width:100%!important;
    height:clamp(330px,54vw,520px)!important;min-height:330px!important;max-height:520px!important;
    overflow:hidden!important;
  }
  html.is-tablet-device .hands-reference-page>.hands-collection-grid .hands-collection-card .hands-collection-cover{
    position:absolute!important;inset:0!important;display:block!important;
    width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
    object-fit:cover!important;visibility:visible!important;opacity:1!important;
  }
  html.is-tablet-device .hands-reference-page>.hands-collection-grid .hands-index-quote-card,
  html.is-tablet-device .hands-reference-page>.hands-collection-grid .hands-index-contact-card{
    width:100%!important;height:auto!important;min-height:clamp(280px,42vw,420px)!important;max-height:none!important;
  }

  /* HANDS STORIES — force the portrait editorial stack even when the browser
     reports a desktop-like viewport. Media comes first, copy second, and the
     section grows from its actual content instead of a viewport lock. */
  html.is-tablet-device .hands-reference-page .hands-reference-archive{
    width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;
  }
  html.is-tablet-device .hands-reference-page .hands-reference-collection{
    box-sizing:border-box!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
    margin:0!important;padding:34px 30px 56px!important;overflow:visible!important;
  }
  html.is-tablet-device .hands-reference-page .hands-reference-collection-layout,
  html.is-tablet-device .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-layout{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;
    width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
    gap:30px!important;align-items:start!important;overflow:visible!important;
  }
  html.is-tablet-device .hands-reference-page .hands-reference-carousel,
  html.is-tablet-device .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-carousel{
    grid-column:1!important;grid-row:1!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
    overflow:visible!important;
  }
  html.is-tablet-device .hands-reference-page .hands-reference-stage{
    position:relative!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
    overflow:hidden!important;
  }
  html.is-tablet-device .hands-reference-page .hands-reference-stage .hands-inline-track{
    display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
    overflow:hidden!important;transform:none!important;
  }
  html.is-tablet-device .hands-reference-page .hands-reference-stage .hands-inline-track figure{
    display:none!important;position:relative!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
    margin:0!important;overflow:hidden!important;
  }
  html.is-tablet-device .hands-reference-page .hands-reference-stage .hands-inline-track figure.is-hands-active{
    display:block!important;
  }
  html.is-tablet-device .hands-reference-page .hands-reference-stage .hands-inline-track figure>img:not(.portfolio-signature-overlay),
  html.is-tablet-device .hands-reference-page .hands-reference-stage .hands-inline-track figure>video{
    display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;
    object-fit:contain!important;object-position:var(--tablet-portrait-x,50%) var(--tablet-portrait-y,50%)!important;
    visibility:visible!important;opacity:1!important;
  }
  html.is-tablet-device .hands-reference-page .hands-reference-progress{
    display:flex!important;height:auto!important;min-height:28px!important;max-height:none!important;margin-top:8px!important;
  }
  html.is-tablet-device .hands-reference-page .hands-reference-collection-copy,
  html.is-tablet-device .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-copy{
    grid-column:1!important;grid-row:2!important;width:100%!important;max-width:780px!important;
    height:auto!important;min-height:0!important;max-height:none!important;margin:0 auto!important;padding:0!important;
    overflow:visible!important;
  }
  html.is-tablet-device .hands-reference-page .hands-reference-copy-content{width:100%!important;max-width:none!important}
  html.is-tablet-device .hands-reference-page .hands-reference-collection-copy .hands-reference-collection-head h2{
    font-size:clamp(34px,5.5vw,50px)!important;line-height:1.03!important;
  }
  html.is-tablet-device .hands-reference-page .hands-reference-collection-copy .hands-inline-note,
  html.is-tablet-device .hands-reference-page .hands-reference-collection-copy .hands-inline-body,
  html.is-tablet-device .hands-reference-page .hands-reference-collection-copy .hands-inline-note p,
  html.is-tablet-device .hands-reference-page .hands-reference-collection-copy .hands-inline-body p{
    font-size:clamp(17px,2.3vw,20px)!important;line-height:1.58!important;text-align:left!important;text-align-last:auto!important;
    hyphens:none!important;-webkit-hyphens:none!important;
  }
}

/* ============================================================
   v15.76 — PHYSICAL TABLET PORTRAIT (desktop-site-safe)
   Android Chrome can expose a landscape-like CSS viewport while a tablet is
   physically upright. Do not use @media (orientation:portrait) for this mode.
   The boot script sets html.is-tablet-portrait from the physical screen.
   ============================================================ */
html.is-tablet-device.is-tablet-portrait .home-about-clean-v2-desktop .home-about-clean-v2-media>img,
html.is-tablet-device.is-tablet-portrait .home-about-clean-v2-desktop .home-about-clean-v2-media>video{
  object-position:var(--hac-media-x-tablet-portrait,var(--hac-media-x-desktop,50%)) var(--hac-media-y-tablet-portrait,var(--hac-media-y-desktop,50%))!important;
}

/* Hands landing/index — always a real 2-column portrait-tablet grid. */
html.is-tablet-device.is-tablet-portrait .hands-reference-page>.hands-collection-grid,
html.is-tablet-device.is-tablet-portrait .hands-reference-page>.hands-collection-grid[data-story-count],
html.is-tablet-device.is-tablet-portrait .hands-reference-page>.hands-collection-grid[data-story-count="4"],
html.is-tablet-device.is-tablet-portrait .hands-reference-page>.hands-collection-grid[data-story-count="5"],
html.is-tablet-device.is-tablet-portrait .hands-reference-page>.hands-collection-grid[data-story-count="6"]{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:none!important;
  grid-auto-flow:row!important;
  grid-auto-rows:auto!important;
  width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
  gap:10px!important;padding:10px!important;
  align-items:stretch!important;align-content:start!important;
  overflow:visible!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page>.hands-collection-grid[data-story-count]>*{
  grid-column:auto!important;grid-row:auto!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page>.hands-collection-grid .hands-collection-card{
  position:relative!important;display:block!important;width:100%!important;
  height:clamp(330px,62vw,560px)!important;min-height:330px!important;max-height:560px!important;
  overflow:hidden!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page>.hands-collection-grid .hands-collection-card .hands-collection-cover,
html.is-tablet-device.is-tablet-portrait .hands-reference-page>.hands-collection-grid .hands-collection-card img.hands-collection-cover{
  position:absolute!important;inset:0!important;display:block!important;
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:cover!important;visibility:visible!important;opacity:1!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page>.hands-collection-grid .hands-index-quote-card,
html.is-tablet-device.is-tablet-portrait .hands-reference-page>.hands-collection-grid .hands-index-contact-card{
  width:100%!important;height:auto!important;min-height:clamp(300px,50vw,460px)!important;max-height:none!important;
}

/* Hands story/detail — media must exist above each story, never collapse. */
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-archive,
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-collection{
  width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-collection{
  box-sizing:border-box!important;margin:0!important;padding:34px 28px 58px!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-collection-layout,
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-layout{
  display:flex!important;flex-direction:column!important;
  width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
  gap:28px!important;align-items:stretch!important;overflow:visible!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-carousel,
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-carousel{
  order:1!important;display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
  overflow:visible!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-stage{
  position:relative!important;display:block!important;width:100%!important;
  height:clamp(360px,72vw,620px)!important;min-height:360px!important;max-height:620px!important;
  overflow:hidden!important;background:transparent!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-stage .hands-inline-track{
  position:relative!important;display:block!important;width:100%!important;height:100%!important;min-height:100%!important;max-height:100%!important;
  overflow:hidden!important;transform:none!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-stage .hands-inline-track figure{
  display:none!important;position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;min-height:100%!important;max-height:100%!important;
  margin:0!important;overflow:hidden!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-stage .hands-inline-track figure.is-hands-active{
  display:block!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-stage .hands-inline-track figure>img:not(.portfolio-signature-overlay),
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-stage .hands-inline-track figure>video{
  display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:var(--tablet-portrait-x,50%) var(--tablet-portrait-y,50%)!important;
  visibility:visible!important;opacity:1!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-progress{
  display:flex!important;width:100%!important;height:auto!important;min-height:30px!important;max-height:none!important;
  margin:8px 0 0!important;overflow:visible!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-collection-copy,
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-copy{
  order:2!important;display:block!important;width:100%!important;max-width:820px!important;
  height:auto!important;min-height:0!important;max-height:none!important;margin:0 auto!important;padding:0!important;overflow:visible!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-copy-content{
  width:100%!important;max-width:none!important;height:auto!important;overflow:visible!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-collection-copy .hands-reference-collection-head h2{
  font-size:clamp(34px,5.2vw,50px)!important;line-height:1.03!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-collection-copy .hands-inline-note,
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-collection-copy .hands-inline-body,
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-collection-copy .hands-inline-note p,
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-collection-copy .hands-inline-body p{
  width:100%!important;max-width:none!important;font-size:clamp(17px,2.1vw,20px)!important;line-height:1.58!important;
  text-align:left!important;text-align-last:auto!important;hyphens:none!important;-webkit-hyphens:none!important;overflow:visible!important;
}

/* ============================================================
   v15.77 — TABLET PORTRAIT HARD FALLBACK
   The user's Android tablet may run Chrome in Desktop Site mode. In that mode
   JS/CSS orientation APIs can disagree. These rules use touch + portrait-shaped
   viewport dimensions as a second, independent gate. They intentionally do not
   match laptops/desktops (hover:hover / pointer:fine), phones, or landscape tablets.
   ============================================================ */
@media (hover:none) and (pointer:coarse) and (min-width:600px) and (max-width:1366px) and (min-height:900px) and (max-aspect-ratio:1/1){
  /* HOME ABOUT: dedicated tablet portrait crop, even if the JS marker is late. */
  .home-about-clean-v2-desktop .home-about-clean-v2-media>img,
  .home-about-clean-v2-desktop .home-about-clean-v2-media>video{
    object-position:var(--hac-media-x-tablet-portrait,var(--hac-media-x-desktop,50%)) var(--hac-media-y-tablet-portrait,var(--hac-media-y-desktop,50%))!important;
  }

  /* HANDS INDEX: two actual portrait cards per row. Never allow inherited row
     sizing to collapse the covers into ribbons. */
  body .hands-reference-page>.hands-collection-grid,
  body .hands-reference-page>.hands-collection-grid[data-story-count],
  body .hands-reference-page>.hands-collection-grid[data-story-count="4"],
  body .hands-reference-page>.hands-collection-grid[data-story-count="5"],
  body .hands-reference-page>.hands-collection-grid[data-story-count="6"]{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:none!important;
    grid-auto-flow:row!important;
    grid-auto-rows:auto!important;
    align-items:stretch!important;
    align-content:start!important;
    width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
    gap:10px!important;padding:10px!important;overflow:visible!important;
  }
  body .hands-reference-page>.hands-collection-grid>*{
    grid-column:auto!important;grid-row:auto!important;
  }
  body .hands-reference-page>.hands-collection-grid .hands-collection-card{
    position:relative!important;display:block!important;
    width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
    aspect-ratio:4/5!important;overflow:hidden!important;
  }
  body .hands-reference-page>.hands-collection-grid .hands-collection-card .hands-collection-cover,
  body .hands-reference-page>.hands-collection-grid .hands-collection-card img.hands-collection-cover{
    display:block!important;position:absolute!important;inset:0!important;
    width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
    object-fit:cover!important;object-position:var(--hands-cover-x,50%) var(--hands-cover-y,50%)!important;
    visibility:visible!important;opacity:1!important;transform:none!important;
  }
  body .hands-reference-page>.hands-collection-grid .hands-index-quote-card,
  body .hands-reference-page>.hands-collection-grid .hands-index-contact-card{
    width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
    aspect-ratio:4/5!important;overflow:hidden!important;
  }

  /* HANDS STORIES: one complete image, then its text. The first slide is a CSS
     fallback so media is still visible before/without carousel JS activation. */
  body .hands-reference-page .hands-reference-archive,
  body .hands-reference-page .hands-reference-collection{
    display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;
  }
  body .hands-reference-page .hands-reference-collection{
    box-sizing:border-box!important;margin:0!important;padding:34px 28px 58px!important;
  }
  body .hands-reference-page .hands-reference-collection-layout,
  body .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-layout{
    display:flex!important;flex-direction:column!important;
    grid-template-columns:none!important;grid-template-rows:none!important;
    width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
    gap:26px!important;align-items:stretch!important;overflow:visible!important;
  }
  body .hands-reference-page .hands-reference-carousel,
  body .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-carousel{
    order:1!important;display:block!important;position:relative!important;
    width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
    margin:0!important;overflow:visible!important;
  }
  body .hands-reference-page .hands-reference-stage{
    display:block!important;position:relative!important;width:100%!important;
    height:auto!important;min-height:0!important;max-height:none!important;
    aspect-ratio:4/3!important;overflow:hidden!important;background:transparent!important;
  }
  body .hands-reference-page .hands-reference-stage .hands-inline-track{
    display:block!important;position:absolute!important;inset:0!important;
    width:100%!important;height:100%!important;min-height:100%!important;max-height:100%!important;
    overflow:hidden!important;transform:none!important;
  }
  body .hands-reference-page .hands-reference-stage .hands-inline-track figure{
    display:none!important;position:absolute!important;inset:0!important;
    width:100%!important;height:100%!important;min-height:100%!important;max-height:100%!important;
    margin:0!important;overflow:hidden!important;
  }
  body .hands-reference-page .hands-reference-stage .hands-inline-track figure:first-child,
  body .hands-reference-page .hands-reference-stage .hands-inline-track figure.is-hands-active{
    display:block!important;
  }
  body .hands-reference-page .hands-reference-stage .hands-inline-track figure>img:not(.portfolio-signature-overlay),
  body .hands-reference-page .hands-reference-stage .hands-inline-track figure>video{
    display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
    object-fit:contain!important;object-position:var(--tablet-portrait-x,50%) var(--tablet-portrait-y,50%)!important;
    visibility:visible!important;opacity:1!important;transform:none!important;
  }
  body .hands-reference-page .hands-reference-progress{
    display:flex!important;width:100%!important;height:auto!important;min-height:30px!important;max-height:none!important;
    margin:8px 0 0!important;overflow:visible!important;
  }
  body .hands-reference-page .hands-reference-collection-copy,
  body .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-copy{
    order:2!important;display:block!important;position:relative!important;
    width:100%!important;max-width:820px!important;height:auto!important;min-height:0!important;max-height:none!important;
    margin:0 auto!important;padding:0!important;overflow:visible!important;
  }
  body .hands-reference-page .hands-reference-copy-content{width:100%!important;max-width:none!important;height:auto!important;overflow:visible!important}
  body .hands-reference-page .hands-reference-collection-copy .hands-reference-collection-head h2{font-size:clamp(34px,5.2vw,50px)!important;line-height:1.03!important}
  body .hands-reference-page .hands-reference-collection-copy .hands-inline-note,
  body .hands-reference-page .hands-reference-collection-copy .hands-inline-body,
  body .hands-reference-page .hands-reference-collection-copy .hands-inline-note p,
  body .hands-reference-page .hands-reference-collection-copy .hands-inline-body p{
    width:100%!important;max-width:none!important;font-size:clamp(17px,2.1vw,20px)!important;line-height:1.58!important;
    text-align:left!important;text-align-last:auto!important;hyphens:none!important;-webkit-hyphens:none!important;overflow:visible!important;
  }
}

/* ============================================================
   v15.78 — TABLET PORTRAIT HANDS NATURAL MEDIA + HOME ABOUT FOCAL FIX
   Scope: tablet portrait only. Desktop, tablet landscape, phone portrait,
   and phone landscape remain unchanged.
   ============================================================ */

/* Hands story/detail media: stop forcing a portrait/tall frame. Let the
   active cover/gallery image keep its own source aspect ratio at full width. */
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-collection-media,
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-stage{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  overflow:visible!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-stage .hands-inline-track{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-stage .hands-inline-track figure{
  position:relative!important;
  inset:auto!important;
  display:none!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  overflow:visible!important;
}
/* Before JS initializes, show only the first slide as a no-JS fallback.
   Once the carousel is ready, ONLY the active slide is allowed in flow. */
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-stage .hands-inline-track:not(.is-hands-carousel-ready) figure:first-child{
  display:block!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-stage .hands-inline-track.is-hands-carousel-ready figure{
  display:none!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-stage .hands-inline-track.is-hands-carousel-ready figure.is-hands-active{
  display:block!important;
}
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-stage .hands-inline-track figure>img:not(.portfolio-signature-overlay),
html.is-tablet-device.is-tablet-portrait .hands-reference-page .hands-reference-stage .hands-inline-track figure>video{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:var(--tablet-portrait-x,50%) var(--tablet-portrait-y,50%)!important;
  transform:none!important;
}

/* Home About: CSS fallback for real touch tablets in portrait. The JS below
   also writes object-position inline so saved backend values always win. */
@media (hover:none) and (pointer:coarse) and (min-width:700px) and (max-width:1400px){
  html.is-tablet-portrait .home-about-clean-v2-desktop .home-about-clean-v2-media>img,
  html.is-tablet-portrait .home-about-clean-v2-desktop .home-about-clean-v2-media>video{
    object-position:var(--hac-media-x-tablet-portrait,50%) var(--hac-media-y-tablet-portrait,50%)!important;
  }
}

/* ============================================================
   v15.79 — TABLET PORTRAIT HANDS: NATURAL COVER PHOTO RATIOS
   Scope: portrait tablets only. Story cover cards use the actual intrinsic
   image ratio instead of the inherited 4:5 portrait card frame.
   ============================================================ */
html.is-tablet-device.is-tablet-portrait body .hands-reference-page>.hands-collection-grid .hands-collection-card.has-cover{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  padding:0!important;
  overflow:hidden!important;
}
html.is-tablet-device.is-tablet-portrait body .hands-reference-page>.hands-collection-grid .hands-collection-card.has-cover .hands-collection-cover{
  position:relative!important;
  inset:auto!important;
  z-index:0!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  visibility:visible!important;
  opacity:1!important;
}
html.is-tablet-device.is-tablet-portrait body .hands-reference-page>.hands-collection-grid .hands-collection-card.has-cover .hands-collection-shade{
  z-index:1!important;
}
html.is-tablet-device.is-tablet-portrait body .hands-reference-page>.hands-collection-grid .hands-collection-card.has-cover h2,
html.is-tablet-device.is-tablet-portrait body .hands-reference-page>.hands-collection-grid .hands-collection-card.has-cover .hands-collection-arrow{
  z-index:2!important;
}

/* Independent touch-tablet fallback for Android/Desktop Site mode. */
@media (hover:none) and (pointer:coarse) and (min-width:600px) and (max-width:1366px) and (min-height:900px) and (max-aspect-ratio:1/1){
  body .hands-reference-page>.hands-collection-grid .hands-collection-card.has-cover{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    padding:0!important;
    overflow:hidden!important;
  }
  body .hands-reference-page>.hands-collection-grid .hands-collection-card.has-cover .hands-collection-cover{
    position:relative!important;
    inset:auto!important;
    z-index:0!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
    visibility:visible!important;
    opacity:1!important;
  }
  body .hands-reference-page>.hands-collection-grid .hands-collection-card.has-cover .hands-collection-shade{z-index:1!important}
  body .hands-reference-page>.hands-collection-grid .hands-collection-card.has-cover h2,
  body .hands-reference-page>.hands-collection-grid .hands-collection-card.has-cover .hands-collection-arrow{z-index:2!important}
}

/* ============================================================
   v15.80 — HANDS PORTRAIT TABLET: TRUE INTRINSIC COVER HEIGHTS
   The remaining vertical-card effect was not the image itself: the two-column
   CSS grid was stretching every item to the height of the tallest item in its
   row. That kept landscape covers visually tall even after height:auto.
   This final portrait-tablet override disables grid-item stretching and lets
   each image-backed card take the intrinsic height of its cover image.
   ============================================================ */
@media (min-width:600px) and (max-width:1100px) and (orientation:portrait){
  body .hands-reference-page>.hands-collection-grid,
  body .hands-reference-page>.hands-collection-grid[data-story-count]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    align-items:start!important;
    align-content:start!important;
  }

  body .hands-reference-page>.hands-collection-grid>.hands-collection-card.has-cover{
    align-self:start!important;
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    padding:0!important;
    overflow:hidden!important;
  }

  body .hands-reference-page>.hands-collection-grid>.hands-collection-card.has-cover>img.hands-collection-cover{
    display:block!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-width:100%!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
    visibility:visible!important;
    opacity:1!important;
  }

  /* Keep overlays on top without giving the card a synthetic height. */
  body .hands-reference-page>.hands-collection-grid>.hands-collection-card.has-cover>.hands-collection-shade{
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
  }
  body .hands-reference-page>.hands-collection-grid>.hands-collection-card.has-cover>h2,
  body .hands-reference-page>.hands-collection-grid>.hands-collection-card.has-cover>.hands-collection-arrow{
    position:absolute!important;
    z-index:2!important;
  }

  body .hands-reference-page>.hands-collection-grid>.hands-index-quote-card,
  body .hands-reference-page>.hands-collection-grid>.hands-index-contact-card{
    align-self:start!important;
  }
}

/* Same correction when Android Desktop Site mode gives the portrait tablet a
   wider CSS viewport but the JS tablet marker is present. */
html.is-tablet-device.is-tablet-portrait body .hands-reference-page>.hands-collection-grid{
  align-items:start!important;
  align-content:start!important;
}
html.is-tablet-device.is-tablet-portrait body .hands-reference-page>.hands-collection-grid>.hands-collection-card.has-cover{
  align-self:start!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  padding:0!important;
}
html.is-tablet-device.is-tablet-portrait body .hands-reference-page>.hands-collection-grid>.hands-collection-card.has-cover>img.hands-collection-cover{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  transform:none!important;
}

/* ============================================================
   v15.81 — HANDS PORTRAIT TABLET: UNIFORM LANDSCAPE COVERS
   Scope: portrait tablets only. Keep the 2-column archive, but make every
   photographic cover the same 4:3 landscape size so Tunis Village and
   Javanese Farmers are visually equal without returning to tall cards.
   ============================================================ */
@media (min-width:600px) and (max-width:1100px) and (orientation:portrait){
  body .hands-reference-page>.hands-collection-grid>.hands-collection-card.has-cover{
    aspect-ratio:4/3!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  body .hands-reference-page>.hands-collection-grid>.hands-collection-card.has-cover>img.hands-collection-cover{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:var(--hands-cover-x,50%) var(--hands-cover-y,50%)!important;
  }
}
html.is-tablet-device.is-tablet-portrait body .hands-reference-page>.hands-collection-grid>.hands-collection-card.has-cover{
  aspect-ratio:4/3!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
}
html.is-tablet-device.is-tablet-portrait body .hands-reference-page>.hands-collection-grid>.hands-collection-card.has-cover>img.hands-collection-cover{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:var(--hands-cover-x,50%) var(--hands-cover-y,50%)!important;
}


/* ============================================================
   v15.82 — HANDS PORTRAIT TABLET: SINGLE ACTIVE GALLERY IMAGE
   The previous portrait rule always displayed figure:first-child as well as
   figure.is-hands-active. When the first slide was the cover, clicking Next
   therefore left the cover visible and placed the new slide underneath it.
   After JS initializes, exactly one figure may be displayed.
   ============================================================ */
@media (min-width:600px) and (max-width:1100px) and (orientation:portrait){
  body .hands-reference-page .hands-reference-stage .hands-inline-track.is-hands-carousel-ready figure{
    display:none!important;
  }
  body .hands-reference-page .hands-reference-stage .hands-inline-track.is-hands-carousel-ready figure.is-hands-active{
    display:block!important;
    position:relative!important;
  }
  body .hands-reference-page .hands-reference-stage .hands-inline-track.is-hands-carousel-ready figure:not(.is-hands-active){
    position:absolute!important;
    width:0!important;
    height:0!important;
    overflow:hidden!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}


/* ============================================================
   v15.83 — MOBILE LANDSCAPE SCALE PASS
   Scope is deliberately limited to short, coarse-pointer landscape phones.
   No portrait phone, tablet portrait/landscape, or desktop rules are changed.
   ============================================================ */



/* ============================================================
   v15.84 — TRUE MOBILE-LANDSCAPE RESPONSIVE PASS
   This block is intentionally LAST and is isolated to landscape phones only.
   It does not target portrait mobile, either tablet orientation, or desktop.
   ============================================================ */



/* ============================================================
   v15.85 — SITE PERFORMANCE + DESKTOP TAGLINE
   ============================================================ */

/* Restore a more readable desktop tagline without changing tablet/mobile. */
@media (min-width:1367px){
  .site-header .brand-line,
  .site-header.overlay .brand-line,
  .site-header:not(.overlay) .brand-line{
    font-size:17px!important;
    line-height:1.28!important;
    max-width:310px!important;
  }
}

/* Skip paint/layout work for off-screen repeated content until it approaches
   the viewport. This does not hide content and preserves normal scrolling. */
@supports (content-visibility:auto){
  .people-reference-card,
  .hands-reference-story,
  .moment-entry,
  .insight-editorial-entry,
  .story-grid>a{
    content-visibility:auto;
    contain-intrinsic-size:auto 620px;
  }
}


/* ============================================================
   v15.86 — MOBILE LANDSCAPE HARD REPAIR
   Final override. Only short touch landscape phones are targeted.
   No portrait-phone, tablet or desktop rules are changed.
   ============================================================ */


/* ============================================================
   v15.89 — CONSOLIDATED MOBILE LANDSCAPE MODE
   One explicit landscape-phone layer to stop old portrait/tablet/desktop
   rules from leaking into short horizontal phone screens.
   Scope only: coarse-pointer landscape phones up to 950px wide / 559px tall.
   ============================================================ */






/* ============================================================
   v15.96 — ONE AUTHORITATIVE MOBILE-LANDSCAPE IMPLEMENTATION
   ============================================================
   All previous phone-landscape branches were removed above.
   Portrait mobile remains intact.
   Tablet landscape remains intact.
   Desktop remains intact.

   This is the ONLY phone-landscape layout:
   320–950 CSS px wide, <=559 CSS px high, landscape.
   ============================================================ */
@media (orientation:landscape) and (max-width:950px) and (max-height:559px){

  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  body.menu-open{overflow:auto!important}

  /* HEADER — tablet-landscape visual language */
  .site-header,
  .site-header.overlay{
    position:relative!important;
    inset:auto!important;
    z-index:5000!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    width:100%!important;
    height:56px!important;
    min-height:56px!important;
    padding:8px 16px!important;
    background:var(--paper)!important;
    border-bottom:1px solid rgba(29,29,25,.14)!important;
    color:var(--ink)!important;
    box-shadow:none!important;
  }
  .site-header .brand,
  .site-header .brand-group{display:flex!important;align-items:center!important;min-width:0!important;visibility:visible!important;opacity:1!important}
  .site-header .brand img,
  .site-header .brand-logo{
    display:block!important;visibility:visible!important;opacity:1!important;
    width:clamp(92px,15vw,132px)!important;height:auto!important;max-height:34px!important;
    object-fit:contain!important;filter:none!important;
  }
  .site-header .brand-logo-dark-bg{display:none!important}
  .site-header .brand-logo-light-bg{display:block!important}
  .site-header .brand-line,
  .site-header .brand-meta,
  .site-header .menu-toggle,
  .site-header .mobile-menu-social,
  .site-header .header-menu-social{display:none!important}
  .site-header nav,
  .site-header nav.open,
  body.menu-open .site-header nav{
    position:static!important;inset:auto!important;display:flex!important;flex:1 1 auto!important;
    flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;
    gap:clamp(8px,1.45vw,15px)!important;width:auto!important;height:auto!important;min-height:0!important;
    max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important;
    background:transparent!important;border:0!important;box-shadow:none!important;transform:none!important;
    opacity:1!important;visibility:visible!important;pointer-events:auto!important;color:inherit!important;
  }
  .site-header nav .header-menu-links{
    display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;
    flex-wrap:nowrap!important;gap:clamp(8px,1.45vw,15px)!important;width:auto!important;
  }
  .site-header nav>a,
  .site-header nav .header-menu-links>a{
    display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;
    min-height:0!important;padding:6px 0!important;margin:0!important;border:0!important;background:transparent!important;
    color:inherit!important;font:500 clamp(8px,1.08vw,10px)/1 var(--font-ui,Montserrat,Arial,sans-serif)!important;
    letter-spacing:.075em!important;text-transform:uppercase!important;white-space:nowrap!important;
    pointer-events:auto!important;cursor:pointer!important;
  }
  .site-header nav .menu-slot-hidden{display:none!important}

  /* HOME HERO — 2 panels exactly fill the remaining landscape viewport */
  .home>.hero-carousel-mobile,
  .home>.hero-carousel-tablet-portrait{display:none!important;visibility:hidden!important;opacity:0!important}
  .home>.hero-carousel-desktop{
    display:block!important;visibility:visible!important;opacity:1!important;
    width:100%!important;height:calc(100dvh - 56px)!important;min-height:220px!important;max-height:none!important;
    margin:0!important;overflow:hidden!important;background:#151515!important;
  }
  .hero-carousel-desktop .hero-track{
    display:flex!important;width:100%!important;height:100%!important;min-height:100%!important;
    align-items:stretch!important;
  }
  .hero-carousel-desktop .hero-slide{
    position:relative!important;display:grid!important;grid-template-columns:1fr 1fr!important;
    grid-template-rows:minmax(0,1fr)!important;flex:0 0 100%!important;
    width:100%!important;height:100%!important;min-height:100%!important;max-height:100%!important;
    align-items:stretch!important;overflow:hidden!important;
  }
  .hero-carousel-desktop .hero-slide.hero-slide-single{grid-template-columns:1fr!important}
  .hero-carousel-desktop .hero-panel{
    position:relative!important;display:block!important;width:100%!important;height:100%!important;
    min-height:0!important;max-height:100%!important;overflow:hidden!important;background:#151515!important;
  }
  .hero-carousel-desktop .hero-panel>img,
  .hero-carousel-desktop .hero-panel>video{
    position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;
    min-height:0!important;max-width:none!important;max-height:none!important;object-fit:cover!important;
    object-position:center center!important;transform:none!important;
  }
  .hero-carousel-desktop .hero-panel-copy{left:14px!important;right:42px!important;bottom:13px!important;max-width:82%!important}
  .hero-carousel-desktop .hero-panel-copy strong{font-size:clamp(22px,3.8vw,34px)!important;line-height:.92!important}
  .hero-carousel-desktop .hero-panel-copy small{margin-top:5px!important;font-size:8px!important;line-height:1.28!important}
  .hero-carousel-desktop .hero-panel-number{top:12px!important;left:14px!important;font-size:8px!important}
  .hero-carousel-desktop .hero-arrow{width:36px!important;height:36px!important;top:50%!important}
  .hero-carousel-desktop .hero-arrow.prev{left:9px!important}
  .hero-carousel-desktop .hero-arrow.next{right:9px!important}

  /* HOME ABOUT + FIELD STUDY — same 50/50 geometry as tablet */
  .home-about-clean-v2-desktop{display:none!important}
  .home-about-clean-v2-mobile,
  .home-field-study-clean-v2{
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    align-items:stretch!important;width:100%!important;height:auto!important;
    min-height:calc(100dvh - 56px)!important;max-height:none!important;overflow:visible!important;
  }
  .home-about-clean-v2-mobile .home-about-clean-v2-media,
  .home-field-study-clean-v2 .home-field-study-clean-v2-media{
    position:relative!important;width:100%!important;height:auto!important;min-height:calc(100dvh - 56px)!important;
    max-height:none!important;overflow:hidden!important;
  }
  .home-about-clean-v2-mobile .home-about-clean-v2-media>img,
  .home-about-clean-v2-mobile .home-about-clean-v2-media>video,
  .home-field-study-clean-v2 .home-field-study-clean-v2-media>img,
  .home-field-study-clean-v2 .home-field-study-clean-v2-media>video{
    position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;
    max-height:none!important;object-fit:cover!important;
  }
  .home-about-clean-v2-mobile .home-about-clean-v2-copy,
  .home-field-study-clean-v2 .home-field-study-clean-v2-copy{
    display:flex!important;flex-direction:column!important;justify-content:center!important;min-width:0!important;
    padding:clamp(18px,4dvh,28px) clamp(18px,3vw,28px)!important;overflow:visible!important;
  }
  .home-about-clean-v2-mobile .home-about-clean-v2-title,
  .home-field-study-clean-v2 .home-field-study-clean-v2-title{
    position:static!important;inset:auto!important;transform:none!important;
    margin:0 0 12px!important;font-size:clamp(27px,4.3vw,40px)!important;line-height:.98!important;
  }
  .home-about-clean-v2-mobile .home-about-clean-v2-body,
  .home-field-study-clean-v2 .home-field-study-clean-v2-body{
    position:static!important;inset:auto!important;transform:none!important;
    font-size:clamp(11px,1.55vw,14px)!important;line-height:1.48!important;
  }
  .home-field-study-clean-v2 .home-field-study-clean-v2-copy{align-items:center!important;text-align:center!important}

  /* HIGHLIGHTS */
  .home>.highlights.highlights-locked{
    display:flex!important;flex-direction:column!important;justify-content:center!important;
    width:100%!important;height:auto!important;min-height:calc(100dvh - 56px)!important;max-height:none!important;
    padding:18px 0!important;overflow:visible!important;
  }
  .home>.highlights.highlights-locked header{position:static!important;gap:8px!important;padding:0 18px!important}
  .home>.highlights.highlights-locked header h2{font-size:clamp(27px,4.7vw,40px)!important;text-align:center!important}
  .home>.highlights.highlights-locked .highlights-description{max-width:560px!important;font-size:11px!important;text-align:center!important}
  .home>.highlights.highlights-locked .highlight-shell{
    display:grid!important;grid-template-columns:32px minmax(0,1fr) 32px!important;
    width:100%!important;max-width:920px!important;margin:12px auto 0!important;padding:0 8px!important;
  }
  .home>.highlights.highlights-locked .highlight-track{
    display:flex!important;flex-direction:row!important;justify-content:flex-start!important;gap:14px!important;
    height:auto!important;overflow-x:auto!important;overflow-y:hidden!important;padding:4px!important;
  }
  .home>.highlights.highlights-locked .highlight-cover{flex:0 0 124px!important;width:124px!important}
  .home>.highlights.highlights-locked .highlight-image-ring{width:106px!important;height:106px!important}

  /* CONTACT */
  .home>.contact.contact-story{
    display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
    gap:18px!important;align-items:start!important;width:100%!important;height:auto!important;
    min-height:calc(100dvh - 56px)!important;max-height:none!important;
    padding:22px 20px 28px!important;overflow:visible!important;
  }
  .contact.contact-story .contact-story-intro,
  .contact.contact-story .contact-story-form-wrap{
    position:static!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;
  }
  .contact.contact-story .contact-story-intro h2,
  .contact.contact-story .contact-story-intro .contact-story-body{
    position:static!important;inset:auto!important;width:100%!important;max-width:100%!important;transform:none!important;
  }
  .contact.contact-story .contact-story-intro h2{font-size:clamp(32px,4.9vw,48px)!important;line-height:.92!important}
  .contact.contact-story .contact-story-intro .contact-story-body{font-size:10px!important;line-height:1.4!important}
  .contact.contact-story form{
    display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important;
    gap:10px 16px!important;height:auto!important;
  }
  .contact.contact-story form .wide,
  .contact.contact-story form button{grid-column:1/-1!important}
  .contact.contact-story textarea{min-height:68px!important;height:68px!important;max-height:96px!important}

  /* PEOPLE — 2 per row, full images */
  .people-reference-page.people-no-intro .people-reference-grid{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:minmax(200px,calc(100dvh - 76px))!important;gap:10px!important;padding:10px!important;
  }
  .people-reference-page.people-no-intro .people-reference-card{
    width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important;
  }
  .people-reference-page.people-no-intro .people-card-media{
    display:flex!important;align-items:center!important;justify-content:center!important;
    width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:auto!important;
    overflow:hidden!important;background:rgba(0,0,0,.025)!important;
  }
  .people-reference-page.people-no-intro .people-card-media img,
  .people-reference-page.people-no-intro .people-card-media video,
  .people-reference-page.people-no-intro [data-people-card-image]{
    width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
    object-fit:contain!important;object-position:center!important;
  }

  /* HANDS INDEX — no collapsed strips */
  .hands-reference-page>.hands-collection-grid,
  .hands-reference-page>.hands-collection-grid[data-story-count]{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:none!important;grid-auto-rows:auto!important;grid-auto-flow:row!important;
    gap:10px!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
    padding:10px!important;overflow:visible!important;
  }
  .hands-reference-page>.hands-collection-grid>*{
    width:100%!important;min-width:0!important;grid-column:auto!important;grid-row:auto!important;
  }
  .hands-reference-page>.hands-collection-grid .hands-collection-card{
    position:relative!important;display:block!important;width:100%!important;
    height:clamp(150px,38dvh,220px)!important;min-height:150px!important;max-height:220px!important;
    aspect-ratio:auto!important;overflow:hidden!important;
  }
  .hands-reference-page>.hands-collection-grid .hands-collection-cover{
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
    max-height:none!important;object-fit:cover!important;
  }
  .hands-reference-page>.hands-collection-grid .hands-collection-card h2{
    position:absolute!important;left:13px!important;right:42px!important;bottom:12px!important;
    margin:0!important;font-size:clamp(13px,1.75vw,17px)!important;line-height:1.06!important;
  }
  .hands-reference-page .hands-index-project-note,
  .hands-reference-page .hands-index-contact-card{
    height:auto!important;min-height:clamp(160px,38dvh,230px)!important;max-height:none!important;padding:18px!important;
  }

  /* HANDS STORY — tablet-style side by side */
  .hands-reference-page .hands-reference-archive{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
  .hands-reference-page .hands-reference-collection{
    display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
    padding:18px!important;overflow:visible!important;
  }
  .hands-reference-page .hands-reference-collection-layout,
  .hands-reference-page .hands-reference-collection:nth-child(even) .hands-reference-collection-layout{
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:18px!important;align-items:start!important;width:100%!important;height:auto!important;min-height:0!important;
  }
  .hands-reference-page .hands-reference-stage .hands-inline-track figure{
    display:none!important;width:100%!important;height:auto!important;margin:0!important;
  }
  .hands-reference-page .hands-reference-stage .hands-inline-track figure.is-hands-active{display:block!important}
  .hands-reference-page .hands-reference-stage .hands-inline-track figure.is-hands-active>img:not(.portfolio-signature-overlay),
  .hands-reference-page .hands-reference-stage .hands-inline-track figure.is-hands-active>video{
    display:block!important;width:100%!important;height:auto!important;max-height:72dvh!important;object-fit:contain!important;
  }
  .hands-reference-page .hands-reference-collection-copy .hands-reference-collection-head h2{
    font-size:clamp(26px,4.2vw,40px)!important;line-height:1!important;
  }
  .hands-reference-page .hands-reference-collection-copy .hands-inline-note,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-body,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-note p,
  .hands-reference-page .hands-reference-collection-copy .hands-inline-body p{
    font-size:13px!important;line-height:1.52!important;
  }

  /* PLACES — tablet structure, scaled by height */
  .places-reference-page{padding-top:0!important}
  .places-reference-intro{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:20px!important;align-items:end!important;min-height:0!important;
    padding:22px 20px 24px!important;
  }
  .places-reference-intro h1{font-size:clamp(52px,9vw,86px)!important;line-height:.82!important}
  .places-reference-intro p{font-size:13px!important;line-height:1.5!important}

  .places-map-section{
    display:grid!important;grid-template-columns:minmax(150px,.72fr) minmax(0,1fr) minmax(170px,.72fr)!important;
    gap:12px!important;align-items:center!important;min-height:calc(100dvh - 56px)!important;
    padding:10px 12px!important;
  }
  .places-country-browser{padding:10px!important;max-height:calc(100dvh - 76px)!important;overflow:auto!important}
  .places-globe-area{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:4px!important}
  .places-globe-wrap{
    width:min(52dvh,32vw,245px)!important;height:min(52dvh,32vw,245px)!important;
    max-width:245px!important;max-height:245px!important;min-height:0!important;margin:0 auto!important;
  }
  .places-map-story{padding:10px!important;border-left:0!important}
  .places-map-story>h2{font-size:clamp(26px,4vw,40px)!important}
  .places-map-story-body{font-size:11px!important;line-height:1.5!important}

  /* Generic editorial pages */
  .story-single,
  .work-story-single,
  .insight-article,
  .moment-entry{
    height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;
  }
  .story-single,
  .work-story-single,
  .insight-article{padding:18px 20px 24px!important}
  .story-single>img,
  .story-single>video,
  .work-story-single img,
  .work-story-single video,
  .insight-article-hero img{
    width:100%!important;height:auto!important;max-height:58dvh!important;object-fit:contain!important;
  }
  .story-single h1,
  .work-story-single h1,
  .insight-article h1{font-size:clamp(29px,4.8vw,46px)!important;line-height:.96!important}
  .story-single .lead,
  .story-single .body,
  .work-story-single .body,
  .insight-article-body{
    max-width:none!important;font-size:clamp(13px,1.75vw,17px)!important;line-height:1.58!important;
  }

  .moments-reference-page .moments-reference-intro{
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:18px!important;align-items:start!important;height:auto!important;min-height:0!important;padding:18px!important;
  }
  .moments-reference-page .moments-reference-intro>figure{
    width:100%!important;height:min(64dvh,350px)!important;min-height:0!important;
  }
  .moments-reference-page .moments-reference-intro>figure img{
    width:100%!important;height:100%!important;object-fit:cover!important;
  }

  .work-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
}


/* ============================================================
   v15.97 — MOBILE PORTRAIT-ONLY BROWSING
   ------------------------------------------------------------
   Normal phone browsing is portrait-only.
   If a phone is rotated to landscape, a full-screen rotate prompt is shown.
   Landscape remains available only while expanded photo/video media is open.

   Uses the already-verified html.is-mobile-landscape detector:
   touch device + phone-sized physical screen + landscape.
   Desktop and tablets are not targeted.
   ============================================================ */

.mobile-portrait-gate{
  display:none;
}

html.is-mobile-landscape:not(.allow-mobile-landscape-media){
  overflow:hidden!important;
}

html.is-mobile-landscape:not(.allow-mobile-landscape-media) body{
  height:100dvh!important;
  min-height:100dvh!important;
  overflow:hidden!important;
  background:#f4f1ea!important;
}

html.is-mobile-landscape:not(.allow-mobile-landscape-media) body > :not(.mobile-portrait-gate){
  visibility:hidden!important;
  pointer-events:none!important;
}

html.is-mobile-landscape:not(.allow-mobile-landscape-media) .mobile-portrait-gate{
  position:fixed!important;
  inset:0!important;
  z-index:2147483647!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  width:100vw!important;
  height:100dvh!important;
  padding:28px!important;
  visibility:visible!important;
  pointer-events:auto!important;
  background:#f4f1ea!important;
  color:#1d1d19!important;
  text-align:center!important;
}

.mobile-portrait-gate-icon{
  display:grid;
  place-items:center;
  width:64px;
  height:92px;
  border:2px solid currentColor;
  border-radius:12px;
  transform:rotate(-90deg);
  opacity:.72;
}

.mobile-portrait-gate-icon::after{
  content:"";
  width:8px;
  height:8px;
  border:1.5px solid currentColor;
  border-radius:50%;
  align-self:end;
  margin-bottom:7px;
}

.mobile-portrait-gate-title{
  margin:0;
  font-family:var(--font-heading,"Cormorant Garamond",Georgia,serif);
  font-size:clamp(30px,6vw,44px);
  font-weight:400;
  line-height:.95;
  letter-spacing:-.03em;
}

.mobile-portrait-gate-copy{
  max-width:360px;
  margin:0;
  font:500 11px/1.5 var(--font-ui,Montserrat,Arial,sans-serif);
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.64;
}

/* Expanded media is allowed to use the full landscape phone viewport. */
html.is-mobile-landscape.allow-mobile-landscape-media,
html.is-mobile-landscape.allow-mobile-landscape-media body{
  overflow:hidden!important;
}

html.is-mobile-landscape.allow-mobile-landscape-media .mobile-portrait-gate{
  display:none!important;
}

html.is-mobile-landscape.allow-mobile-landscape-media .people-lightbox,
html.is-mobile-landscape.allow-mobile-landscape-media [data-people-lightbox-modal],
html.is-mobile-landscape.allow-mobile-landscape-media [data-hands-lightbox],
html.is-mobile-landscape.allow-mobile-landscape-media .places-archive-viewer,
html.is-mobile-landscape.allow-mobile-landscape-media .highlight-viewer,
html.is-mobile-landscape.allow-mobile-landscape-media :fullscreen{
  visibility:visible!important;
  pointer-events:auto!important;
}

/* ============================================================
   v15.98 — PEOPLE LIGHTBOX MOBILE TAP REPAIR
   Keep the navigation controls above the media and give them a reliable
   finger-sized hit area on phones. Visual arrow remains subtle.
   ============================================================ */
.people-lightbox .people-lightbox-arrow{
  z-index:120!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}
.people-lightbox .people-lightbox-close{
  z-index:130!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}
.people-lightbox .people-lightbox-count{z-index:125!important;pointer-events:none!important}

@media (max-width:760px){
  .people-lightbox .people-lightbox-arrow{
    width:58px!important;
    height:84px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
    font-size:34px!important;
    line-height:1!important;
    background:rgba(0,0,0,.16)!important;
  }
  .people-lightbox .people-lightbox-arrow.is-prev{left:0!important}
  .people-lightbox .people-lightbox-arrow.is-next{right:0!important}
  .people-lightbox .people-lightbox-media img{touch-action:pan-y!important}
}


/* ============================================================
   v15.99 — PEOPLE MOBILE LIGHTBOX ARROW HARD FIX
   Keep arrow hit areas above every image/signature/protection layer.
   ============================================================ */
@media (max-width:760px){
  .people-lightbox[data-people-lightbox-modal]{
    isolation:isolate!important;
  }
  .people-lightbox[data-people-lightbox-modal] .people-lightbox-arrow{
    z-index:2147483000!important;
    pointer-events:auto!important;
    touch-action:none!important;
    width:72px!important;
    height:110px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    background:transparent!important;
    border:0!important;
  }
  .people-lightbox[data-people-lightbox-modal] .people-lightbox-arrow.is-prev{left:0!important}
  .people-lightbox[data-people-lightbox-modal] .people-lightbox-arrow.is-next{right:0!important}
  .people-lightbox[data-people-lightbox-modal] .people-lightbox-arrow::after{
    content:""!important;
    position:absolute!important;
    inset:28px 14px!important;
    border-radius:999px!important;
    background:rgba(0,0,0,.20)!important;
    z-index:-1!important;
  }
  .people-lightbox[data-people-lightbox-modal] .people-lightbox-close{
    z-index:2147483001!important;
  }
  .people-lightbox[data-people-lightbox-modal] .people-lightbox-media,
  .people-lightbox[data-people-lightbox-modal] figure,
  .people-lightbox[data-people-lightbox-modal] img{
    position:relative!important;
    z-index:1!important;
  }
}


/* ============================================================
   v16.03 — People mobile arrow hit-area + desktop Home identity repair.
   ============================================================ */
/* Expanded People gallery: arrows and close button must sit above signatures,
   images and protection layers, with genuinely finger-sized targets. */
.people-lightbox[data-people-lightbox-modal] .portfolio-signature-overlay{pointer-events:none!important}
@media (max-width:950px) and (hover:none), (pointer:coarse){
  .people-lightbox[data-people-lightbox-modal]{isolation:isolate!important}
  .people-lightbox[data-people-lightbox-modal] .people-lightbox-arrow{
    z-index:2147483000!important;pointer-events:auto!important;touch-action:manipulation!important;
    width:68px!important;height:112px!important;top:50%!important;transform:translateY(-50%)!important;
    border:0!important;background:transparent!important;color:#fff!important;
  }
  .people-lightbox[data-people-lightbox-modal] .people-lightbox-arrow.is-prev{left:0!important}
  .people-lightbox[data-people-lightbox-modal] .people-lightbox-arrow.is-next{right:0!important}
  .people-lightbox[data-people-lightbox-modal] .people-lightbox-arrow span{pointer-events:none!important}
  .people-lightbox[data-people-lightbox-modal] .people-lightbox-close{z-index:2147483001!important;pointer-events:auto!important}
  .people-lightbox[data-people-lightbox-modal] figure,
  .people-lightbox[data-people-lightbox-modal] .people-lightbox-media{z-index:1!important}
  .people-reference-page.people-no-intro .people-card-controls{z-index:120!important;pointer-events:auto!important}
  .people-reference-page.people-no-intro .people-card-controls button{pointer-events:auto!important;touch-action:manipulation!important}
}

/* Desktop Home identity: visibly larger than the old tiny mark, but without the
   over-scaling/overlap introduced by the earlier emergency logo patch. */
@media (min-width:1367px){
  .site-header.overlay .brand-group{
    gap:30px!important;
    overflow:visible!important;
  }
  .site-header.overlay .brand{
    flex:0 0 238px!important;
    width:238px!important;
    min-width:238px!important;
    overflow:visible!important;
  }
  .site-header.overlay .brand img,
  .site-header.overlay .brand-logo{
    width:218px!important;
    max-width:none!important;
    max-height:64px!important;
    transform:scale(1.34)!important;
    transform-origin:left center!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .site-header.overlay .brand-meta{
    flex:0 0 auto!important;
    min-width:0!important;
  }
  .site-header.overlay .brand-line{
    width:245px!important;
    margin:0!important;
    padding-left:24px!important;
    font-size:15px!important;
    line-height:1.45!important;
  }
}


/* ============================================================
   v16.04 — HANDS TABLET LANDSCAPE: FIRST ROW MUST FIT
   Real tablets only. This final override wins over the short-height mobile-
   landscape branch when Android/Desktop Site exposes a misleading CSS viewport.
   It keeps the established 3-column Hands tablet layout but guarantees that
   the complete first row is visible below the header instead of being clipped.
   ============================================================ */
@media (orientation:landscape) and (min-width:600px) and (max-width:1366px){
  html.is-tablet-device.is-tablet-landscape .hands-reference-page{
    padding-top:0!important;
    margin-top:0!important;
    overflow-x:hidden!important;
  }
  html.is-tablet-device.is-tablet-landscape .hands-reference-page>.hands-collection-grid,
  html.is-tablet-device.is-tablet-landscape .hands-reference-page>.hands-collection-grid[data-story-count],
  html.is-tablet-device.is-tablet-landscape .hands-reference-page>.hands-collection-grid[data-story-count="4"],
  html.is-tablet-device.is-tablet-landscape .hands-reference-page>.hands-collection-grid[data-story-count="5"],
  html.is-tablet-device.is-tablet-landscape .hands-reference-page>.hands-collection-grid[data-story-count="6"]{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:none!important;
    grid-auto-flow:row!important;
    grid-auto-rows:auto!important;
    align-items:start!important;
    align-content:start!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:8px!important;
    gap:8px!important;
    transform:none!important;
    overflow:visible!important;
  }
  html.is-tablet-device.is-tablet-landscape .hands-reference-page>.hands-collection-grid>*{
    grid-column:auto!important;
    grid-row:auto!important;
    align-self:start!important;
    min-width:0!important;
    transform:none!important;
  }
  html.is-tablet-device.is-tablet-landscape .hands-reference-page>.hands-collection-grid .hands-collection-card,
  html.is-tablet-device.is-tablet-landscape .hands-reference-page>.hands-collection-grid .hands-collection-card.has-cover{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:clamp(210px,calc(100dvh - 104px),340px)!important;
    min-height:0!important;
    max-height:340px!important;
    aspect-ratio:auto!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    transform:none!important;
  }
  html.is-tablet-device.is-tablet-landscape .hands-reference-page>.hands-collection-grid .hands-collection-card .hands-collection-cover,
  html.is-tablet-device.is-tablet-landscape .hands-reference-page>.hands-collection-grid .hands-collection-card.has-cover>img.hands-collection-cover{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:var(--hands-cover-x,50%) var(--hands-cover-y,50%)!important;
    transform:none!important;
    visibility:visible!important;
    opacity:1!important;
  }
  html.is-tablet-device.is-tablet-landscape .hands-reference-page>.hands-collection-grid .hands-index-project-note,
  html.is-tablet-device.is-tablet-landscape .hands-reference-page>.hands-collection-grid .hands-index-quote-card,
  html.is-tablet-device.is-tablet-landscape .hands-reference-page>.hands-collection-grid .hands-index-contact-card{
    height:clamp(210px,calc(100dvh - 104px),340px)!important;
    min-height:0!important;
    max-height:340px!important;
    margin:0!important;
    overflow:hidden!important;
    align-self:start!important;
  }
}

/* ============================================================
   v16.06 — PUBLIC PHOTO SHARE ACTION
   Shares the stable page/deep-link only; never exposes the protected asset URL.
   ============================================================ */
.photo-share-button{
  position:fixed!important;
  z-index:2147483002!important;
  top:18px!important;
  right:72px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:0 14px!important;
  border:1px solid rgba(255,255,255,.42)!important;
  border-radius:999px!important;
  background:rgba(15,15,14,.30)!important;
  color:#fff!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
  font:500 9px/1 var(--font-ui,Montserrat,Arial,sans-serif)!important;
  letter-spacing:.10em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}
.photo-share-button:hover,.photo-share-button:focus-visible{background:rgba(15,15,14,.55)!important;border-color:rgba(255,255,255,.72)!important}
@media(max-width:760px){
  .photo-share-button{top:max(10px,env(safe-area-inset-top))!important;right:62px!important;min-height:38px!important;padding:0 12px!important;font-size:8px!important}
}


/* ============================================================
   v16.07 — ABOUT MOBILE: clearer separation after the final sentence.
   Mobile About carousel only. No desktop/tablet/frontend component changes.
   ============================================================ */
@media (max-width:760px){
  .about-carousel-page .about-carousel-card.is-active .about-carousel-text p:last-child{
    margin-bottom:32px!important;
  }
  .about-carousel-page .about-carousel-controls{
    padding-top:12px!important;
  }
}


/* ============================================================
   v16.08 — ABOUT MOBILE: content-driven card height.
   The previous margin-only fix could not move the controls because the active
   card was absolutely positioned inside a fixed-height track. On mobile, the
   active card now participates in normal flow so the controls always sit after
   the complete text with a real gap.
   ============================================================ */
@media (max-width:760px){
  .about-carousel-page .about-carousel-copy{
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
  }
  .about-carousel-page .about-carousel-track{
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
  }
  .about-carousel-page .about-carousel-card{
    position:absolute!important;
    inset:0!important;
  }
  .about-carousel-page .about-carousel-card.is-active{
    position:relative!important;
    inset:auto!important;
    min-height:0!important;
    height:auto!important;
    padding-top:24px!important;
    padding-bottom:0!important;
    overflow:visible!important;
  }
  .about-carousel-page .about-carousel-card.is-active .about-carousel-text{
    max-width:none!important;
  }
  .about-carousel-page .about-carousel-card.is-active .about-carousel-text p:last-child{
    margin-bottom:0!important;
  }
  .about-carousel-page .about-carousel-controls{
    margin-top:34px!important;
    padding-top:0!important;
  }
}


/* ============================================================
   v16.10 — ABOUT MOBILE FINAL FLOW FIX
   On phones the active About card owns its full natural height. No clipping,
   no internal height-fitting, and no browser scroll-anchor jump when cards
   have different amounts of copy.
   ============================================================ */
@media (max-width:760px){
  .about-carousel-page,
  .about-carousel-page .about-carousel-stage,
  .about-carousel-page .about-carousel-copy,
  .about-carousel-page .about-carousel-track{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    overflow-anchor:none!important;
  }
  .about-carousel-page .about-carousel-copy{
    min-height:0!important;
    padding:36px 24px 34px!important;
  }
  .about-carousel-page .about-carousel-track{
    position:relative!important;
    min-height:0!important;
    display:block!important;
  }
  .about-carousel-page .about-carousel-card{
    position:absolute!important;
    inset:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    justify-content:flex-start!important;
  }
  .about-carousel-page .about-carousel-card.is-active{
    position:relative!important;
    inset:auto!important;
    display:flex!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    padding:28px 0 0!important;
    overflow:visible!important;
  }
  .about-carousel-page .about-carousel-card.is-active .about-carousel-number{
    position:static!important;
    display:block!important;
    margin:0 0 48px!important;
  }
  .about-carousel-page .about-carousel-card.is-active .about-carousel-text{
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    font-size:var(--about-copy-size-mobile,17px)!important;
    line-height:1.62!important;
  }
  .about-carousel-page .about-carousel-card.is-active .about-carousel-text p{
    max-height:none!important;
    overflow:visible!important;
  }
  .about-carousel-page .about-carousel-card.is-active .about-carousel-text p:last-child{
    margin-bottom:0!important;
    padding-bottom:0!important;
  }
  .about-carousel-page .about-carousel-controls{
    position:relative!important;
    margin-top:44px!important;
    padding-top:0!important;
    padding-bottom:4px!important;
    flex:0 0 auto!important;
  }
}


/* ============================================================
   v16.11 — PUBLIC FORM STATUS VISIBILITY
   ============================================================ */
.contact.contact-story .form-success,
.contact.contact-story .form-error,
.work-contact .work-form-success,
.work-contact .work-form-error{
  display:block!important;
  margin:0 0 18px!important;
  padding:12px 14px!important;
  border:1px solid currentColor!important;
  border-radius:4px!important;
  font-size:13px!important;
  line-height:1.45!important;
  opacity:1!important;
}
.contact.contact-story button[type="submit"][disabled],
.work-contact button[type="submit"][disabled]{
  opacity:.62!important;
  cursor:wait!important;
}


/* v16.12 — never hide server-rendered contact status after a redirect. */
html[data-contact-status] .form-success,
html[data-contact-status] .form-error,
html[data-contact-status] .work-form-success,
html[data-contact-status] .work-form-error{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  z-index:5!important;
}


/* ============================================================
   v16.14 — CONTACT SUBMISSION: clear visible success state.
   ============================================================ */
.contact-submit-success{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  min-height:320px!important;
  width:100%!important;
  padding:28px 0!important;
  color:inherit!important;
}
.contact-submit-success>span{
  margin:0 0 18px!important;
  font:600 10px/1.2 var(--font-ui,Montserrat,Arial,sans-serif)!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  opacity:.72!important;
}
.contact-submit-success h3{
  max-width:580px!important;
  margin:0 0 18px!important;
  font:400 clamp(42px,5vw,76px)/.92 var(--font-heading,"Cormorant Garamond",Georgia,serif)!important;
  letter-spacing:-.045em!important;
  color:inherit!important;
}
.contact-submit-success p{
  max-width:520px!important;
  margin:0 0 28px!important;
  font-size:14px!important;
  line-height:1.65!important;
  color:inherit!important;
  opacity:.82!important;
}
.contact-submit-success a{
  display:inline-flex!important;
  padding-bottom:5px!important;
  border-bottom:1px solid currentColor!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.contact.contact-story .form-error,
.work-contact .work-form-error{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  margin:0 0 18px!important;
  padding:12px 14px!important;
  border:1px solid currentColor!important;
  font-size:12px!important;
  line-height:1.45!important;
}
@media(max-width:760px){
  .contact-submit-success{min-height:240px!important;padding:22px 0!important}
  .contact-submit-success h3{font-size:clamp(34px,10vw,50px)!important}
  .contact-submit-success p{font-size:13px!important}
}


/* ============================================================
   v16.15 — CONTACT SUCCESS: match the section's cream headline colour.
   ============================================================ */
.contact.contact-story .contact-submit-success,
.contact.contact-story .contact-submit-success>span,
.contact.contact-story .contact-submit-success h3,
.contact.contact-story .contact-submit-success p,
.contact.contact-story .contact-submit-success a,
.work-contact .contact-submit-success,
.work-contact .contact-submit-success>span,
.work-contact .contact-submit-success h3,
.work-contact .contact-submit-success p,
.work-contact .contact-submit-success a{
  color:var(--section-paper,#f7f6f2)!important;
}
.contact.contact-story .contact-submit-success a,
.work-contact .contact-submit-success a{
  border-bottom-color:currentColor!important;
}
