/* 2026-10-15: book-only scroll journey, portfolio loop, and visible service comparison. */
html{scroll-padding-top:0}
body{overflow-x:hidden}
.site-header{position:absolute;z-index:100;top:0;left:0;right:0;min-height:72px;padding:14px clamp(20px,4vw,64px);background:transparent;border:0;backdrop-filter:none}
.site-header nav a{display:inline-flex}
.site-header .wordmark-text{color:var(--paper)}
.journey{height:480svh}
.stage{min-height:0}
.scene-image.closed{opacity:1!important}
.scene-image.landscape,.world,.slide-links,.work-intro{display:none!important}
.opening-copy{z-index:6}
.progress{bottom:28px}
.showcase{background:#0b1922;color:var(--paper)}
.showcase{padding:100px 0 76px;overflow:hidden}
.showcase-heading{max-width:1200px;margin:auto;padding:0 clamp(24px,6vw,90px)}
.section-kicker{display:block;color:#a76a42;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.showcase .section-kicker{color:var(--gold)}
.showcase-heading h2{font:600 clamp(44px,5.4vw,78px)/1.02 'Playfair Display',Georgia,serif;letter-spacing:-.05em;margin:14px 0 15px}
.showcase-heading p{max-width:590px;color:#bbc8cb;font-size:16px;line-height:1.6;margin:0}
.showcase-marquee{overflow:hidden;margin-top:42px;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.showcase-track{display:flex;width:max-content;animation:showcase-drift 56s linear infinite;will-change:transform}
.showcase-marquee:hover .showcase-track,.showcase-marquee:focus-within .showcase-track{animation-play-state:paused}
.showcase-group{display:flex;flex:none;gap:18px;padding-right:18px}
.showcase-card{position:relative;display:block;flex:none;width:clamp(310px,43vw,600px);aspect-ratio:2/1;overflow:hidden;border-radius:14px;text-decoration:none;background:#142b38;box-shadow:0 18px 35px #0004}
.showcase-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease,filter .45s ease}
.showcase-card:hover img{transform:scale(1.035);filter:brightness(1.08)}
.showcase-card span{position:absolute;bottom:0;left:0;right:0;padding:35px 20px 18px;background:linear-gradient(transparent,#061018c9);font-size:11px;font-weight:700;letter-spacing:.16em;color:#fff;text-transform:uppercase}
@keyframes showcase-drift{to{transform:translateX(-50%)}}
.still-gallery{display:block;padding-top:32px;padding-bottom:115px;border-top:0;background:#f7f4ee;color:#1a2a30}
.still-gallery .section-heading{max-width:1200px;margin:auto}
.still-gallery .section-heading h2{font-size:clamp(38px,4vw,58px)}
.still-gallery .section-heading .eyebrow{color:#99603e}
.still-gallery .section-heading p{color:#526165}
.gallery-section-title{font-size:clamp(22px,2.4vw,30px);letter-spacing:.1em;color:#6f4129}
.gallery-grid figure{background:#fff;border:1px solid #d7d4ce;box-shadow:0 10px 24px #14242b0d}
.gallery-grid figcaption{color:#6f4129}
.services-page{color:#1a2a30;background:#f7f4ee;padding:105px clamp(24px,6vw,90px) 125px}
.services-intro,.service-category{max-width:1260px;margin-inline:auto}
.services-intro{max-width:900px;margin-left:max(0px,calc((100% - 1260px)/2));margin-bottom:90px}
.services-intro h2{font:600 clamp(44px,5.4vw,78px)/1.04 'Playfair Display',Georgia,serif;letter-spacing:-.055em;margin:13px 0 18px;color:#14242b}
.services-intro p{max-width:720px;color:#4c5a5c;font-size:18px;line-height:1.65;margin:0}
.service-category{scroll-margin-top:100px}
.standalone-section{margin-top:120px}
.category-head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.7fr);align-items:end;gap:40px;border-top:2px solid #b8794a;padding-top:25px;margin-bottom:34px}
.category-head h3{font:600 clamp(32px,3.6vw,54px)/1.08 'Playfair Display',Georgia,serif;letter-spacing:-.045em;color:#16272d;margin:12px 0 0}
.category-head p{color:#586467;line-height:1.55;font-size:15px;margin:0 0 4px}
.comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.tier-card,.standalone-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #d7d4ce;border-radius:10px;box-shadow:0 10px 24px #14242b0d}
.tier-card{padding:clamp(23px,2.4vw,34px);border-top:5px solid #183440}
.tier-card.featured{border-top-color:#b8794a;background:#fffdfa;box-shadow:0 16px 38px #7c492817}
.tier-index,.service-number{color:#99603e;font-weight:700;font-size:10px;letter-spacing:.17em}
.tier-card h4{font:600 clamp(33px,3vw,46px)/1 'Playfair Display',Georgia,serif;color:#13242c;margin:18px 0 15px}
.tier-lede{font-size:15px;line-height:1.55;color:#526165;min-height:5em;margin:0 0 24px}
.tier-card h5{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#8a573a;border-top:1px solid #dedbd5;padding-top:19px;margin:0 0 13px}
.tier-card ul{list-style:none;padding:0;margin:0 0 28px}
.tier-card li{position:relative;padding:8px 0 8px 24px;font-size:14px;line-height:1.35;border-bottom:1px solid #ebe8e2}
.tier-card li:before{content:'✓';position:absolute;left:0;top:7px;color:#a9693f;font-weight:700}
.service-cta{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-top:auto;padding:17px 0 5px;border:0;border-top:1px solid #b8794a;background:none;color:#703f25;font-size:13px;font-weight:700;letter-spacing:.06em;text-align:left;cursor:pointer}
.service-cta:hover{color:#132e3d}
.service-cta span{font-size:20px;line-height:1}
.standalone-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.standalone-card{padding:clamp(24px,2.5vw,36px)}
.standalone-card h4{font:600 clamp(27px,2.3vw,36px)/1.08 'Playfair Display',Georgia,serif;letter-spacing:-.035em;color:#16272d;margin:15px 0 13px}
.standalone-card>p{color:#4e5d61;font-size:15px;line-height:1.6;max-width:600px;margin:0 0 22px}
.service-options{margin:0 0 25px;border-top:1px solid #dedbd5}
.service-options>div{display:grid;grid-template-columns:minmax(140px,.48fr) 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #ece8e1}
.service-options strong{font-size:13px;color:#6f4129}
.service-options span{font-size:13px;color:#526165;line-height:1.4}
.service-note{margin:0 0 25px;padding:14px 16px;background:#f5f1e9;color:#526165;font-size:13px;line-height:1.4}
.standalone-feature{grid-column:1/-1;min-width:0;margin:0 0 75px}
.service-feature-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(290px,.75fr);align-items:end;gap:35px;padding:30px 0 25px;border-top:1px solid #d2c9bb}
.standalone-feature:first-child .service-feature-head{border-top:0;padding-top:0}
.service-feature-head h4{font:600 clamp(34px,3.6vw,54px)/1.06 'Playfair Display',Georgia,serif;letter-spacing:-.045em;color:#16272d;margin:13px 0 0}
.service-feature-head p{font-size:15px;line-height:1.65;color:#526165;margin:0}
.standalone-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.option-card{display:flex;flex-direction:column;min-width:0;padding:clamp(23px,2.4vw,34px);background:#fff;border:1px solid #d7d4ce;border-top:5px solid #183440;border-radius:10px;box-shadow:0 10px 24px #14242b0d}
.option-card.featured{border-top-color:#b8794a;background:#fffdfa;box-shadow:0 16px 38px #7c492817}
.option-level{color:#99603e;font-size:10px;font-weight:700;letter-spacing:.17em}
.option-card h5{font:600 clamp(26px,2.5vw,38px)/1.08 'Playfair Display',Georgia,serif;letter-spacing:-.04em;color:#13242c;margin:18px 0 15px}
.option-summary{font-size:15px;line-height:1.55;color:#526165;margin:0 0 20px}
.option-audience,.option-benefit{font-size:13px;line-height:1.55;color:#526165;margin:0;padding:15px 0;border-top:1px solid #e5e0d8}
.option-audience strong,.option-benefit strong{display:block;margin-bottom:4px;color:#794d33;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.option-points{list-style:none;padding:8px 0 14px;margin:0}
.option-points li{position:relative;padding:8px 0 8px 22px;border-bottom:1px solid #f0ece6;font-size:13px;line-height:1.35;color:#263c42}
.option-points li:before{content:'✓';position:absolute;left:0;color:#a9693f;font-weight:700}
.option-card .service-cta{margin-top:auto}
.site-footer{background:#101d26;color:#f5ebd8;padding:80px clamp(24px,6vw,90px) 25px}
.footer-inner,.footer-bottom{max-width:1260px;margin:auto}
.footer-inner{display:grid;grid-template-columns:1.05fr 1.25fr .85fr;gap:clamp(28px,4vw,70px)}
.footer-brand p{max-width:280px;font-size:14px;line-height:1.6;color:#bcc8c8;margin-top:20px}
.footer-contact .section-kicker{color:var(--gold)}
.footer-contact h2{font:500 clamp(31px,3.2vw,45px)/1.1 'Playfair Display',Georgia,serif;letter-spacing:-.04em;margin:12px 0 22px}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer-links h3{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 7px}
.footer-links a{text-decoration:none;color:#e6eae7;font-size:14px;line-height:1.45}
.footer-links a:hover{text-decoration:underline;color:var(--gold)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:80px;padding-top:20px;border-top:1px solid #ffffff25;color:#94a4a8;font-size:11px;letter-spacing:.05em}
@media(max-width:900px){.comparison-grid{grid-template-columns:1fr 1fr}.tier-card:last-child{grid-column:span 2}.standalone-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.standalone-card:last-child{grid-column:span 2}.standalone-comparison{grid-template-columns:repeat(2,minmax(0,1fr))}.option-card:last-child{grid-column:span 2}.footer-inner{grid-template-columns:1fr 1fr}.footer-links{grid-column:span 2}}
@media(max-width:760px){
  html{scroll-padding-top:66px}
  .site-header{min-height:62px;padding:12px 16px;flex-wrap:nowrap;align-items:center}
  .site-header .wordmark{gap:5px;font-size:9px;letter-spacing:.05em}
  .site-header .wordmark img{width:25px;height:25px}
  .site-header nav{gap:12px}
  .site-header nav a{display:inline-flex;font-size:9px;letter-spacing:.04em;padding:6px 0}
  .site-header #nav-contact{font-size:9px;padding:7px 9px}
  .journey{height:520svh}
  .opening-copy{top:calc(12% + env(safe-area-inset-top))}
  .opening-actions{top:calc(89svh - 120px)}
  .showcase{padding:72px 0 45px}
  .showcase-heading{padding:0 18px}
  .showcase-heading h2{font-size:43px}
  .showcase-heading p{font-size:13px}
  .showcase-marquee{margin-top:26px}
  .showcase-group{gap:12px;padding-right:12px}
  .showcase-card{width:76vw;border-radius:10px}
  .showcase-card span{font-size:8px;letter-spacing:.1em;padding:23px 11px 10px}
  .still-gallery{padding:60px 18px 80px}
  .services-page{padding:75px 18px 90px}
  .services-intro{margin-bottom:65px}
  .services-intro h2{font-size:43px}
  .services-intro p{font-size:15px}
  .category-head{grid-template-columns:1fr;gap:10px;margin-bottom:23px}
  .category-head h3{font-size:38px}
  .category-head p{font-size:14px}
  .comparison-grid,.standalone-cards{grid-template-columns:1fr;gap:13px}
  .tier-card:last-child{grid-column:auto}
  .standalone-card:last-child,.option-card:last-child{grid-column:auto}
  .tier-lede{min-height:0}
  .standalone-section{margin-top:80px}
  .standalone-feature{margin-bottom:52px}
  .service-feature-head{grid-template-columns:1fr;gap:10px;padding:25px 0 20px}
  .service-feature-head h4{font-size:38px}
  .service-feature-head p{font-size:14px}
  .standalone-comparison{grid-template-columns:1fr;gap:13px}
  .option-card h5{font-size:31px}
  .service-options>div{grid-template-columns:1fr;gap:4px}
  .site-footer{padding:65px 18px 25px}
  .footer-inner{grid-template-columns:1fr;gap:38px}
  .footer-links{grid-column:auto}
  .footer-bottom{margin-top:55px;flex-direction:column}
  #enquiry{padding:22px}
  #enquiry .dialog-head h2{font-size:28px}
}
@media(max-width:400px){.site-header #nav-contact{display:none}.site-header nav{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.journey{height:100svh}.showcase-marquee{overflow-x:auto;mask-image:none}.showcase-track{animation:none}.showcase-group[aria-hidden="true"]{display:none}}
.no-webgl .journey{height:100svh}
.still-mode .journey{height:100svh}
.still-mode .flip-book{display:none!important}
.still-mode .showcase-marquee{overflow-x:auto;mask-image:none}
.still-mode .showcase-track{animation:none}
.still-mode .showcase-group[aria-hidden="true"]{display:none}
@media(max-width:760px){
  .book-page-6 .book-page-content.compact h2{font-size:15px}
  .book-page-6 .book-page-content.compact p{font-size:10px;line-height:1.2}
}
