:root{--deep:#12331c;--deeper:#0b2212;--green:#2f7d22;--lime:#a6e04a;--pink:#c9176b;--pink-hi:#a8105a;--pale:#f3f7ec;--ink:#14241a;--mute:#4c5c50;--line:#d7e0cf;--gut:clamp(18px,4.4vw,64px);--sec:clamp(72px,9vw,132px);--nav:76px;--nav-small:62px;--r:12px}
@font-face{font-family:Archivo;src:url(fonts/Archivo-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:Instrument;src:url(fonts/instrument-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Instrument;src:url(fonts/instrument-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Instrument;src:url(fonts/instrument-700.woff2) format("woff2");font-weight:700;font-display:swap}
*,*:before,*:after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-small) + 14px)}
body{margin:0;background:#fff;color:var(--ink);font:400 clamp(1.08rem,1rem + .25vw,1.2rem)/1.5 Instrument,system-ui,sans-serif;overflow-x:hidden}
img{display:block;max-width:100%}
h1,h2,h3,p,ul,ol,figure,fieldset,blockquote,dl,dd{margin:0;padding:0}
ul,ol{list-style:none}fieldset{border:0}
p,li{text-wrap:pretty}
h1,h2{font-family:Archivo,Instrument,sans-serif;font-weight:800;letter-spacing:-.025em;line-height:1.02;text-wrap:balance}
h1{font-size:clamp(2.8rem,1.5rem + 5.2vw,6rem)}
h2{font-size:clamp(2.2rem,1.5rem + 2.8vw,4rem)}
h3{font-family:Archivo,Instrument,sans-serif;font-weight:700;font-size:clamp(1.25rem,1.1rem + .5vw,1.55rem);line-height:1.15}
em{font-style:normal}
h1 em,h2 em{color:var(--green)}
.gh em,.dark em,.cta em{color:var(--lime)}
.wrap{max-width:1320px;margin-inline:auto;padding-inline:var(--gut)}
.skip{position:absolute;left:-999px;top:8px;z-index:60;padding:10px 14px;background:#fff}.skip:focus{left:8px}
a{color:inherit}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:60px;padding:12px 30px;border:0;border-radius:var(--r);font:inherit;font-weight:700;font-size:1.12rem;line-height:1.15;text-align:center;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.btn:active{transform:translateY(1px)}
.btn-pink{background:var(--pink);color:#fff}.btn-pink:hover{background:var(--pink-hi)}
.btn-deep{background:var(--deep);color:#fff}.btn-deep:hover{background:var(--green)}
.btn-line{color:#fff;box-shadow:inset 0 0 0 2px #fff}.btn-line:hover{background:#fff;color:var(--deep)}
.btn-line-d{color:var(--deep);box-shadow:inset 0 0 0 2px var(--deep)}.btn-line-d:hover{background:var(--deep);color:#fff}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btns-c{justify-content:center}
.sec-cta{margin-top:clamp(26px,3vw,40px)}.sec-cta-c{text-align:center}

.nav{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;gap:clamp(14px,2.4vw,36px);height:var(--nav);padding-inline:var(--gut);background:var(--deep);color:#fff;transition:height .22s,transform .25s}
.nav.is-small{height:var(--nav-small);box-shadow:0 8px 22px rgba(11,34,18,.3)}
.nav.is-away{transform:translateY(-100%)}
.mark{display:inline-flex;flex-direction:column;flex:none;line-height:1;text-decoration:none;color:#fff}
.mark b{font-family:Archivo,sans-serif;font-weight:800;font-size:1.6rem;letter-spacing:-.025em}
.mark b i{font-style:normal;color:var(--lime)}
.mark small{margin-top:3px;font-size:.84rem;font-weight:500}
.nav-links{display:flex;align-items:center;gap:clamp(16px,2vw,28px);margin-left:auto}
.nav-links a{font-weight:700;font-size:1.02rem;text-decoration:none;white-space:nowrap}
.nav-links a:hover,.nav-links [aria-current]{color:var(--lime)}
.nav-tel{min-height:48px;padding:8px 18px;font-size:1.02rem;white-space:nowrap}
.menu{display:none;position:relative;width:48px;height:48px;padding:0;margin-left:auto;margin-right:-8px;border:0;background:none;cursor:pointer}
.menu i{position:absolute;left:11px;right:11px;height:3px;background:#fff;border-radius:2px;transition:transform .25s,opacity .2s}
.menu i:nth-child(1){top:15px}.menu i:nth-child(2){top:23px}.menu i:nth-child(3){top:31px}
.menu[aria-expanded=true] i:nth-child(1){transform:translateY(8px) rotate(45deg)}
.menu[aria-expanded=true] i:nth-child(2){opacity:0}
.menu[aria-expanded=true] i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

.gh{position:relative;background:var(--deep);color:#fff;padding-top:calc(var(--nav) + clamp(28px,4vw,60px))}
.gh:not(.gh-short) h1 em{display:block}
.gh-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px clamp(28px,5vw,80px);align-items:center;margin-top:clamp(18px,2.2vw,30px)}
.gh-sub{font-size:clamp(1.14rem,1rem + .45vw,1.38rem);line-height:1.38;max-width:34em}
.crumb{margin-bottom:12px;font-size:1rem}.crumb a{text-underline-offset:3px}
.gh-photos{display:grid;grid-template-columns:7fr 3fr 4fr;gap:clamp(8px,1vw,14px);margin-top:clamp(28px,3.6vw,52px);margin-bottom:clamp(-110px,-7vw,-56px);position:relative;z-index:2}
.gh-photo{overflow:hidden;border-radius:var(--r);height:clamp(260px,31vw,430px)}
.gh-photo img{width:100%;height:100%;object-fit:cover}
.gh-photo:nth-child(2){margin-top:clamp(20px,3vw,44px)}
.gh-photo:nth-child(3){margin-top:clamp(-10px,-1vw,0px)}
.gh-short .gh-photo{height:clamp(200px,22vw,300px)}
.after-gh{padding-top:calc(var(--sec) + clamp(56px,7vw,110px))}

.say-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:start;margin-top:clamp(22px,3vw,40px)}
.say-intro{margin-top:14px;max-width:36em;color:var(--mute)}
.lead-q{font-family:Archivo,sans-serif;font-weight:600;font-size:clamp(1.55rem,1.15rem + 1.6vw,2.6rem);line-height:1.18;letter-spacing:-.015em;text-wrap:pretty}
.who{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:14px;font-weight:700;font-size:1.02rem}
.who svg{width:22px;height:22px}
.stars{color:#8a5d00;letter-spacing:.08em}.stars:before{content:"\2605\2605\2605\2605\2605"}
.q-list{display:grid;gap:clamp(22px,2.6vw,34px)}
.q-list li+li{padding-top:clamp(22px,2.6vw,34px);border-top:1px solid var(--line)}
.q-list blockquote{font-size:1.12rem;line-height:1.42}

.work{padding-block:var(--sec);background:var(--pale)}
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(220px,23vw,340px);grid-auto-flow:dense;gap:clamp(8px,1vw,14px);margin-top:clamp(26px,3vw,44px)}
.tile{position:relative;display:flex;align-items:flex-end;overflow:hidden;border-radius:var(--r);color:#fff;text-decoration:none;background:var(--deep)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.tile:hover img{transform:scale(1.04)}
.tile:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,34,18,.92) 0,rgba(11,34,18,.5) 32%,rgba(11,34,18,0) 60%)}
.tile span{position:relative;z-index:1;display:block;padding:clamp(14px,1.8vw,24px)}
.tile b{display:block;font-family:Archivo,sans-serif;font-weight:700;font-size:clamp(1.25rem,1rem + .8vw,1.8rem);line-height:1.1;text-wrap:balance}
.tile small{display:block;margin-top:5px;font-size:1rem;line-height:1.3}
.t-big{grid-column:span 2;grid-row:span 2}.t-wide{grid-column:span 2}

.dark{padding-block:var(--sec);background:var(--deep);color:#fff}
.pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3.4vw,48px);margin-top:clamp(26px,3vw,44px)}
.pair-cap{margin-top:12px;font-weight:700}
.solo{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,84px);align-items:center}
.stills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(6px,.8vw,10px)}
.stills figure{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--r)}
.stills img{width:100%;height:100%;object-fit:cover}
.tag{position:absolute;top:10px;left:10px;padding:5px 10px;border-radius:7px;background:var(--deeper);color:#fff;font-weight:700;font-size:.95rem;line-height:1.1}
.tag-a{background:var(--pink)}

.save{padding-block:var(--sec)}
.save-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,84px);align-items:start}
.save-list li{padding-block:clamp(14px,1.8vw,22px);border-top:1px solid var(--line)}
.save-list li:last-child{border-bottom:1px solid var(--line)}
.save-list p{margin-top:4px;color:var(--mute)}

.intro{padding-block:var(--sec)}
.intro-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,5vw,84px);align-items:center}
.intro p{margin-top:14px;max-width:32em;color:var(--mute)}
.intro .sec-cta{margin-top:clamp(24px,3vw,36px)}
.intro figure{overflow:hidden;border-radius:var(--r);aspect-ratio:5/6}
.intro figure img{width:100%;height:100%;object-fit:cover}
.ticks{display:grid;gap:10px;margin-top:20px}
.ticks li{position:relative;padding-left:28px;font-weight:700;line-height:1.3}
.ticks li:before{content:"";position:absolute;left:0;top:.2em;width:15px;height:15px;background:var(--pink);border-radius:0 70% 0 70%}
.dark .ticks li:before{background:var(--lime)}
.one-q{padding-block:var(--sec) 0}
.one-q .who{margin-top:18px}
.two-text{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,6vw,96px)}
.two-text h2{font-size:clamp(2rem,1.5rem + 1.9vw,3.2rem)}
.two-text p{margin-top:14px;max-width:32em}
.her{padding-block:var(--sec);background:var(--pale)}

.gal{padding-block:var(--sec)}
.gal-pale{background:var(--pale)}
.gal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(170px,20vw,300px);grid-auto-flow:dense;gap:clamp(8px,1vw,14px);margin-top:clamp(22px,2.6vw,36px)}
.gi{display:block;width:100%;height:100%;padding:0;border:0;border-radius:var(--r);overflow:hidden;background:var(--line);cursor:zoom-in}
.gi img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gi:hover img{transform:scale(1.03)}

.faq{padding-block:var(--sec);background:var(--pale)}
.faq-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(20px,4vw,60px)}
details{border-top:1px solid var(--line)}
details:last-child{border-bottom:1px solid var(--line)}
summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:62px;padding-block:14px;font-weight:700;font-size:1.16rem;line-height:1.25;cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";flex:none;color:var(--green);font-size:1.7rem;font-weight:500;line-height:1}
details[open] summary:after{content:"\2212"}
details p{padding-bottom:18px;max-width:42em;color:var(--mute)}
.quote{padding-block:var(--sec)}
.quote-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,70px);align-items:start}
.quote-copy p{margin-top:14px;max-width:30em;color:var(--mute)}
.quote-or a{font-weight:700;color:var(--green);text-underline-offset:4px}
.q-form{padding:clamp(18px,2.4vw,32px);border-radius:var(--r);background:var(--pale)}
legend,.q-row span{display:block;margin-bottom:8px;padding:0;font-weight:700}
.q-row label{display:block}
.picks{display:flex;flex-wrap:wrap;gap:8px}
.pick input{position:absolute;width:1px;height:1px;opacity:0}
.pick span{display:inline-flex;align-items:center;min-height:48px;padding:8px 15px;border-radius:9px;background:#fff;box-shadow:inset 0 0 0 2px var(--line);font-weight:700;line-height:1.1;cursor:pointer;transition:background .2s,color .2s}
.pick input:checked+span{background:var(--deep);color:#fff;box-shadow:none}
.pick input:focus-visible+span{outline:3px solid var(--pink);outline-offset:2px}
.q-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.q-row input{width:100%;min-height:52px;padding:10px 14px;border:2px solid var(--line);border-radius:9px;font:inherit;background:#fff;color:var(--ink)}
.q-row input:focus{outline:0;border-color:var(--green)}
.q-out{margin:18px 0;padding:14px 16px;border-radius:9px;background:#fff;line-height:1.42}
.q-form .btn{width:100%}
.ways{padding-block:0 clamp(44px,5vw,72px)}
.ways-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ways-grid>*{display:block;padding:20px 22px;border-radius:var(--r);background:var(--pale);text-decoration:none;min-width:0}
.ways-grid small{display:block;color:var(--mute);font-size:1rem}
.ways-grid b{display:block;margin-top:2px;font-family:Archivo,sans-serif;font-weight:700;font-size:clamp(1.15rem,1rem + .8vw,1.7rem);line-height:1.2;overflow-wrap:anywhere}
.cta{padding-block:var(--sec);background:var(--deep);color:#fff;text-align:center}
.cta p{margin-top:12px}
.cta-phone{display:block;margin-block:14px clamp(20px,2.6vw,32px);font-family:Archivo,sans-serif;font-weight:800;font-size:min(11.6vw,6rem);line-height:1.05;white-space:nowrap;text-decoration:none;color:var(--lime)}
.foot{padding-block:clamp(44px,5vw,70px);background:var(--deeper);color:#e6efe2}
.foot-grid{display:grid;grid-template-columns:minmax(0,5fr) repeat(2,minmax(0,2fr));gap:30px clamp(24px,4vw,56px)}
.foot h3{margin-bottom:8px;color:var(--lime);font-size:1.12rem}
.foot a:not(.mark){display:block;padding:5px 0;text-decoration:none}.foot a:not(.mark):hover{color:var(--lime)}
.foot-a p{margin-top:14px;max-width:30em}
.foot-s{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:10px}
.foot-s a{min-height:44px;display:inline-flex!important;align-items:center;text-decoration:underline!important;text-underline-offset:4px}
.viewer{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:64px 12px 18px;border:0;background:rgba(11,34,18,.97);color:#fff}
.viewer[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.viewer::backdrop{background:rgba(11,34,18,.9)}
.viewer img{flex:0 1 auto;min-height:0;max-width:100%;max-height:calc(100dvh - 130px);object-fit:contain;border-radius:8px}
.viewer p{font-weight:700;text-align:center}
.v-btn{position:absolute;display:grid;place-items:center;width:52px;height:52px;border:0;border-radius:10px;background:var(--deep);box-shadow:0 0 0 2px rgba(255,255,255,.55);cursor:pointer}
.v-btn svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.v-close{top:10px;right:10px}.v-prev{left:10px;top:50%;margin-top:-26px}.v-next{right:10px;top:50%;margin-top:-26px}
.callbar{display:none;transition:transform .28s ease,visibility .28s;position:fixed;left:0;right:0;bottom:var(--notice,0px);z-index:30;grid-template-columns:1fr 1fr;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--deeper)}
.callbar.is-tucked{visibility:hidden;transform:translateY(calc(100% + var(--notice,0px)))}
.callbar a{display:grid;place-items:center;min-height:58px;font-weight:700;font-size:1.1rem;text-decoration:none;color:#fff}
.callbar-call{background:var(--pink)}.callbar-text{background:var(--deeper)}
@media (max-width:1300px){
  .menu{display:block}
  .nav-tel{display:none}
  .nav-links{position:absolute;top:100%;left:0;right:0;display:none;height:calc(100dvh - var(--nav-small));overflow-y:auto;padding:10px var(--gut) 20px;background:var(--deep)}
  .nav-links.is-open{display:block}
  .nav-links a{display:flex;align-items:center;min-height:56px;font-size:1.3rem}
}
@media (max-width:980px){
  .gh-row,.say-grid,.quote-grid,.faq-grid,.save-grid,.solo{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  :root{--nav:68px;--nav-small:60px}
  .mark b{font-size:1.42rem}.mark small{font-size:.8rem}
  .callbar{display:grid}
  body{padding-bottom:calc(58px + var(--notice,0px) + env(safe-area-inset-bottom,0px));background:var(--deeper)}
  main{background:#fff}
  h1{font-size:clamp(2.6rem,12vw,3.4rem)}
  .btns .btn{width:100%}
  .gh-photos{grid-template-columns:3fr 2fr;margin-bottom:-52px}
  .gh-photo,.gh-short .gh-photo{height:clamp(190px,50vw,250px)}
  .gh-photo:nth-child(3){display:none}
  .gh-photo:nth-child(2){margin-top:22px}
  .bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(170px,46vw,240px)}
  .gal-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(160px,44vw,220px)}
  .foot-grid,.ways-grid,.intro-grid,.two-text,.pairs{grid-template-columns:minmax(0,1fr)}
  .q-row{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* logo image and woman-owned badge */
.mark img{width:auto;height:70px;transition:height .22s}
.nav.is-small .mark img{height:56px}
.foot .mark img{height:96px}
.wob{position:absolute;z-index:3;top:clamp(-70px,-4.4vw,-40px);right:clamp(-8px,1vw,18px);width:clamp(96px,10vw,148px);height:auto;transform:rotate(9deg);filter:drop-shadow(0 10px 18px rgba(11,34,18,.35))}
@media (max-width:760px){
  .mark img{height:58px}.nav.is-small .mark img{height:52px}.foot .mark img{height:80px}
  .wob{top:-44px;right:4px;width:92px}
}

/* cinematic hero: crossfading job photos, slanted edge with the logo's lime and pink stripes */
.hx{display:flex;align-items:flex-end;min-height:min(920px,100svh);padding:calc(var(--nav) + 48px) 0 clamp(120px,12vw,190px);overflow:hidden;background:var(--deeper);clip-path:polygon(0 0,100% 0,100% calc(100% - 5vw),0 100%)}
.hx.gh-short{min-height:min(700px,78svh)}
.hx-media{position:absolute;inset:0;z-index:0}
.hx-media figure{position:absolute;inset:0;margin:0;overflow:hidden}
.hx-media figure:not(:first-child){display:none}
.hx-media img{width:100%;height:100%;object-fit:cover}
.hx-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,34,18,.9) 0%,rgba(11,34,18,.62) 40%,rgba(11,34,18,.1) 70%,rgba(11,34,18,0) 100%),linear-gradient(0deg,rgba(11,34,18,.55) 0%,rgba(11,34,18,0) 35%)}
.hx-in{position:relative;z-index:2;width:100%}
.hx h1{max-width:20ch;text-shadow:0 2px 24px rgba(11,34,18,.45)}
.hx.gh-short h1{max-width:22ch}
.hx .gh-row{grid-template-columns:minmax(0,1fr);max-width:40rem;justify-items:start}
.hx .gh-sub{text-shadow:0 1px 14px rgba(11,34,18,.6)}
.hx-stripes{position:absolute;left:-3%;right:-3%;bottom:0;height:5vw;z-index:2;pointer-events:none}
.hx-stripes i{position:absolute;left:0;right:0;transform-origin:0 100%;transform:rotate(-2.86deg)}
.hx-stripes i:nth-child(1){bottom:calc(100% - 5vw + 26px);height:9px;background:var(--lime)}
.hx-stripes i:nth-child(2){bottom:calc(100% - 5vw + 46px);height:6px;background:var(--pink)}
.hx .wob{top:auto;bottom:clamp(120px,12vw,180px);right:var(--gut);width:clamp(110px,10vw,156px)}
.hx + .after-gh{padding-top:var(--sec)}
@media (max-width:760px){
  .hx{min-height:92svh;padding-bottom:110px;clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),0 100%)}
  .hx.gh-short{min-height:72svh}
  .hx-media::after{background:linear-gradient(180deg,rgba(11,34,18,.45) 0%,rgba(11,34,18,.5) 30%,rgba(11,34,18,.9) 66%,rgba(11,34,18,.97) 100%)}
  .hx-stripes{height:28px}
  .hx-stripes i{transform:rotate(-4deg)}
  .hx-stripes i:nth-child(1){bottom:14px;height:7px}.hx-stripes i:nth-child(2){bottom:30px;height:5px}
  .hx .wob{top:calc(var(--nav) + 14px);bottom:auto;right:14px;width:88px}
  .hx .btns{width:100%}
}

/* see-through nav over the hero photo, solid again once scrolled or with the menu open */
.nav{background:rgba(11,34,18,.42);-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2);transition:height .22s,transform .25s,background .25s}
.nav.is-small{background:rgba(11,34,18,.94)}
.nav:has(.menu[aria-expanded=true]){background:var(--deep)}
@media (min-width:981px){.intro-rev .intro-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.intro-rev figure{order:-1}}
.g-btn{display:inline-flex;align-items:center;gap:10px}.g-btn svg{width:20px;height:20px;flex:none}
.g-link{display:block;margin-top:8px;font-size:.95rem;font-weight:700;color:var(--green);text-decoration:underline;text-underline-offset:4px}
.say{padding-bottom:var(--sec)}
.foot-s a{gap:9px}.foot-s svg{width:22px;height:22px;flex:none}
.g-link{display:inline-flex;align-items:center;gap:8px}.g-link svg{width:20px;height:20px;flex:none}
.ways-grid b.soc{display:flex;align-items:center;gap:12px}.ways-grid b.soc svg{width:32px;height:32px;flex:none}

/* ===== Upper Falls theme: forest green, cream and burnt orange ===== */
@font-face{font-family:Cabinet;src:url(fonts/cabinet-grotesk-800.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:Cabinet;src:url(fonts/cabinet-grotesk-700.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Satoshi;src:url(fonts/satoshi-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Satoshi;src:url(fonts/satoshi-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Satoshi;src:url(fonts/satoshi-700.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--deep:#173326;--deeper:#0f241a;--green:#2f6b3f;--lime:#f2b45a;--pink:#b8560f;--pink-hi:#97450a;--pale:#f6f1e6;--ink:#17231c;--mute:#55605a;--line:#e1d9c8}
body{font-family:Satoshi,system-ui,sans-serif;background:#fffdf8}
h1,h2,h3,.lead-q,.tile b,.ways-grid b,.mark b,.cta-phone{font-family:Cabinet,Satoshi,sans-serif}
h1,h2{font-weight:800;letter-spacing:-.03em;line-height:.98}
.lead-q{font-weight:700;letter-spacing:-.015em}
.nav{background:rgba(15,36,26,.5)}
.nav.is-small{background:rgba(15,36,26,.95)}
.nav:has(.menu[aria-expanded=true]){background:var(--deeper)}
.mark{color:#fff}
.mark b{font-weight:800;font-size:1.7rem;letter-spacing:-.03em;line-height:.9}
.mark small{font-size:.78rem;letter-spacing:.32em;text-transform:uppercase;color:var(--lime);font-weight:700;margin-top:4px}
.ticks li:before{border-radius:2px;transform:rotate(45deg);width:12px;height:12px;top:.3em;background:var(--pink)}
.dark .ticks li:before{background:var(--lime)}
.btn-pink{color:#fff}
.work,.her,.faq,.gal-pale{background:var(--pale)}

/* split hero: copy on deep green, photo bleeding off the right edge, before/after card overlapping */
.hs{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:min(860px,100svh);background:var(--deep);color:#fff}
.hs-copy{display:flex;flex-direction:column;justify-content:center;padding:calc(var(--nav) + 40px) clamp(24px,4vw,64px) clamp(56px,6vw,96px) var(--gut)}
.hs h1{font-size:clamp(2.7rem,1.6rem + 4vw,5.6rem);max-width:12ch}
.hs h1 em{color:var(--lime);font-style:normal;display:block}
.hs-sub{margin-top:clamp(16px,2vw,26px);font-size:clamp(1.1rem,1rem + .4vw,1.32rem);line-height:1.45;max-width:30em;color:#e7ece8}
.hs .btns{margin-top:clamp(22px,2.6vw,34px)}
.hs .crumb{margin-bottom:14px}
.hs-media{position:relative;min-height:420px}
.hs-photo{position:absolute;inset:0;margin:0;overflow:hidden}
.hs-photo img{width:100%;height:100%;object-fit:cover}
.hs-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,51,38,.55),rgba(23,51,38,0) 30%)}
.hs-card{position:absolute;left:clamp(-90px,-5vw,-40px);bottom:clamp(28px,4vw,60px);display:grid;grid-template-columns:1fr 1fr;gap:6px;width:min(420px,70%);padding:6px;border-radius:14px;background:#fffdf8;box-shadow:0 18px 40px rgba(8,20,14,.35)}
.hs-card figure{position:relative;margin:0;aspect-ratio:1;overflow:hidden;border-radius:9px}
.hs-card img{width:100%;height:100%;object-fit:cover}
.hs:not(.hs-home){min-height:min(620px,80svh)}
.hs:not(.hs-home) h1{font-size:clamp(2.5rem,1.6rem + 3.4vw,4.8rem)}
.after-hs{padding-top:var(--sec)}
.say.after-hs{padding-bottom:var(--sec)}
.pairs-3{grid-template-columns:repeat(3,minmax(0,1fr))}

/* crew */
.crew{padding-block:var(--sec)}
.crew-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,5vw,90px);align-items:center}
.crew .lead-q{margin-top:clamp(18px,2vw,28px)}
.crew-p{margin-top:18px;color:var(--mute);max-width:32em}
.crew-photos{display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr;gap:clamp(8px,1vw,14px);height:clamp(380px,40vw,560px)}
.crew-photos figure{margin:0;overflow:hidden;border-radius:var(--r)}
.crew-photos img{width:100%;height:100%;object-fit:cover}
.crew-photos .c1{grid-row:span 2}
.ways-wide{grid-column:1 / -1}

@media (max-width:980px){
  .hs{grid-template-columns:minmax(0,1fr);min-height:0}
  .hs-media{order:-1;min-height:0;height:clamp(300px,62vw,520px);margin-top:var(--nav)}
  .hs-copy{padding:clamp(28px,6vw,48px) var(--gut) clamp(48px,8vw,72px)}
  .hs-photo:after{background:linear-gradient(0deg,rgba(23,51,38,.6),rgba(23,51,38,0) 35%)}
  .hs-card{left:auto;right:var(--gut);bottom:-34px;width:min(300px,62%)}
  .hs-home .hs-copy{padding-top:calc(clamp(28px,6vw,48px) + 30px)}
  .pairs-3{grid-template-columns:minmax(0,1fr)}
  .crew-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .hs h1{font-size:clamp(2.4rem,9.6vw,3.4rem)}
  .hs .btns{width:100%}
  .crew-photos{height:clamp(320px,92vw,440px)}
}
.mark img{width:auto;height:54px;transition:height .22s}
.nav.is-small .mark img{height:46px}
.foot .mark img{height:66px}
@media (max-width:760px){.mark img{height:42px}.nav.is-small .mark img{height:38px}.foot .mark img{height:52px}}

/* cinematic centred hero with a waterfall curve at the bottom (replaces the split hero) */
.hc{position:relative;display:flex;align-items:center;justify-content:center;min-height:min(640px,80svh);padding:calc(var(--nav) + 56px) var(--gut) clamp(120px,12vw,180px);overflow:hidden;background:var(--deeper);color:#fff;text-align:center}
.hc-home{min-height:min(920px,100svh)}
.hc-media{position:absolute;inset:0;margin:0}
.hc-media img{width:100%;height:100%;object-fit:cover}
.hc-media:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 48%,rgba(15,36,26,.62) 0%,rgba(15,36,26,.78) 60%,rgba(15,36,26,.9) 100%)}
.hc-in{position:relative;z-index:2;max-width:62rem;display:flex;flex-direction:column;align-items:center}
.hc h1{font-size:clamp(2.6rem,1.5rem + 4.4vw,6rem);max-width:16ch;text-shadow:0 2px 30px rgba(8,20,14,.45)}
.hc:not(.hc-home) h1{font-size:clamp(2.5rem,1.6rem + 3.2vw,4.8rem)}
.hc h1 em{display:block;color:var(--lime);font-style:normal}
.hc-sub{margin-top:clamp(16px,2vw,26px);max-width:36em;font-size:clamp(1.1rem,1rem + .45vw,1.38rem);line-height:1.45;color:#eef2ee;text-shadow:0 1px 16px rgba(8,20,14,.6)}
.hc .btns{justify-content:center;margin-top:clamp(24px,2.8vw,36px)}
.hc .crumb{margin-bottom:14px}
.hc-wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(70px,9vw,140px);z-index:3}
.hc-wave .w1{fill:var(--lime)}
.hc-wave .w2{fill:#fffdf8}
.hc + .after-hs{padding-top:var(--sec)}
@media (max-width:760px){
  .hc-home{min-height:92svh}
  .hc{padding-bottom:110px}
  .hc h1{font-size:clamp(2.4rem,10vw,3.4rem)}
  .hc .btns{width:100%}
  .hc-wave{height:64px}
}
.hc-media:after{background:radial-gradient(ellipse 58% 46% at 50% 46%,rgba(15,36,26,.68) 0%,rgba(15,36,26,.45) 55%,rgba(15,36,26,.22) 100%),linear-gradient(180deg,rgba(15,36,26,.5) 0%,rgba(15,36,26,0) 22%)}
.hc-about .hc-media img{object-position:50% 78%}
@media (max-width:760px){.hc-media:after{background:linear-gradient(180deg,rgba(15,36,26,.55) 0%,rgba(15,36,26,.62) 40%,rgba(15,36,26,.62) 70%,rgba(15,36,26,.4) 100%)}}

.hc-home .hc-media{overflow:hidden}
.hc-home .hc-media img{object-position:50% 100%;transform:scale(1.3);transform-origin:50% 100%}
@media (max-width:760px){.hc-home .hc-media img{object-position:50% 62%;transform:none}}

/* mobile home hero: text top, crew bottom */
@media (max-width:760px){
  .hm-a{align-items:flex-start;padding-top:calc(var(--nav) + 28px)}
  .hm-a .hc-media img{object-position:50% 100%;transform:none}
  .hm-a .hc-media:after{background:linear-gradient(180deg,rgba(15,36,26,.92) 0%,rgba(15,36,26,.82) 46%,rgba(15,36,26,.15) 72%,rgba(15,36,26,0) 100%)}
  .hm-a .hc-sub{font-size:1.02rem}
  .hm-a .btns{margin-top:20px}
}

/* desktop home hero: text left, crew right */
@media (min-width:761px){

  .hd-3{justify-content:flex-start;text-align:left}
  .hd-3 .hc-media img{transform:scale(1.3) translateX(10%);transform-origin:50% 100%;object-position:50% 100%}
  .hd-3 .hc-media:after{background:linear-gradient(90deg,rgba(15,36,26,.94) 0%,rgba(15,36,26,.82) 34%,rgba(15,36,26,.2) 62%,rgba(15,36,26,0) 100%)}
  .hd-3 .hc-in{align-items:flex-start;max-width:min(40rem,48vw);margin-left:max(0px,calc((100vw - 1320px)/2))}
  .hd-3 h1{font-size:clamp(2.8rem,1rem + 3.4vw,5.2rem)}
  .hd-3 .btns{justify-content:flex-start}
}
