
/* Layout: cinematic full-bleed bands alternating near-black and warm ivory; editorial 12-col asymmetry; photography is always the largest thing on screen. */
:root{
  --ink:#0D0D0D; --ink-2:#171717; --ivory:#F5F2EC; --paper:#FAFAF8;
  --gold:#C8A96B; --gold-deep:#7E6331;
  --on-dark:#F5F2EC; --on-dark-2:#B8B5AE; --on-light:#171717; --on-light-2:#55524C;
  --line-dark:rgba(245,242,236,.14); --line-light:rgba(23,23,23,.14);
  --serif:"Playfair Display", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --sans:"Manrope", "Helvetica Neue", Arial, system-ui, sans-serif;
  --s1:8px; --s2:16px; --s3:24px; --s4:40px; --s5:64px; --s6:clamp(72px,10vw,144px);
  --ease:cubic-bezier(.22,.61,.36,1);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0}
img{max-width:100%}
html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%}
body{background:var(--ink);color:var(--on-dark);font-family:var(--sans);font-size:16px;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;text-wrap:balance}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.light :focus-visible,.paper :focus-visible{outline-color:var(--gold-deep)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-60px;z-index:200;background:var(--gold);color:var(--ink);padding:10px 16px;font-weight:600}
.skip:focus{top:calc(12px + env(safe-area-inset-top,0px))}

/* bands */
.wrap{max-width:1360px;margin-inline:auto;padding-left:max(clamp(16px,4.5vw,64px),env(safe-area-inset-left,0px));padding-right:max(clamp(16px,4.5vw,64px),env(safe-area-inset-right,0px))}
.band>.wrap{padding-block:var(--s6)}
.dark{background:var(--ink);color:var(--on-dark)}
.dark-2{background:var(--ink-2);color:var(--on-dark)}
.light{background:var(--ivory);color:var(--on-light)}
.paper{background:var(--paper);color:var(--on-light)}

/* type */
.eyebrow{display:flex;align-items:center;gap:14px;font-size:12px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
.eyebrow::before{content:"";width:36px;height:1px;background:currentColor}
.light .eyebrow,.paper .eyebrow{color:var(--gold-deep)}
.h2{font-size:clamp(2.3rem,5.4vw,4.6rem);line-height:1.04;letter-spacing:-.012em}
.h2 em,.h-display em{font-style:italic;color:var(--gold)}
.light .h2 em,.paper .h2 em{color:var(--gold-deep)}
.lede{font-size:clamp(1.02rem,1.3vw,1.15rem);max-width:58ch;color:var(--on-dark-2)}
.light .lede,.paper .lede{color:var(--on-light-2)}
.muted{color:var(--on-dark-2)}
.light .muted,.paper .muted{color:var(--on-light-2)}
.placeholder{font-family:var(--sans);font-size:.85em;letter-spacing:.02em;color:var(--gold);background:rgba(200,169,107,.1);padding:1px 6px;border:1px dashed rgba(200,169,107,.45);white-space:normal}
.light .placeholder,.paper .placeholder{color:var(--gold-deep);border-color:rgba(126,99,49,.45);background:rgba(126,99,49,.07)}

/* buttons */
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:0 26px;font:600 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
.btn .arr{transition:transform .35s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn-primary{background:var(--ink-2);color:var(--ivory);border-color:rgba(200,169,107,.5)}
.btn-primary:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.btn-ghost{background:transparent;color:var(--on-dark);border-color:rgba(245,242,236,.45)}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.light .btn-primary,.paper .btn-primary{border-color:var(--ink-2)}
.light .btn-ghost,.paper .btn-ghost{color:var(--on-light);border-color:rgba(23,23,23,.4)}
.light .btn-ghost:hover,.paper .btn-ghost:hover{color:var(--gold-deep);border-color:var(--gold-deep)}
.textlink{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;padding-block:10px;border-bottom:1px solid currentColor}
.textlink:hover{color:var(--gold)}
.light .textlink:hover,.paper .textlink:hover{color:var(--gold-deep)}

/* photo placeholders: tonal frames that stand in for real photography */
.ph{position:relative;overflow:hidden;background:var(--ink-2);max-width:100%;isolation:isolate}
.ph-img{position:absolute;inset:0;background:
  radial-gradient(ellipse 60% 55% at var(--fx,32%) var(--fy,36%),var(--a) 0%,transparent 70%),
  radial-gradient(ellipse 50% 40% at 82% 88%,var(--c,transparent) 0%,transparent 70%),
  linear-gradient(var(--ang,165deg),var(--b) 0%,#0D0D0D 100%);
  transition:transform 1.2s var(--ease)}
.ph-img::after{content:"";position:absolute;inset:0;background-image:var(--grain);mix-blend-mode:overlay;opacity:.35}
.ph::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 120px rgba(0,0,0,.45);pointer-events:none}
.ph-tag{position:absolute;left:14px;bottom:12px;z-index:2;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,242,236,.78);display:flex;gap:8px;align-items:center}
.ph-tag::before{content:"";width:6px;height:6px;border:1px solid var(--gold);border-radius:50%}
[data-tone=wedding]{--a:#C9B49A;--b:#5A4A42;--c:rgba(240,220,200,.25);--fx:38%;--fy:30%}
[data-tone=dusk]{--a:#B58C6A;--b:#3B2E2A;--c:rgba(200,169,107,.3);--fx:60%;--fy:40%}
[data-tone=school]{--a:#8E9AA6;--b:#2C3640;--c:rgba(200,210,220,.18);--fx:50%;--fy:32%}
[data-tone=fashion]{--a:#6E6258;--b:#141212;--c:rgba(200,169,107,.32);--fx:44%;--fy:28%;--ang:190deg}
[data-tone=commercial]{--a:#9A9690;--b:#2A2A29;--c:rgba(245,242,236,.12);--fx:66%;--fy:44%}
[data-tone=product]{--a:#D8C9AE;--b:#6B5D49;--c:rgba(255,250,240,.3);--fx:50%;--fy:52%}
[data-tone=portrait]{--a:#C59A72;--b:#4A3426;--c:rgba(240,200,160,.2);--fx:34%;--fy:34%}
[data-tone=film]{--a:#5F6A70;--b:#121618;--c:rgba(200,169,107,.28);--fx:72%;--fy:38%;--ang:120deg}
[data-tone=family]{--a:#B9A47F;--b:#47402F;--c:rgba(230,215,180,.22);--fx:28%;--fy:40%}
.r-21x9{aspect-ratio:21/9}.r-16x9{aspect-ratio:16/9}.r-3x2{aspect-ratio:3/2}.r-4x5{aspect-ratio:4/5}.r-2x3{aspect-ratio:2/3}.r-1x1{aspect-ratio:1}.r-5x4{aspect-ratio:5/4}

/* nav */
.nav{position:fixed;left:0;right:0;top:0;z-index:100;padding-top:env(safe-area-inset-top,0px);transition:background .45s var(--ease),border-color .45s var(--ease);border-bottom:1px solid transparent}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:88px;transition:height .45s var(--ease)}
.nav.scrolled{background:rgba(13,13,13,.94);border-bottom-color:var(--line-dark);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.nav.scrolled .nav-inner{height:64px}
.logo{font-family:var(--serif);font-size:20px;letter-spacing:.22em;text-decoration:none;white-space:nowrap}
.logo span{color:var(--gold)}
.nav-links{display:flex;gap:clamp(14px,1.5vw,26px);align-items:center}
.nav-links a{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--on-dark);padding-block:10px;position:relative;white-space:nowrap}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:var(--gold);transition:right .35s var(--ease)}
.nav-links a:hover::after,.nav-links a[aria-current]::after{right:0}
.nav-links a[aria-current]{color:var(--gold)}
.nav-login{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;border:1px solid rgba(200,169,107,.6);padding:12px 18px;white-space:nowrap;transition:background .3s,color .3s}
.nav-login:hover{background:var(--gold);color:var(--ink)}
.menu-btn{display:none;width:44px;height:44px;background:none;border:0;color:var(--on-dark);cursor:pointer;padding:0;align-items:center;justify-content:center}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display:block;width:26px;height:1px;background:currentColor;position:relative;transition:transform .35s var(--ease),background .2s}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0}
.menu-btn span::before{top:-8px}.menu-btn span::after{top:8px}
.menu-btn[aria-expanded=true] span{background:transparent}
.menu-btn[aria-expanded=true] span::before{transform:translateY(8px) rotate(45deg)}
.menu-btn[aria-expanded=true] span::after{transform:translateY(-8px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:99;background:var(--ink);padding-top:calc(96px + env(safe-area-inset-top,0px));padding-bottom:calc(32px + env(safe-area-inset-bottom,0px));overflow-y:auto}
.mobile-menu ul{display:grid}
.mobile-menu li a{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--serif);font-size:clamp(1.8rem,7vw,2.4rem);text-decoration:none;padding-block:10px;border-bottom:1px solid var(--line-dark)}
.mobile-menu li a small{font-family:var(--sans);font-size:12px;letter-spacing:.2em;color:var(--gold)}
.mobile-menu .btns{margin-top:32px}
@media (max-width:1240px){.nav-links,.nav .nav-login{display:none}.menu-btn{display:inline-flex}}

/* hero */
.hero{position:relative;min-height:100vh;min-height:min(100svh,1000px);display:grid;align-items:end;overflow:hidden;background:var(--ink)}
.hero-frames{position:absolute;inset:0}
.hero-frame{position:absolute;inset:0;animation:heroCycle 21s linear infinite backwards}
.hero-frame:nth-child(1){animation-delay:-1.5s}
.hero-frame:nth-child(2){animation-delay:5.5s}
.hero-frame:nth-child(3){animation-delay:12.5s}
.hero-frame .ph-img{animation:drift 21s linear infinite}
@keyframes heroCycle{0%{opacity:0}5%{opacity:1}33%{opacity:1}38%{opacity:0}100%{opacity:0}}
@keyframes drift{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero-frame .ph-tag{left:auto;right:max(clamp(16px,4.5vw,64px),env(safe-area-inset-right,0px));bottom:auto;top:calc(110px + env(safe-area-inset-top,0px))}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,13,.55) 0%,rgba(13,13,13,.05) 35%,rgba(13,13,13,.25) 60%,rgba(13,13,13,.92) 100%);pointer-events:none}
.hero-content{position:relative;z-index:2;width:100%;padding-block:calc(140px + env(safe-area-inset-top,0px)) clamp(56px,8vw,104px)}
.hero h1{font-size:clamp(3.3rem,12.5vw,11rem);line-height:.92;letter-spacing:.035em;font-weight:400;animation:rise 1.4s var(--ease) both}
.hero-tag{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2.8vw,2.2rem);line-height:1.25;margin-top:clamp(14px,2vw,24px);max-width:22ch;animation:rise 1.4s .15s var(--ease) both}
.hero-sub{margin-top:var(--s3);font-size:12px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--on-dark-2);animation:rise 1.4s .25s var(--ease) both}
.hero-sub b{color:var(--gold);font-weight:600;padding-inline:6px}
.hero .btns{margin-top:clamp(28px,4vw,44px);animation:rise 1.4s .35s var(--ease) both}
@keyframes rise{from{transform:translateY(18px)}to{transform:none}}
.hero-row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px}
.scroll-cue{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--on-dark-2);text-decoration:none;writing-mode:vertical-rl;flex-shrink:0}
.scroll-cue i{display:block;width:1px;height:64px;background:linear-gradient(var(--gold),transparent);animation:cue 2.4s var(--ease) infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}

/* mobile quick tiles */
.quick{display:none}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-block:8px}
.quick a{position:relative;display:block;text-decoration:none}
.quick a .ph{aspect-ratio:4/5}
.quick a strong{position:absolute;left:14px;bottom:14px;z-index:3;font-family:var(--serif);font-weight:400;font-size:1.25rem}
.quick a .ph-tag{display:none}

/* intro */
.intro-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s3);align-items:center}
.intro-media{grid-column:1/8;position:relative}
.intro-media .ph-b{position:absolute;width:38%;right:-14%;bottom:-10%;border:10px solid var(--ivory);aspect-ratio:3/4}
.intro-text{grid-column:9/13;display:grid;gap:var(--s3)}
.gold-rule{width:72px;height:1px;background:var(--gold-deep)}
.intro-text .h2{font-size:clamp(2rem,3.6vw,3.3rem)}

/* section headers */
.sec-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s3);align-items:end;margin-bottom:clamp(40px,6vw,80px)}
.sec-head>div{grid-column:1/8;display:grid;gap:var(--s3)}
.sec-head>.lede{grid-column:9/13}

/* services */
.svc-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(28px,3.5vw,48px) var(--s3)}
.svc{text-decoration:none;display:grid;gap:18px;align-content:start}
.svc:nth-child(1){grid-column:1/8}.svc:nth-child(2){grid-column:9/13;margin-top:clamp(0px,9vw,140px)}
.svc:nth-child(3){grid-column:1/6}.svc:nth-child(4){grid-column:7/13}
.svc:nth-child(5){grid-column:2/8}.svc:nth-child(6){grid-column:9/13;margin-top:clamp(0px,6vw,96px)}
.svc:hover .ph-img,.svc:focus-visible .ph-img,.work:hover .ph-img,.alb:hover .ph-img{transform:scale(1.05)}
.svc-meta{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;align-items:baseline}
.svc-num{font-size:12px;font-weight:600;letter-spacing:.16em;color:var(--gold)}
.svc h3{font-size:clamp(1.5rem,2.4vw,2.1rem);line-height:1.15}
.svc p{grid-column:2;color:var(--on-dark-2);max-width:46ch}
.svc .textlink{grid-column:2;justify-self:start;margin-top:6px}

/* weddings */
.wed-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s3);margin-bottom:clamp(40px,6vw,72px)}
.wed-head .h-display{grid-column:1/9;font-size:clamp(2.6rem,7vw,6.4rem);line-height:.98}
.wed-head .h-display span{display:block}
.wed-head .h-display span:nth-child(2){padding-left:clamp(0px,8vw,140px)}
.wed-head .h-display span:nth-child(3){padding-left:clamp(0px,16vw,280px)}
.wed-head .eyebrow{grid-column:1/-1}
.wed-seq{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s3);align-items:start}
.wed-seq .w1{grid-column:1/-1}
.wed-seq .w2{grid-column:1/6;margin-top:calc(-1 * clamp(0px,8vw,120px));position:relative;z-index:2;border:10px solid var(--ink)}
.wed-seq .w-copy{grid-column:7/13;display:grid;gap:var(--s3);padding-top:var(--s4)}
.offer{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--s3)}
.offer li{padding:14px 0;border-bottom:1px solid var(--line-dark);font-size:15px;display:flex;gap:12px;align-items:baseline}
.offer li::before{content:"";width:5px;height:5px;background:var(--gold);transform:rotate(45deg);flex-shrink:0;position:relative;top:-2px}
.light .offer li,.paper .offer li{border-color:var(--line-light)}
.light .offer li::before,.paper .offer li::before{background:var(--gold-deep)}
.wed-film{margin-top:clamp(48px,7vw,96px)}

/* film player */
.player{position:relative;display:block;width:100%;border:0;padding:0;cursor:pointer;color:var(--ivory);background:none;text-align:left}
.player .ph-tag{left:auto;right:16px;top:14px;bottom:auto}
.play{position:absolute;inset:0;z-index:3;display:grid;place-items:center;align-content:center;gap:18px}
.play-ring{width:clamp(72px,8vw,104px);aspect-ratio:1;border:1px solid rgba(245,242,236,.7);border-radius:50%;display:grid;place-items:center;transition:transform .5s var(--ease),border-color .4s,background .4s}
.play-ring svg{width:22%;margin-left:6%}
.player:hover .play-ring,.player:focus-visible .play-ring{transform:scale(1.08);border-color:var(--gold);background:rgba(200,169,107,.12)}
.play-label{font-size:12px;font-weight:600;letter-spacing:.3em;text-transform:uppercase}
.player-caption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;margin-top:14px;font-size:13px;color:var(--on-dark-2)}

/* schools */
.sch-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s3);align-items:start}
.sch-copy{grid-column:1/7;display:grid;gap:var(--s3)}
.sch-media{grid-column:8/13}
.flow{margin-top:clamp(56px,7vw,96px);display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line-light)}
.flow li{padding:28px 20px 0 0;position:relative;display:grid;gap:8px;align-content:start}
.flow li+li{padding-left:20px;border-left:1px solid var(--line-light)}
.flow b{font-family:var(--serif);font-weight:400;font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.1}
.flow small{font-size:12px;font-weight:600;letter-spacing:.2em;color:var(--gold-deep)}
.flow p{font-size:14.5px;color:var(--on-light-2)}
.sch-ctas{margin-top:clamp(40px,5vw,64px);display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center}
.secure{display:inline-flex;gap:10px;align-items:center;font-size:13px;color:var(--on-light-2)}
.secure svg{width:16px;height:16px;flex-shrink:0}

/* fashion */
.fashion{position:relative;overflow:hidden}
.fa-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s3);align-items:start}
.fa-title{grid-column:1/6;display:grid;gap:var(--s4);position:sticky;top:120px}
.fa-title .h-display{font-size:clamp(3rem,7.4vw,7rem);line-height:.95;letter-spacing:-.01em}
.fa-title .h-display span{display:block}
.fa-title .h-display span:nth-child(2){font-style:italic;color:var(--gold)}
.fa-photos{grid-column:7/13;display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
.fa-photos .ph:nth-child(2){margin-top:clamp(0px,10vw,160px)}
.fa-photos .ph:nth-child(3){grid-column:1/-1}
.fa-photos .ph .ph-img{transition:transform 1.6s var(--ease),filter 1.2s var(--ease);filter:grayscale(.6) contrast(1.1)}
.fa-photos .ph:hover .ph-img{filter:none;transform:scale(1.04)}
.fa-list{columns:2;column-gap:var(--s3)}
.fa-list li{break-inside:avoid;padding:12px 0;border-bottom:1px solid var(--line-dark);font-size:15px;color:var(--on-dark-2)}

/* commercial */
.co-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s3);align-items:center}
.co-ba{grid-column:1/8}
.co-copy{grid-column:9/13;display:grid;gap:var(--s3)}
.ba{position:relative;aspect-ratio:4/3;max-width:100%;overflow:hidden;--pos:52%}
.ba .ph{position:absolute;inset:0}
.ba .after{clip-path:inset(0 0 0 var(--pos))}
.ba .before .ph-img{filter:grayscale(1) brightness(.75) contrast(.85)}
.ba .after .ph-tag{left:auto;right:14px}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:1px;background:var(--ivory);z-index:4;pointer-events:none}
.ba-handle::after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;border:1px solid var(--ivory);border-radius:50%;transform:translate(-50%,-50%);background:rgba(13,13,13,.4) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F5F2EC' stroke-width='1.2'%3E%3Cpath d='M9 7l-5 5 5 5M15 7l5 5-5 5'/%3E%3C/svg%3E") center/22px no-repeat}
.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:5;margin:0}
.ba input:focus-visible~.ba-handle::after{outline:2px solid var(--gold);outline-offset:3px}
.ba-cap{display:flex;justify-content:space-between;margin-top:12px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--on-light-2)}
.co-strip{margin-top:clamp(48px,6vw,80px);display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--s3)}

/* video */
.vid-types{margin-top:clamp(40px,5vw,64px);display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line-dark)}
.vid-types li{padding:20px 16px 0 0;font-family:var(--serif);font-size:clamp(1.05rem,1.4vw,1.3rem);line-height:1.25}
.vid-types li+li{padding-left:16px;border-left:1px solid var(--line-dark)}
.vid-foot{margin-top:clamp(40px,5vw,64px);display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:center}

/* portfolio */
.filters{display:flex;flex-wrap:wrap;gap:4px 6px;margin-bottom:clamp(32px,4vw,48px)}
.filters button{font:600 11.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;background:none;border:0;border-bottom:1px solid transparent;color:var(--on-light-2);min-height:44px;padding:0 12px;cursor:pointer;transition:color .3s,border-color .3s}
.filters button:hover{color:var(--on-light)}
.filters button[aria-pressed=true]{color:var(--on-light);border-bottom-color:var(--gold-deep)}
.works{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:clamp(14px,1.6vw,24px)}
.work{margin:0;grid-column:span 4;display:grid;gap:10px}
.work.w-wide{grid-column:span 8}.work.w-half{grid-column:span 6}.work.w-full{grid-column:1/-1}
.work .ph{width:100%}
.work figcaption{display:flex;justify-content:space-between;gap:12px;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.work figcaption span:last-child{color:var(--on-light-2);letter-spacing:.04em;text-transform:none;font-size:13px}
.work .vid-mark{position:absolute;right:14px;top:14px;z-index:3;width:38px;height:38px;border:1px solid rgba(245,242,236,.7);border-radius:50%;display:grid;place-items:center}
.work .vid-mark svg{width:10px;margin-left:2px}
.works-empty{grid-column:1/-1;padding:40px 0;color:var(--on-light-2)}
.pf-foot{margin-top:clamp(40px,5vw,64px);display:flex;justify-content:center}

/* case study template */
.case-meta{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-dark);margin-top:var(--s4)}
.case-meta div{padding:20px 16px 0 0;display:grid;gap:6px}
.case-meta div+div{padding-left:16px;border-left:1px solid var(--line-dark)}
.case-meta dt{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.case-meta dd{margin:0;font-size:14.5px}
.case-row{display:grid;grid-template-columns:2fr 1fr;gap:var(--s3);margin-top:var(--s3)}
.case-row>div{display:grid;gap:var(--s3)}
.case-end{margin-top:clamp(56px,7vw,96px);text-align:center;display:grid;justify-items:center;gap:var(--s3)}
.case-end .h2{font-size:clamp(2rem,4.4vw,3.6rem)}

/* client area */
.cl-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s3);align-items:start}
.cl-copy{grid-column:1/6;display:grid;gap:var(--s3)}
.cl-opts{grid-column:7/13;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-dark);border-left:1px solid var(--line-dark)}
.cl-opt{border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);padding:clamp(22px,2.6vw,36px);display:grid;gap:14px;align-content:start;text-decoration:none;transition:background .4s var(--ease)}
.cl-opt:hover{background:rgba(200,169,107,.06)}
.cl-opt svg{width:28px;height:28px;color:var(--gold)}
.cl-opt h3{font-size:1.35rem}
.cl-opt p{font-size:14.5px;color:var(--on-dark-2)}
.code-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:var(--s2)}
.field-dark{background:transparent;border:1px solid rgba(245,242,236,.3);color:var(--ivory);font:500 15px var(--sans);padding:0 16px;min-height:50px;letter-spacing:.06em;min-width:0}
.field-dark::placeholder{color:#8f8c86}
.field-dark:focus{border-color:var(--gold);outline:none}
.form-note{font-size:13.5px;color:var(--on-dark-2);min-height:1.4em}

/* albums */
.alb-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3)}
.alb{display:grid;gap:16px;align-content:start}
.alb:nth-child(even){margin-top:clamp(0px,5vw,72px)}
.alb h3{font-size:1.5rem}
.alb p{font-size:15px;color:var(--on-light-2)}
.alb-foot{margin-top:clamp(40px,5vw,64px)}

/* about */
.ab-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s3);align-items:start}
.ab-media{grid-column:1/6;position:sticky;top:100px}
.ab-copy{grid-column:7/13;display:grid;gap:var(--s3)}
.ab-copy h3{font-size:1.45rem;margin-top:var(--s2)}
.ab-copy p{color:var(--on-light-2);max-width:62ch}
.why{margin-top:clamp(56px,7vw,96px);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3)}
.why li{border-top:1px solid var(--on-light);padding-top:20px;display:grid;gap:10px;align-content:start}
.why h3{font-size:1.4rem}
.why p{font-size:15px;color:var(--on-light-2)}

/* testimonials */
.tq{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px)}
.tq blockquote{margin:0;display:grid;gap:22px;align-content:start}
.tq .qm{font-family:var(--serif);font-size:6rem;line-height:.6;color:var(--gold);height:.45em}
.tq p{font-family:var(--serif);font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.5}
.tq footer{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-2);display:grid;gap:4px}

/* contact */
.ct-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s3);align-items:start}
.ct-copy{grid-column:1/5;display:grid;gap:var(--s3)}
.ct-copy dl{display:grid;gap:18px;margin:var(--s2) 0 0}
.ct-copy dt{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep)}
.ct-copy dd{margin:4px 0 0;font-size:15.5px}
.ct-form{grid-column:6/13;display:grid;gap:32px;min-width:0}
.f{display:grid;gap:8px;min-width:0}
.f.full{grid-column:1/-1}
.f label,.f legend{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--on-light)}
.f label i{font-style:normal;color:var(--gold-deep)}
.f input,.f select,.f textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(23,23,23,.35);border-radius:0;color:var(--on-light);font:400 16px/1.5 var(--sans);padding:10px 0;min-height:46px;-webkit-appearance:none;appearance:none}
.f select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23171717' stroke-width='1.2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E") right 4px center/11px no-repeat;padding-right:24px}
.f textarea{min-height:120px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-bottom:1px solid var(--gold-deep);box-shadow:0 1px 0 var(--gold-deep)}
.f [aria-invalid=true]{border-bottom-color:#9B2C2C}
.f .err{font-size:13px;color:#9B2C2C;min-height:0}
fieldset.f{border:0;padding:0;margin:0}
.seg{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.seg label{position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0;width:1px;height:1px}
.seg span{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border:1px solid rgba(23,23,23,.3);font-size:13px;letter-spacing:.08em;text-transform:none;font-weight:500;transition:all .25s}
.seg input:checked+span{background:var(--ink-2);color:var(--ivory);border-color:var(--ink-2)}
.seg input:focus-visible+span{outline:2px solid var(--gold-deep);outline-offset:2px}
.ct-submit{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center}
.ct-thanks{grid-column:6/13;border-top:1px solid var(--on-light);padding-top:var(--s4);display:grid;gap:var(--s2)}
.ct-thanks h3{font-size:clamp(1.8rem,3vw,2.6rem)}

/* follow + footer */
.follow{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding-block:clamp(40px,5vw,64px)}
.follow h2{font-size:clamp(1.6rem,3vw,2.4rem)}
.socials{display:flex;flex-wrap:wrap;gap:8px}
.socials a{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px;border:1px solid var(--line-dark);text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;transition:border-color .3s,color .3s}
.socials a:hover{border-color:var(--gold);color:var(--gold)}
.socials svg{width:16px;height:16px}
.foot{border-top:1px solid var(--line-dark)}
.foot-top{display:grid;grid-template-columns:5fr 4fr 3fr;gap:var(--s4);padding-block:clamp(56px,7vw,96px) var(--s4)}
.foot-brand .logo{font-size:clamp(2rem,4vw,3.2rem)}
.foot-brand p{font-family:var(--serif);font-style:italic;color:var(--on-dark-2);margin-top:12px;font-size:1.1rem}
.foot h3{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.foot-nav{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.foot-nav a{display:block;padding-block:7px;text-decoration:none;color:var(--on-dark-2);font-size:15px}
.foot-nav a:hover{color:var(--ivory)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-block:var(--s3) calc(var(--s3) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line-dark);font-size:13px;color:var(--on-dark-2)}

/* dialog */
dialog.reel{border:0;padding:0;background:var(--ink);color:var(--ivory);width:min(1100px,calc(100vw - 32px));max-width:100%}
dialog.reel::backdrop{background:rgba(5,5,5,.88)}
.reel-body{position:relative}
.reel-msg{position:absolute;inset:0;z-index:3;display:grid;place-items:center;align-content:center;gap:12px;text-align:center;padding:24px}
.reel-msg p{max-width:46ch;color:var(--on-dark-2);font-size:15px}
.reel-close{position:absolute;right:8px;top:8px;z-index:4;width:44px;height:44px;background:rgba(13,13,13,.6);border:1px solid var(--line-dark);color:var(--ivory);font-size:22px;cursor:pointer;line-height:1}

/* responsive */
@media (max-width:1024px){
  .svc:nth-child(n){grid-column:span 6;margin-top:0}
  .svc:nth-child(2),.svc:nth-child(6){margin-top:0}
  .vid-types{grid-template-columns:repeat(3,1fr)}
  .vid-types li:nth-child(4){padding-left:0;border-left:0}
  .vid-types li{padding-bottom:20px}
  .alb-grid{grid-template-columns:1fr 1fr}
  .why{grid-template-columns:1fr 1fr}
  .tq{grid-template-columns:1fr}
  .tq blockquote{max-width:62ch}
  .foot-top{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1/-1}
}
@media (max-width:860px){
  .intro-media,.intro-text,.sec-head>div,.sec-head>.lede,.wed-head .h-display,.wed-seq .w2,.wed-seq .w-copy,.sch-copy,.sch-media,.fa-title,.fa-photos,.co-ba,.co-copy,.cl-copy,.cl-opts,.ab-media,.ab-copy,.ct-copy,.ct-form,.ct-thanks{grid-column:1/-1}
  .intro-grid{gap:var(--s5)}
  .intro-media .ph-b{right:0;bottom:-14%;width:42%}
  .intro-text{margin-top:var(--s3)}
  .wed-seq .w2{margin-top:0;border:0;width:78%}
  .wed-seq .w-copy{padding-top:var(--s2)}
  .fa-title,.ab-media{position:static}
  .fa-grid,.sch-grid,.co-grid,.cl-grid,.ab-grid,.ct-grid{gap:var(--s4)}
  .flow{grid-template-columns:1fr;border-top:0}
  .flow li,.flow li+li{padding:18px 0 18px 56px;border-left:1px solid var(--line-light);margin-left:12px;border-top:0}
  .flow li::before{content:"";position:absolute;left:-5px;top:28px;width:9px;height:9px;background:var(--gold-deep);transform:rotate(45deg)}
  .flow small{position:absolute;left:24px;top:22px}
  .works .work,.works .work.w-wide,.works .work.w-half{grid-column:span 6}
  .works .work.w-full{grid-column:1/-1}
  .case-meta{grid-template-columns:1fr 1fr}
  .case-meta div:nth-child(3){padding-left:0;border-left:0}
  .case-meta div{padding-bottom:16px}
  .case-row{grid-template-columns:1fr}
  .case-row>div{grid-template-columns:1fr 1fr}
  .co-strip{grid-template-columns:1fr 1fr}
  .co-strip .ph:first-child{grid-column:1/-1}
  .ab-media .ph{max-width:480px}
}
@media (max-width:640px){
  .hero-row{display:block}
  .scroll-cue{display:none}
  .hero .btns .btn{flex:1 1 100%}
  .quick{display:block}
  .svc:nth-child(n){grid-column:1/-1}
  .svc-meta{grid-template-columns:1fr}
  .svc p,.svc .textlink{grid-column:1}
  .offer{grid-template-columns:1fr}
  .fa-photos{grid-template-columns:1fr 1fr;gap:12px}
  .fa-list{columns:1}
  .vid-types{grid-template-columns:1fr 1fr}
  .vid-types li:nth-child(odd){padding-left:0;border-left:0}
  .vid-types li:nth-child(even){padding-left:16px;border-left:1px solid var(--line-dark)}
  .works{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px)));padding-inline:max(16px,env(safe-area-inset-left,0px));padding-bottom:12px;scrollbar-width:none}
  .works::-webkit-scrollbar{display:none}
  .works .work,.works .work.w-wide,.works .work.w-half,.works .work.w-full{flex:0 0 82%;scroll-snap-align:start}
  .works .work .ph{aspect-ratio:4/5}
  .swipe-hint{display:block!important}
  .cl-opts{grid-template-columns:1fr}
  .alb-grid,.why{grid-template-columns:1fr}
  .alb:nth-child(even){margin-top:0}
  .step{grid-template-columns:1fr}
  .ct-submit .btn{flex:1 1 auto}
  .case-row>div{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr}
  .code-form{grid-template-columns:1fr}
  .filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px)));padding-inline:max(16px,env(safe-area-inset-left,0px))}
  .filters button{flex-shrink:0}
}
.swipe-hint{display:none;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--on-light-2);margin-top:6px}

/* ===== ergonomics ===== */
.progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--gold);transform-origin:0 50%;transform:scaleX(var(--p,0));pointer-events:none}
@media (hover:none){.svc:hover .ph-img,.work:hover .ph-img,.alb:hover .ph-img{transform:none}}
.mobile-menu:not([hidden]){display:flex;flex-direction:column}
.mobile-menu>.wrap{margin-top:auto;width:100%}
.dock{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;grid-template-columns:1fr 1.5fr;gap:8px;padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:rgba(13,13,13,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line-dark);transform:translateY(110%);transition:transform .45s var(--ease)}
.dock .btn{min-height:52px;padding:0 12px;letter-spacing:.14em}
.dock.show{transform:none}
@media (max-width:860px){.dock{display:grid}}
.totop{position:fixed;right:max(24px,calc(env(safe-area-inset-right,0px) + 16px));bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:90;width:52px;height:52px;border-radius:50%;border:1px solid rgba(200,169,107,.6);background:rgba(13,13,13,.85);color:var(--ivory);display:grid;place-items:center;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .4s,transform .4s var(--ease),background .3s,color .3s}
.totop.show{opacity:1;pointer-events:auto;transform:none}
.totop:hover{background:var(--gold);color:var(--ink)}
@media (max-width:860px){.totop{display:none}}
@supports (animation-timeline: view()){
  .band .ph-img,.band .ph>img{animation:settle linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
  .band .h2,.band .h-display{animation:lift linear both;animation-timeline:view();animation-range:entry 5% entry 70%}
}
@keyframes settle{from{scale:1.14}to{scale:1}}
@keyframes lift{from{translate:0 28px}to{translate:0 0}}
::view-transition-group(*){animation-duration:.45s;animation-timing-function:cubic-bezier(.22,.61,.36,1)}

/* portfolio viewer */
.work-open{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;color:inherit;text-align:left}
dialog.lb{border:0;padding:0;margin:0;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;background:rgba(8,8,8,.97);color:var(--ivory)}
dialog.lb[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
dialog.lb::backdrop{background:rgba(8,8,8,.97)}
.lb-top,.lb-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.lb-top{padding-block:calc(12px + env(safe-area-inset-top,0px)) 12px}
.lb-bottom{padding-block:14px calc(16px + env(safe-area-inset-bottom,0px))}
.lb-count{font-size:12px;letter-spacing:.2em;font-variant-numeric:tabular-nums;color:var(--on-dark-2)}
.lb-stage{position:relative;margin-inline:max(16px,env(safe-area-inset-left,0px));touch-action:pan-y;user-select:none;-webkit-user-select:none}
.lb-stage .ph{position:absolute;inset:0;background:transparent}
.lb-stage .ph::after{display:none}
.lb-stage .ph>img{object-fit:contain}
.lb-stage .ph.has-img .ph-img,.lb-stage .vid-mark{display:none}
.lb-cap{font-family:var(--serif);font-size:1.2rem;line-height:1.3;min-width:0}
.lb-cap small{display:block;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.lb-navs{display:flex;gap:8px;flex-shrink:0}
.lb-btn{width:52px;height:52px;border:1px solid var(--line-dark);background:none;color:var(--ivory);font-size:20px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:border-color .3s,color .3s}
.lb-btn:hover{border-color:var(--gold);color:var(--gold)}

/* booking wizard */
.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-light)}
.steps li{position:relative;padding:14px 12px 0 0;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--on-light-2)}
.steps li::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:transparent;transition:background .3s}
.steps li b{display:block;font-family:var(--serif);font-weight:400;font-size:1.3rem;letter-spacing:0;text-transform:none}
.steps li[aria-current],.steps li.done{color:var(--on-light)}
.steps li[aria-current]::before{background:var(--gold-deep)}
.steps li.done::before{background:var(--on-light)}
.steps li.done b::after{content:" \2713";font-size:.75em}
.step{border:0;padding:0;margin:0;min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:28px 24px}
.step-q{font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.2;padding:0;margin-bottom:24px;color:var(--on-light)}
.step-hint{grid-column:1/-1;font-size:14px;color:var(--on-light-2)}
.tiles{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));gap:8px}
.tile{position:relative;cursor:pointer}
.tile input{position:absolute;opacity:0;width:1px;height:1px}
.tile span{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:64px;padding:12px 16px;border:1px solid rgba(23,23,23,.25);font-size:15px;font-weight:500;line-height:1.3;transition:background .25s,border-color .25s,color .25s}
.tile span::after{content:"";width:16px;height:16px;border:1px solid rgba(23,23,23,.4);border-radius:50%;flex-shrink:0}
.tile:hover span{border-color:var(--on-light)}
.tile input:checked+span{background:var(--ink-2);color:var(--ivory);border-color:var(--ink-2)}
.tile input:checked+span::after{border-color:var(--gold);background:radial-gradient(circle,var(--ink-2) 0 3px,var(--gold) 3.5px)}
.tile input:focus-visible+span{outline:2px solid var(--gold-deep);outline-offset:2px}
.err{font-size:13px;color:#9B2C2C}
.err:empty{display:none}
.step>.err{grid-column:1/-1;margin-top:-16px}
.form-status{font-size:14px;color:#9B2C2C}
.form-status:empty{display:none}
.draft-note{flex-basis:100%;font-size:13px;color:var(--on-light-2)}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .hero-frame{opacity:0}
  .hero-frame:first-child{opacity:1}
}

/* ===== multi-page components ===== */
.hero h1 .h1-kicker{display:flex;font-family:var(--sans);font-size:12px;line-height:1.6;letter-spacing:.26em;margin-bottom:clamp(14px,2vw,22px)}
.hero h1 .h1-brand{display:block}
.page-hero{position:relative;min-height:min(80vh,780px);min-height:min(80svh,780px);display:grid;align-items:end;overflow:hidden;background:var(--ink);color:var(--on-dark)}
.page-hero-media{position:absolute;inset:0}
.page-hero-media .ph-tag{left:auto;right:max(clamp(16px,4.5vw,64px),env(safe-area-inset-right,0px));bottom:auto;top:calc(110px + env(safe-area-inset-top,0px))}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,13,.6) 0%,rgba(13,13,13,.1) 40%,rgba(13,13,13,.9) 100%);pointer-events:none}
.page-hero-content{position:relative;z-index:2;width:100%;padding-block:calc(130px + env(safe-area-inset-top,0px)) clamp(48px,7vw,96px);display:grid;gap:20px;justify-items:start}
.page-hero h1{font-size:clamp(2.4rem,6.2vw,5.4rem);line-height:1.02;letter-spacing:-.01em;max-width:16ch}
.hero-lede{font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,1.9vw,1.5rem);line-height:1.4;max-width:40ch;color:var(--on-dark)}
.page-hero .btns{margin-top:8px}
.page-hero.compact{min-height:0;border-bottom:1px solid var(--line-dark)}
.page-hero.compact::after{display:none}
.page-hero.compact h1{max-width:22ch;font-size:clamp(2.2rem,5vw,4.4rem)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:0 10px;margin:0;padding:0;list-style:none;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-2)}
.crumbs li{display:flex;align-items:center;gap:10px}
.crumbs li+li::before{content:"/";color:var(--gold)}
.crumbs a{text-decoration:none;display:inline-block;padding-block:12px}
.crumbs a:hover{color:var(--ivory)}
.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s3);align-items:start}
.split-copy{grid-column:1/7;display:grid;gap:var(--s3);min-width:0}
.split-copy p{color:var(--on-light-2);max-width:62ch}
.split-media{grid-column:8/13}
.flow.flow-4{grid-template-columns:repeat(4,1fr)}
.flow-head{display:grid;gap:var(--s3);margin-bottom:clamp(8px,2vw,24px)}
.faq-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s3);align-items:start}
.flow+.faq-grid{margin-top:clamp(64px,8vw,112px)}
.faq-side{grid-column:1/5;display:grid;gap:var(--s3);position:sticky;top:100px}
.faq-list{grid-column:6/13;border-bottom:1px solid var(--line-light)}
.faq-list details{border-top:1px solid var(--line-light)}
.faq-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:64px;padding:18px 0;font-family:var(--serif);font-size:clamp(1.1rem,1.7vw,1.4rem);line-height:1.3;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";flex-shrink:0;font-family:var(--sans);font-size:24px;font-weight:400;color:var(--gold-deep);transition:transform .3s var(--ease)}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list summary:hover{color:var(--gold-deep)}
.faq-a{padding:0 0 24px;max-width:66ch;color:var(--on-light-2)}
.area{display:grid;gap:12px;margin-top:var(--s2)}
.area h3{font-size:1.3rem}
.area p{color:var(--on-light-2)}
.area-list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.area-list li{border:1px solid var(--line-light);padding:6px 12px;font-size:13px}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3)}
.rel{display:grid;gap:14px;text-decoration:none;align-content:start}
.rel:hover .ph-img,.rel:hover .ph>img{transform:scale(1.05)}
.rel h3{font-size:1.5rem}
.rel p{color:var(--on-dark-2);font-size:15px}
.cta-band{margin-top:clamp(64px,8vw,112px);padding-top:clamp(40px,5vw,64px);border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.cta-band h2{font-size:clamp(1.8rem,3.6vw,3rem);line-height:1.1;max-width:20ch}
.foot-nav.one{grid-template-columns:1fr}
.foot-area{margin-top:16px;font-size:14px;max-width:40ch;font-family:var(--sans)!important;font-style:normal!important}
.reel-block{margin-top:clamp(48px,6vw,80px)}
.ba-block{margin-top:clamp(48px,6vw,80px);max-width:880px}
.nf{display:grid;gap:var(--s3);justify-items:start}
@media (max-width:860px){
  .split-copy,.split-media,.faq-side,.faq-list{grid-column:1/-1}
  .faq-side{position:static}
  .related{grid-template-columns:1fr 1fr}
  .flow.flow-4{grid-template-columns:1fr}
}
@media (max-width:640px){.related{grid-template-columns:1fr}}

/* real photos: a file in /images with the slot's name covers the tonal placeholder */
.ph>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;transition:transform 1.2s var(--ease)}
.ph.has-img .ph-tag{display:none}
.svc:hover .ph>img,.svc:focus-visible .ph>img,.work:hover .ph>img,.alb:hover .ph>img,.rel:hover .ph>img{transform:scale(1.05)}
.hero-frame>img{animation:drift 21s linear infinite}
.fa-photos .ph>img{filter:grayscale(.6) contrast(1.1);transition:transform 1.6s var(--ease),filter 1.2s var(--ease)}
.fa-photos .ph:hover>img{filter:none;transform:scale(1.04)}
.reel video{position:absolute;inset:0;width:100%;height:100%;background:#000;z-index:5}
@media (hover:none){.svc:hover .ph>img,.work:hover .ph>img,.alb:hover .ph>img,.rel:hover .ph>img{transform:none}}
@media (prefers-reduced-motion:reduce){.hero-frame>img{animation:none}}

/* logo */
.logo{display:inline-flex;align-items:center;line-height:0;flex-shrink:0}
.logo-img{display:block;height:36px;width:auto;max-width:100%;transition:height .45s var(--ease)}
.nav.scrolled .logo-img{height:30px}
.foot-brand .logo-img{height:clamp(52px,6vw,72px)}
.foot-mail{margin-top:14px}
.foot-mail a{color:var(--on-dark-2);text-decoration:none;font-size:15px;border-bottom:1px solid var(--line-dark);padding-bottom:2px}
.foot-mail a:hover{color:var(--gold);border-color:var(--gold)}
.ct-copy dd a{color:inherit;text-underline-offset:3px}
@media (max-width:640px){.logo-img{height:36px}.nav.scrolled .logo-img{height:30px}}
@media (max-width:360px){.logo-img{height:30px}}

/* make room for the logo: switch to the menu button a little earlier */
@media (max-width:1360px) and (min-width:1241px){.nav-links,.nav .nav-login{display:none}.menu-btn{display:inline-flex}}
@media (max-width:1240px){.logo-img{height:38px}}

/* ===== device fit (phone / iPad / desktop) ===== */
/* Phones and small tablets: every two-column section becomes one clean column, so
   column gaps can never add up to more than the screen width. */
@media (max-width:860px){
  .intro-grid,.sec-head,.wed-head,.wed-seq,.sch-grid,.fa-grid,.co-grid,.cl-grid,.ab-grid,.ct-grid,.split,.faq-grid{grid-template-columns:minmax(0,1fr);column-gap:0}
}
/* iPad portrait: give text columns more room, keep photos generous */
@media (min-width:700px) and (max-width:860px){
  .sec-head>.lede{max-width:56ch}
  .split-media .ph,.sch-media .ph,.ab-media .ph{max-width:520px}
  .related{gap:20px}
}
/* Touch-friendly targets everywhere (iPad landscape shows the full menu) */
.nav-links a{padding-block:15px}
.nav-links a::after{bottom:9px}
.foot-mail a{display:inline-block;padding-block:12px}
.foot-nav a{padding-block:10px}
.crumbs a{padding-block:13px}
/* Large desktop screens: let the layout breathe a little wider */
@media (min-width:1700px){
  .wrap{max-width:1520px}
  body{font-size:17px}
}
/* homepage hero on phones: let the specialty line wrap and size the brand title to the screen */
.hero-sub{display:flex;flex-wrap:wrap;align-items:center;row-gap:6px}
.hero-content,.hero-row>div{min-width:0}
.hero h1 .h1-brand{font-size:clamp(2.7rem,11vw,11rem);overflow-wrap:anywhere}
@media (max-width:640px){.hero h1 .h1-kicker{letter-spacing:.18em}}
.scroll-cue{font-size:12px}
.ct-copy dd a{display:inline-block;padding-block:12px;margin-block:-12px}
/* booking steps: show only the 01/02/03 numbers */
.steps{list-style:none;margin:0;padding:0}
/* iPad portrait (700-860px): side-by-side text and photo, tidy gallery rows */
@media (min-width:700px) and (max-width:860px){
  .split,.sch-grid,.ab-grid,.intro-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);column-gap:32px;align-items:start}
  .split-copy,.sch-copy,.ab-copy,.intro-text{grid-column:1;grid-row:1}
  .split-media,.sch-media,.ab-media,.intro-media{grid-column:2;grid-row:1;position:sticky;top:90px}
  .intro-media{order:0}
  .intro-text{margin-top:0}
  .split-media .ph,.sch-media .ph,.ab-media .ph{max-width:none}
  .works .work.w-wide,.works .work.w-full{grid-column:1/-1}
  .works{align-items:start}
}

/* ===== model agreement page ===== */
.ag-hero .page-hero-content{gap:18px}
.ag-hero h1{max-width:18ch}
.ag-facts{display:grid;grid-template-columns:repeat(3,minmax(0,auto));justify-content:start;gap:12px 48px;margin:18px 0 0;padding:20px 0 0;list-style:none;border-top:1px solid var(--line-dark)}
.ag-facts li{display:grid;gap:2px;font-size:14px;color:var(--on-dark-2)}
.ag-facts b{font-family:var(--serif);font-weight:400;font-size:1.15rem;color:var(--on-dark)}
.ag-facts a{color:var(--on-dark);text-decoration:none;border-bottom:1px solid var(--line-dark);display:inline-block;padding-block:8px;margin-block:-8px}
.ag-facts a:hover{color:var(--gold);border-color:var(--gold)}
.ag-pdf{color:var(--on-dark)}
.ag-quote{background:var(--ink-2);color:var(--on-dark);border-bottom:1px solid var(--line-dark)}
.ag-quote .wrap{display:flex;flex-wrap:wrap;gap:16px 64px;padding-block:22px}
.ag-quote span{display:block;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-2)}
.ag-quote b{font-family:var(--serif);font-weight:400;font-size:2rem;color:var(--gold)}
.ag-band>.wrap{padding-block:clamp(40px,6vw,88px)}
.ag-layout{display:grid;grid-template-columns:240px minmax(0,780px);justify-content:center;gap:clamp(40px,6vw,96px);align-items:start}
.ag-rail{position:sticky;top:96px;display:grid;gap:18px}
.ag-rail ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line-light)}
.ag-rail ol a{position:relative;display:grid;grid-template-columns:30px 1fr;gap:6px;padding:12px 0 12px 18px;text-decoration:none;color:var(--on-light-2);min-height:44px}
.ag-rail ol a::before{content:"";position:absolute;left:-1px;top:10px;bottom:10px;width:2px;background:transparent;transition:background .3s}
.ag-rail ol a[aria-current]::before{background:var(--gold-deep)}
.ag-rail ol a[aria-current]{color:var(--on-light)}
.ag-r-num{font-family:var(--serif);font-size:1.05rem;line-height:1.4}
.ag-r-txt{font-size:14.5px;font-weight:500;line-height:1.4}
.ag-r-txt small{display:block;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--on-light-2);margin-top:2px}
.ag-rail ol a[data-status=done] small{color:var(--gold-deep)}
.ag-rail ol a[data-status=done] small::before{content:"✓ "}
.ag-rail ol a[data-status=skip] small{opacity:.7}
.ag-rail ol a:hover{color:var(--on-light)}
.ag-rail-help{font-size:14px;color:var(--on-light-2);line-height:1.6}
.ag-rail-help a{color:var(--on-light)}
.ag-mprog{display:none}
.ag-main{min-width:0}
.ag-form{display:grid}
.ag-sec{display:grid;gap:28px;padding-block:clamp(36px,5vw,56px);border-top:1px solid var(--line-light);scroll-margin-top:110px}
.ag-sec:first-of-type{border-top:0;padding-top:0}
.ag-head{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:4px 18px}
.ag-num{font-size:12.5px;font-weight:600;letter-spacing:.2em;color:var(--gold-deep)}
.ag-head h2{font-family:var(--serif);font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.15}
.ag-note{grid-column:2;color:var(--on-light-2);font-size:15px;max-width:60ch}
.ag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 28px}
.ag-fs{border:0;padding:0;margin:0;min-width:0}
.ag-fs legend{padding:0;margin-bottom:12px}
.ag-tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr))}
.ag-tiles .tile span{min-height:56px}
.ag-label{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--on-light)}
.ag-label i,.f label i,.f legend i{font-style:normal;color:var(--gold-deep)}
.was-validated .f input:invalid{border-bottom-color:#9B2C2C;box-shadow:0 1px 0 #9B2C2C}
.was-validated .ag-initials:invalid{border-color:#9B2C2C}
.was-validated .ag-ack input:invalid{outline:2px solid #9B2C2C;outline-offset:2px}
.ag-minor{border-left:2px solid var(--gold-deep);background:rgba(126,99,49,.07);padding:14px 18px;font-size:15px;color:var(--on-light)}
.ag-ack{display:grid;grid-template-columns:22px 1fr;gap:14px;align-items:start;padding:12px 0;font-size:15.5px;cursor:pointer;color:var(--on-light)}
.ag-ack input{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:1px 0 0;border:1px solid rgba(23,23,23,.5);background:var(--paper);display:grid;place-items:center;cursor:pointer}
.ag-ack input:checked{background:var(--ink-2);border-color:var(--ink-2)}
.ag-ack input:checked::after{content:"";width:6px;height:11px;border:solid var(--gold);border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.ag-ack input:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px}
.ag-ack.is-off{opacity:.45;cursor:not-allowed}
.ag-acks{display:grid;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light);padding-block:8px}
.ag-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ag-option{position:relative;display:block;cursor:pointer}
.ag-option input{position:absolute;opacity:0;width:1px;height:1px}
.ag-option span{display:grid;gap:6px;height:100%;padding:22px 22px 22px 58px;border:1px solid rgba(23,23,23,.25);position:relative;transition:border-color .25s,background .25s}
.ag-option span::before{content:"";position:absolute;left:22px;top:24px;width:18px;height:18px;border-radius:50%;border:1px solid rgba(23,23,23,.45)}
.ag-option b{font-family:var(--serif);font-weight:400;font-size:1.25rem;line-height:1.25}
.ag-option small{font-size:14.5px;color:var(--on-light-2);line-height:1.55}
.ag-option input:checked+span{border-color:var(--ink-2);background:var(--ivory);box-shadow:inset 0 0 0 1px var(--ink-2)}
.ag-option input:checked+span::before{border-color:var(--ink-2);background:radial-gradient(circle,var(--ink-2) 0 4px,transparent 4.5px)}
.ag-option input:focus-visible+span{outline:2px solid var(--gold-deep);outline-offset:2px}
.ag-option:hover span{border-color:var(--on-light)}
.ag-terms{border-top:1px solid var(--line-light)}
.ag-terms summary{list-style:none;display:flex;align-items:center;gap:16px;min-height:72px;padding:18px 0;cursor:pointer}
.ag-terms summary::-webkit-details-marker{display:none}
.ag-t-main{display:grid;gap:2px;flex:1;min-width:0}
.ag-t-title{font-family:var(--serif);font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.3}
.ag-t-sub{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--on-light-2)}
.ag-t-state{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--on-light-2);border:1px solid var(--line-light);padding:6px 10px;white-space:nowrap}
.ag-t-state.ok{color:var(--gold-deep);border-color:rgba(126,99,49,.5)}
.ag-t-state.ok::before{content:"✓ "}
.ag-chev{width:10px;height:10px;border-right:1.5px solid var(--gold-deep);border-bottom:1.5px solid var(--gold-deep);transform:rotate(45deg);transition:transform .25s;flex-shrink:0;margin-right:4px}
.ag-terms[open] .ag-chev{transform:rotate(225deg)}
.ag-terms summary:hover .ag-t-title{color:var(--gold-deep)}
.ag-terms-body{padding:4px 0 24px;display:grid;gap:18px}
.ag-clause h4{font-family:var(--sans);font-size:15px;font-weight:600;margin:0 0 4px}
.ag-clause h4 span{color:var(--gold-deep)}
.ag-clause p{font-size:15px;line-height:1.7;color:var(--on-light-2);max-width:68ch}
.ag-clause b{color:var(--on-light)}
.ag-clause table{width:100%;border-collapse:collapse;margin-top:12px;font-size:14.5px}
.ag-clause th{text-align:left;background:var(--ink-2);color:var(--ivory);padding:10px 12px;font-weight:600}
.ag-clause td{padding:10px 12px;border-bottom:1px solid var(--line-light);color:var(--on-light)}
.ag-initial{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:18px 20px;margin-bottom:12px;background:var(--ivory);border:1px solid var(--line-light)}
.ag-initial label{flex:1 1 280px;font-size:14.5px;font-weight:500;color:var(--on-light)}
.ag-initial-inputs{display:flex;align-items:center;gap:16px}
.ag-initials{width:112px;min-height:50px;text-align:center;text-transform:uppercase;letter-spacing:.14em;font:600 18px var(--sans);color:var(--on-light);background:var(--paper);border:1px solid rgba(23,23,23,.35);border-radius:0}
.ag-initials:focus{outline:none;border-color:var(--gold-deep);box-shadow:0 0 0 2px rgba(126,99,49,.25)}
.ag-co{font-size:13px;color:var(--on-light-2)}
.ag-co b{color:var(--gold-deep);letter-spacing:.1em}
.ag-sign-grid{margin-top:8px}
.ag-sig{position:relative;height:200px;margin-top:10px;background:#fff;border:1px dashed rgba(126,99,49,.7);touch-action:none}
.ag-sig canvas{display:block;width:100%;height:100%;cursor:crosshair}
.ag-sig-line{position:absolute;left:24px;right:24px;bottom:48px;border-bottom:1px solid rgba(23,23,23,.25);pointer-events:none}
.ag-sig-ph{position:absolute;left:24px;bottom:18px;font-size:13.5px;color:var(--on-light-2);pointer-events:none}
.ag-sig.signed .ag-sig-ph{display:none}
.ag-sig.error{border:1px solid #9B2C2C}
.ag-sig-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px;font-size:13.5px;color:var(--on-light-2)}
.ag-clear{background:none;border:1px solid rgba(23,23,23,.3);min-height:44px;padding:0 18px;font:600 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--on-light);cursor:pointer}
.ag-clear:hover{border-color:var(--gold-deep);color:var(--gold-deep)}
.ag-msg{padding:14px 18px;font-size:15px;margin-top:8px}
.ag-msg.err{background:#F7E8E5;color:#8A2418;border-left:2px solid #9B2C2C}
.ag-msg.warn{background:rgba(126,99,49,.1);color:var(--on-light);border-left:2px solid var(--gold-deep)}
.ag-submit{display:grid;gap:14px;justify-items:start;padding-top:32px}
.ag-submit .btn{min-height:56px;padding:0 34px}
.ag-submit p{font-size:14px;color:var(--on-light-2);max-width:56ch}
.ag-done{display:grid;gap:16px;justify-items:start;padding:clamp(32px,5vw,56px);background:var(--ivory);border:1px solid var(--line-light)}
.ag-done h2{font-family:var(--serif);font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.15}
.ag-done p:not(.eyebrow){color:var(--on-light-2);max-width:56ch}
/* trust band on the fashion page + documents strip on the client page */
.ag-trust .textlink{margin-top:clamp(28px,4vw,48px)}
.ag-trust-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}
.ag-trust-list li{border-top:1px solid var(--line-dark);padding-top:20px;display:grid;gap:10px;align-content:start}
.ag-trust-list h3{font-size:1.35rem}
.ag-trust-list p{font-size:15px;color:var(--on-dark-2)}
.ag-docs-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;gap:var(--s3);align-items:end}
.ag-docs-row .h2{font-size:clamp(1.8rem,3vw,2.6rem)}
@media (max-width:1023px){
  .ag-layout{grid-template-columns:minmax(0,1fr);max-width:780px;margin-inline:auto}
  .ag-rail{display:none}
  .ag-mprog{display:block;position:fixed;left:0;right:0;top:calc(64px + env(safe-area-inset-top,0px));z-index:80;background:var(--ivory);border-bottom:1px solid var(--line-light);transform:translateY(-110%);opacity:0;transition:transform .35s var(--ease),opacity .35s;pointer-events:none}
  .ag-mprog.show{transform:none;opacity:1}
  .ag-mprog .wrap{display:flex;justify-content:space-between;gap:12px;padding-block:10px;font-size:13px;font-weight:600;color:var(--on-light)}
  .ag-mprog .wrap span:last-child{color:var(--gold-deep);white-space:nowrap}
  .ag-mprog i{display:block;height:2px;background:var(--gold-deep);transform-origin:0 50%;transform:scaleX(0);transition:transform .4s var(--ease)}
  .ag-sec{scroll-margin-top:120px}
  .ag-trust-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ag-docs-row{grid-template-columns:minmax(0,1fr);align-items:start}
}
@media (max-width:640px){
  .ag-facts{grid-template-columns:minmax(0,1fr);gap:14px}
  .ag-grid,.ag-options{grid-template-columns:minmax(0,1fr)}
  .ag-head{grid-template-columns:1fr}
  .ag-note{grid-column:1}
  .ag-t-state{display:none}
  .ag-initial{padding:16px}
  .ag-initial-inputs{width:100%;justify-content:space-between}
  .ag-submit .btn{width:100%}
  .ag-trust-list{grid-template-columns:minmax(0,1fr)}
}
@media print{
  .nav,.mobile-menu,.foot,.follow,.dock,.totop,.ag-rail,.ag-mprog,.ag-submit,.ag-msg,.ag-clear,.ag-done,.skip,.crumbs,.ag-pdf,.progress,dialog,section.dark-2{display:none!important}
  body{background:#fff;color:#000}
  .ag-hero,.ag-band{background:#fff!important;color:#000!important}
  .ag-hero *{color:#000!important}
  .ag-layout{grid-template-columns:1fr}
  .ag-form[hidden]{display:grid!important}
  .ag-terms-body{display:grid!important}
  .ag-sec{break-inside:auto;padding-block:16px}
  .ag-clause th{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.f .tile,.ag-fs .tile{font-size:inherit;font-weight:inherit;letter-spacing:normal;text-transform:none;color:inherit}
.ag-rail-help a{display:inline-block;padding-block:12px;margin-block:-12px}
.ag-ack{min-height:48px}

/* ===== packages & pricing ===== */
.pk-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:end}
.pk-hero-copy{display:grid;gap:18px;justify-items:start;min-width:0}
.pk-hero h1{max-width:13ch}
.pk-hero h1 em{color:var(--gold)}
.pk-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.pk-chips li{font-size:13px;color:var(--on-dark-2);border:1px solid var(--line-dark);padding:6px 12px}
.pk-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border:1px solid var(--line-dark)}
.pk-facts div{padding:22px 24px;display:flex;flex-direction:column-reverse;gap:4px;border-color:var(--line-dark);border-style:solid;border-width:0}
.pk-facts div:nth-child(odd){border-right-width:1px}
.pk-facts div:nth-child(-n+2){border-bottom-width:1px}
.pk-facts dt{font-size:13px;color:var(--on-dark-2)}
.pk-facts dd{margin:0;font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.1;color:var(--gold)}
.pk-ribbon{background:var(--gold);color:var(--ink)}
.pk-ribbon .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;padding-block:12px;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;text-align:center}
.pk{display:grid;gap:clamp(24px,3vw,36px)}
.pk-controls{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 24px;border-bottom:1px solid var(--line-light)}
.pk-tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1 1 520px;min-width:0}
.pk-tabs::-webkit-scrollbar{display:none}
.pk-tab{flex:none;min-height:48px;padding:0 14px;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;font:600 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--on-light-2);cursor:pointer}
.pk-tab:hover{color:var(--on-light)}
.pk-tab[aria-selected=true]{color:var(--on-light);border-bottom-color:var(--gold-deep)}
.pk-medium{display:inline-flex;border:1px solid var(--line-light);margin-bottom:12px;background:var(--paper)}
.pk-medium button{min-height:44px;padding:0 16px;background:none;border:0;font:600 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--on-light-2);cursor:pointer}
.pk-medium button+button{border-left:1px solid var(--line-light)}
.pk-medium button[aria-pressed=true]{background:var(--ink-2);color:var(--ivory)}
.pk-catrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(24px,4vw,56px);align-items:center}
.pk-catcopy{display:grid;gap:18px}
.pk-intro{font-family:var(--serif);font-style:italic;font-size:clamp(1.25rem,2.2vw,1.65rem);line-height:1.4;color:var(--on-light);max-width:40ch}
.pk-note{display:flex;flex-wrap:wrap;gap:8px 28px;font-size:14px;color:var(--on-light-2);border-left:2px solid var(--gold-deep);padding:2px 0 2px 16px}
.pk-note b{color:var(--on-light);font-weight:600}
.pk-visual{width:100%}

.pk-card{position:relative;display:flex;flex-direction:column;gap:16px;min-width:0;padding:32px 28px 28px;background:var(--paper);border:1px solid var(--line-light);transition:border-color .25s,transform .25s var(--ease)}
.pk-card:hover{border-color:rgba(126,99,49,.5)}
.pk-card.pick{background:var(--ivory);border-color:var(--gold-deep)}
.pk-card.pick::before,.pk-card.pick::after{content:"";position:absolute;width:24px;height:24px;border:2px solid var(--gold-deep)}
.pk-card.pick::before{top:-8px;left:-8px;border-right:0;border-bottom:0}
.pk-card.pick::after{bottom:-8px;right:-8px;border-left:0;border-top:0}
.pk-card.is-sel{box-shadow:inset 0 0 0 1px var(--ink-2);border-color:var(--ink-2)}
.pk-badge{align-self:flex-start;min-height:24px;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;background:var(--gold-deep);color:var(--paper);padding:5px 10px}
.pk-badge.is-empty{visibility:hidden}
.pk-card h3{font-family:var(--serif);font-size:clamp(1.5rem,2.2vw,1.9rem);line-height:1.15}
.pk-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.pk-price b{font-family:var(--serif);font-weight:400;font-size:clamp(2.6rem,4vw,3.4rem);line-height:1;color:var(--on-light);font-variant-numeric:lining-nums tabular-nums}
.pk-card.pick .pk-price b{color:var(--gold-deep)}
.pk-price small{font-size:13px;color:var(--on-light-2)}
.pk-save{font-size:13.5px;font-weight:600;color:#2D6A43;margin-top:-6px}
.pk-save.is-muted{color:var(--on-light-2);font-weight:500}
.pk-specs{list-style:none;margin:0;padding:18px 0 0;border-top:1px solid var(--line-light);display:grid;gap:11px;flex:1;align-content:start}
.pk-specs li{display:grid;grid-template-columns:72px 1fr;gap:10px;font-size:15px;color:var(--on-light)}
.pk-specs span{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);padding-top:3px}
.pk-dep{font-size:13.5px;color:var(--on-light-2)}
.pk-card .btn{width:100%}
.pk-extras{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start;margin-top:clamp(32px,5vw,64px);padding-top:clamp(32px,5vw,64px);border-top:1px solid var(--line-light);scroll-margin-top:90px}
.pk-addons-col{display:grid;gap:18px}
.pk-addons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:6px}
.pk-addon{position:relative;cursor:pointer}
.pk-addon input{position:absolute;opacity:0;width:1px;height:1px}
.pk-addon span{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:12px 16px 12px 46px;border:1px solid var(--line-light);background:var(--paper);position:relative;transition:border-color .2s,background .2s}
.pk-addon span::before{content:"";position:absolute;left:16px;top:50%;width:18px;height:18px;margin-top:-9px;border:1px solid rgba(23,23,23,.45);background:var(--paper)}
.pk-addon b{font-weight:500;font-size:14.5px;color:var(--on-light)}
.pk-addon em{font-style:normal;font-family:var(--serif);font-size:1.15rem;color:var(--gold-deep);white-space:nowrap}
.pk-addon input:checked+span{border-color:var(--ink-2);background:var(--ivory)}
.pk-addon input:checked+span::before{background:var(--ink-2);border-color:var(--ink-2);box-shadow:inset 0 0 0 4px var(--ink-2),inset 0 0 0 9px var(--gold)}
.pk-addon input:focus-visible+span{outline:2px solid var(--gold-deep);outline-offset:2px}
.pk-addon:hover span{border-color:var(--on-light)}
.pk-fine{font-size:13.5px;color:var(--on-light-2)}
.pk-builder{position:sticky;top:96px;display:grid;gap:16px;padding:30px;background:var(--ink-2);color:var(--on-dark);border-top:4px solid var(--gold)}
.pk-builder h3{font-family:var(--serif);font-size:2rem;line-height:1.1}
.pk-b-lines{display:grid;gap:8px}
.pk-b-lines div{display:flex;justify-content:space-between;gap:12px;font-size:15px;color:var(--on-dark-2);font-variant-numeric:tabular-nums}
.pk-b-total{display:flex;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid var(--line-dark);font-family:var(--serif);font-size:1.8rem;color:var(--gold)}
.pk-b-dep,.pk-b-small{font-size:13.5px;color:var(--on-dark-2)}
.pk-builder .btn-primary{width:100%;border-color:var(--gold)}
.pk-b-copy{background:none;border:0;color:var(--on-dark);font:600 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;justify-self:start;padding:0}
.pk-b-copy:hover{color:var(--gold)}
.pk-b-status{font-size:13.5px;color:var(--gold);min-height:0}
.pk-b-status:empty{display:none}
.pk-terms{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line-light)}
.pk-terms li{display:grid;gap:8px;align-content:start;padding:28px 28px 28px 0;border-bottom:1px solid var(--line-light)}
.pk-terms li:not(:nth-child(3n+1)){padding-left:28px;border-left:1px solid var(--line-light)}
.pk-terms h3{font-family:var(--serif);font-size:1.45rem;color:var(--gold-deep)}
.pk-terms p{font-size:15px;color:var(--on-light-2)}
.pk-faq{margin-top:clamp(56px,7vw,96px)}
.pk-band .sec-head .lede .textlink{margin-top:12px}
.pk-chosen{display:grid;gap:6px;justify-items:start;padding:18px 20px;margin-bottom:8px;background:var(--ivory);border:1px solid var(--line-light);border-left:2px solid var(--gold-deep)}
.pk-chosen-name{font-family:var(--serif);font-size:1.35rem;line-height:1.25;color:var(--on-light)}
.pk-chosen-meta{font-size:14px;color:var(--on-light-2)}
.pk-chosen .textlink{padding-block:8px;color:var(--on-light)}
@media (max-width:1023px){
  .pk-hero-grid{grid-template-columns:minmax(0,1fr)}
  .pk-extras{grid-template-columns:minmax(0,1fr)}
  .pk-builder{position:static}
  .pk-catrow{grid-template-columns:minmax(0,1fr) minmax(0,300px)}
  .pk-terms{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pk-terms li,.pk-terms li:not(:nth-child(3n+1)){padding:24px 24px 24px 0;border-left:0}
  .pk-terms li:nth-child(even){padding-left:24px;border-left:1px solid var(--line-light)}
}
@media (min-width:700px) and (max-width:1023px){
}
@media (max-width:640px){
  .pk-catrow{grid-template-columns:minmax(0,1fr)}
  .pk-visuals{order:-1}
  .pk-medium{width:100%}
  .pk-medium button{flex:1 1 0;padding:0 6px;letter-spacing:.08em}
  .pk-controls{border-bottom:0}
  .pk-tabs{flex-basis:100%;border-bottom:1px solid var(--line-light);margin-inline:calc(-1 * max(16px,env(safe-area-inset-left,0px)));padding-inline:max(16px,env(safe-area-inset-left,0px))}
  .pk-addons{grid-template-columns:minmax(0,1fr)}
  .pk-terms{grid-template-columns:minmax(0,1fr)}
  .pk-terms li:nth-child(even){padding-left:0;border-left:0}
  .pk-builder{padding:24px 20px}
  .pk-facts div{padding:18px 16px}
}
.pk-anchors{position:relative;height:0}.pk-anchors span{position:absolute;top:-90px}
.pk{grid-template-columns:minmax(0,1fr)}.pk>*{min-width:0}
.pk-controls{flex-direction:column;align-items:stretch;gap:20px;border-bottom:0}
.pk-tabs{flex:none;width:100%;border-bottom:1px solid var(--line-light)}
.pk-medium{align-self:flex-start;margin-bottom:0}
@media (max-width:640px){.pk-medium{align-self:stretch}.pk-medium button{font-size:11px}}
@media (min-width:1024px){.pk-tabs{flex-wrap:wrap;overflow:visible}.pk-tab{padding:0 12px;letter-spacing:.12em}}
/* grouped packages (maternity, newborn, bundles, plans) */
.pk-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.pk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.pk-grid.c2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:calc((100% - 48px) / 3 * 2 + 24px)}
.pk-grid.c1{grid-template-columns:minmax(0,1fr);max-width:calc((100% - 48px) / 3 * 1.6)}
.pk-group-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;padding-top:24px;border-top:1px solid var(--line-light)}
.pk-cards>.pk-group-head:first-child{border-top:0;padding-top:0}
.pk-group-head h3{font-family:var(--serif);font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.15}
.pk-group-head p{font-family:var(--serif);font-style:italic;font-size:1.1rem;color:var(--on-light-2)}
.pk-card.bundle{background:linear-gradient(160deg,rgba(126,99,49,.12),var(--paper) 60%)}
.pk-specs li{grid-template-columns:88px 1fr}
.pk-medium-note{align-self:flex-start;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);border:1px solid rgba(126,99,49,.5);padding:12px 16px}
.pk-new{font-size:9px;font-weight:600;letter-spacing:.14em;margin-left:6px;color:var(--paper);background:var(--gold-deep);padding:2px 5px;vertical-align:4px}
@media (max-width:1023px){
  .pk-cards{max-width:none}
  .pk-grid,.pk-grid.c2,.pk-grid.c1{grid-template-columns:minmax(0,1fr);max-width:560px}
}
@media (min-width:700px) and (max-width:1023px){
  .pk-grid,.pk-grid.c2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
  .pk-grid.c3 .pk-card:last-child{grid-column:1/-1}
  .pk-grid.c1{max-width:calc(50% - 12px)}
}

/* ===== checkout & payment ===== */
.bk-pkg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 40px;align-items:start;padding:24px;background:var(--ivory);border:1px solid var(--line-light)}
.ag-pkg{margin-bottom:32px;border-left:2px solid var(--gold-deep)}
.bk-pkg-cat{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep)}
.bk-pkg-name{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.2;color:var(--on-light);margin-top:6px}
.bk-pkg-meta{font-size:14.5px;color:var(--on-light-2);margin-top:6px}
.bk-pkg .textlink{margin-top:10px;color:var(--on-light)}
.pay-lines{display:grid;gap:8px;font-size:15px;font-variant-numeric:tabular-nums}
.pay-lines div{display:flex;justify-content:space-between;gap:16px;color:var(--on-light-2)}
.pay-lines .is-sub{padding-top:10px;border-top:1px solid var(--line-light);color:var(--on-light)}
.pay-lines .is-total{padding-top:10px;border-top:1px solid var(--line-light);color:var(--on-light);font-weight:600}
.pay-lines .is-due{font-family:var(--serif);font-size:1.45rem;color:var(--gold-deep);padding-top:4px}
.pay{display:grid;gap:18px;padding:clamp(20px,3vw,32px);background:var(--paper);border:1px solid var(--line-light);border-top:3px solid var(--gold-deep)}
.pay .pay-lines{max-width:520px}
.pay-btn{justify-self:start;min-height:56px;padding:0 34px}
.pay-btn[disabled]{opacity:.6;cursor:wait}
.pay-status{font-size:14.5px;color:var(--on-light-2)}
.pay-status:empty{display:none}
.pay-status.err{color:#8A2418}
.pay-status.warn{color:var(--gold-deep)}
.pay-frame{min-height:120px}
.pay-frame #monerisCheckout{min-height:520px}
.pay-demo{display:grid;gap:12px;justify-items:start;padding:20px;border:1px dashed rgba(126,99,49,.6);background:var(--ivory)}
.pay-demo p:not(.eyebrow){font-size:15px;color:var(--on-light);max-width:56ch}
.pay-fine{font-size:13.5px;color:var(--on-light-2)}
.pay-ref{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 24px;margin:8px 0 0;width:100%}
.pay-ref div{border-top:1px solid var(--line-light);padding-top:10px}
.pay-ref dt{font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--on-light-2)}
.pay-ref dd{margin:4px 0 0;font-size:15.5px;color:var(--on-light);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ag-paysec{border-top:0;padding-top:0}
.bk-empty{margin-bottom:24px}
@media (max-width:640px){.bk-pkg{grid-template-columns:minmax(0,1fr);padding:18px}.pay-btn{width:100%;justify-self:stretch}}

/* ===== legal pages (cancellation & refund policy) ===== */
.legal-wrap{display:grid;grid-template-columns:minmax(0,720px) minmax(0,280px);justify-content:space-between;gap:clamp(40px,6vw,96px);align-items:start}
.legal{display:grid;gap:clamp(28px,3.5vw,40px);min-width:0}
.legal-sec{display:grid;gap:12px}
.legal h2{font-family:var(--serif);font-size:clamp(1.4rem,2.2vw,1.8rem);line-height:1.2;color:var(--on-light)}
.legal h4{font-family:var(--sans);font-size:15px;font-weight:600;color:var(--on-light);margin:0}
.legal p,.legal li{font-size:16px;line-height:1.75;color:var(--on-light-2);max-width:68ch}
.legal ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.legal li{position:relative;padding-left:22px}
.legal li::before{content:"";position:absolute;left:2px;top:.75em;width:6px;height:6px;background:var(--gold-deep);transform:rotate(45deg)}
.legal b{color:var(--on-light);font-weight:600}
.legal-close{display:grid;gap:10px;padding-top:24px;border-top:1px solid var(--line-light)}
.legal-close p{font-size:15px}
.legal-aside{position:sticky;top:100px;display:grid;gap:12px;justify-items:start;padding:24px;background:var(--ivory);border:1px solid var(--line-light);border-top:3px solid var(--gold-deep)}
.legal-aside p{font-size:15px;color:var(--on-light-2)}
.legal-aside a:not(.btn){color:var(--on-light)}
.legal-contact{font-family:var(--serif);font-size:1.2rem!important;color:var(--on-light)!important;overflow-wrap:anywhere}
.legal-contact a{display:inline-block;padding-block:8px}
.legal-in{gap:16px}
.legal-in p,.legal-in li{font-size:15px}
.legal-in .legal-sec{gap:6px}
.pk-policy{margin-top:24px}
.ag-ack a{color:var(--on-light);text-underline-offset:3px}
@media (max-width:860px){.legal-wrap{grid-template-columns:minmax(0,1fr)}.legal-aside{position:static}}
@media (min-width:861px){.legal-wrap{grid-template-columns:minmax(0,720px) minmax(0,320px)}}
.legal-contact{font-family:var(--sans)!important;font-size:15.5px!important;font-weight:600;overflow-wrap:normal}
.legal-aside a:not(.btn),.ag-ack a{display:inline-block;padding-block:11px;margin-block:-11px}
.pay-alt{font-size:14px;color:var(--on-light-2);padding-top:14px;border-top:1px solid var(--line-light);max-width:64ch}.pay-alt b{color:var(--on-light);font-weight:600;overflow-wrap:anywhere}
.ag-etransfer{font-size:14.5px;color:var(--on-light);background:var(--ivory);border-left:2px solid var(--gold-deep);padding:12px 16px;margin:0}
.legal-note{font-size:15px!important;color:var(--on-light)!important;background:var(--ivory);border-left:2px solid var(--gold-deep);padding:14px 18px;max-width:68ch}
.legal-note a{color:var(--on-light);text-underline-offset:3px;display:inline-block;padding-block:10px;margin-block:-10px}
.pk-policy{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}
.pk-policy-note{font-size:14px;color:var(--on-light-2)}

/* ===== live event photos ===== */
.lv-hero h1 em{color:var(--gold)}
.lv-code{display:flex;flex-wrap:wrap;gap:10px;width:100%;max-width:620px;margin-top:8px}
.lv-code input{flex:1 1 260px;min-width:0;min-height:56px;padding:0 18px;background:rgba(245,242,236,.06);border:1px solid rgba(245,242,236,.35);color:var(--ivory);font:500 16px var(--sans);letter-spacing:.02em}
.lv-code input::placeholder{color:#8f8c86}
.lv-code input:focus{outline:none;border-color:var(--gold)}
.lv-code .btn{min-height:56px}
.lv-hint{font-size:14px;color:var(--on-dark-2)}
.lv-hint b{color:var(--on-dark);font-weight:600}
.lv-events{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px}
.lv-ev{display:grid;gap:10px;align-content:start;padding:24px;background:var(--paper);border:1px solid var(--line-light);text-decoration:none;color:var(--on-light);transition:border-color .25s}
.lv-ev:hover{border-color:var(--gold-deep)}
.lv-ev b{font-family:var(--serif);font-weight:400;font-size:1.45rem;line-height:1.25}
.lv-ev-when{font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep)}
.lv-ev .textlink{justify-self:start}
.lv-empty{padding:28px;border:1px dashed rgba(23,23,23,.25);color:var(--on-light-2);font-size:15.5px;max-width:64ch}
.lv-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.lv-split>div{display:grid;gap:18px;align-content:start;min-width:0}
.lv-prices{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--line-light)}
.lv-prices li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid var(--line-light);font-size:15.5px;color:var(--on-light)}
.lv-prices b{font-family:var(--serif);font-weight:400;font-size:1.5rem;color:var(--gold-deep);white-space:nowrap}
.lv-note{font-size:13.5px;color:var(--on-light-2);max-width:60ch}
.lv-host{padding:clamp(24px,3vw,36px);background:var(--ivory);border:1px solid var(--line-light);border-top:3px solid var(--gold-deep)}
.lv-host h3{font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,1.9rem);line-height:1.2;color:var(--on-light)}
.lv-host p{color:var(--on-light-2);font-size:15.5px}
.lv-privacy{font-size:14px;color:var(--on-light-2);max-width:52ch}
.lv-privacy a{color:var(--on-light)}
.lv-event .btns{margin-top:8px}
.lv-share-status{font-size:14px;color:var(--on-dark-2);overflow-wrap:anywhere}
.lv-share-status:empty{display:none}
.lv-teaser-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:end}
.lv-teaser-copy{display:grid;gap:20px}
.dark-2 .lv-prices li,.lv-dark-prices .lv-prices li{color:var(--on-dark);border-color:var(--line-dark)}
.lv-dark-prices .lv-prices{border-color:var(--line-dark)}
.lv-dark-prices .lv-prices b{color:var(--gold)}
.lv-dark-prices .lv-note{color:var(--on-dark-2)}
.dark-2 .lv-split .lede{color:var(--on-dark-2)}
.dark-2 .lv-split .textlink{color:var(--on-dark)}
/* ===== reviews ===== */
.rv-wrap{display:grid;gap:clamp(28px,4vw,48px);max-width:780px}
.rv-google{display:grid;gap:12px;justify-items:start;padding:clamp(24px,3vw,36px);background:var(--ink-2);color:var(--on-dark);border-top:3px solid var(--gold)}
.rv-google h2,.rv-form h2{font-family:var(--serif);font-size:clamp(1.6rem,2.8vw,2.2rem);line-height:1.15}
.rv-google p:not(.eyebrow){color:var(--on-dark-2);max-width:56ch}
.rv-form{display:grid;gap:24px}
.rv-stars{border:0;padding:0;margin:0}
.rv-stars legend{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--on-light);margin-bottom:8px}
.rv-stars legend i{font-style:normal;color:var(--gold-deep)}
.rv-star-row{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.rv-star{position:relative;cursor:pointer}
.rv-star input{position:absolute;opacity:0;width:1px;height:1px}
.rv-star span[aria-hidden]{display:grid;place-items:center;width:52px;height:52px;font-size:34px;line-height:1;color:rgba(23,23,23,.2);transition:color .15s,transform .15s}
.rv-star:hover span[aria-hidden],.rv-star:hover~.rv-star span[aria-hidden],.rv-star input:checked+span,.rv-star:has(input:checked)~.rv-star span[aria-hidden]{color:var(--gold-deep)}
.rv-star input:focus-visible+span{outline:2px solid var(--gold-deep);outline-offset:2px}
.rv-star:active span[aria-hidden]{transform:scale(.9)}
.rv-count{justify-self:end;font-size:12.5px;color:var(--on-light-2);font-variant-numeric:tabular-nums}
.rv-form .err{display:block}
/* testimonials */
.tq-stars{color:var(--gold);letter-spacing:.12em;font-size:15px}
.tq-off{color:rgba(245,242,236,.2)}
.tq-empty{grid-column:1/-1;display:grid;gap:14px;justify-items:start;padding:clamp(24px,3vw,40px);border:1px solid var(--line-dark);max-width:640px}
.tq-empty-title{font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2rem);color:var(--on-dark)}
.tq-empty p:not(.tq-empty-title){color:var(--on-dark-2)}
#testimonials .sec-head .lede .textlink{margin-top:12px;color:var(--on-dark)}
@media (max-width:860px){.lv-split,.lv-teaser-row{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.lv-code .btn{flex:1 1 100%}.rv-star span[aria-hidden]{width:48px;height:48px;font-size:30px}}
.lv-privacy a{display:inline-block;padding-block:11px;margin-block:-11px}
.pay-fine a{display:inline-block;padding-block:12px;margin-block:-12px;color:var(--on-light)}

.ag-points{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:8px;max-width:68ch}
.ag-points li{font-size:15px;line-height:1.65;color:var(--on-light-2);padding-left:16px;position:relative}
.ag-points li::before{content:"";position:absolute;left:0;top:.7em;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.alb-link{display:block;color:inherit;text-decoration:none}
.alb-link .ph{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.alb-link:hover .ph{transform:scale(1.015)}
.alb-link:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.alb-cta{display:inline-flex;gap:6px;margin-top:10px;font:600 11.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);min-height:24px;align-items:center}
