@import url('https://fonts.googleapis.com/css2?family=Anton&display=swap');
:root{--ink:#123443;--deep:#0d2f3c;--green:#163f35;--cream:#f2ead8;--rust:#a84e31;--gold:#b98d57;--paper:#ebe4d2;--text:#18333d;--white:#fff;--shadow:0 24px 60px rgba(8,27,34,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--text);overflow-x:hidden}body.nav-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.display{font-family:'Anton',Impact,'Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:-.035em;line-height:.87}.eyebrow{font-size:.75rem;letter-spacing:.19em;text-transform:uppercase;font-weight:800}.script{font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:.02em}.nav{position:fixed;z-index:50;left:0;right:0;top:0;background:rgba(13,47,60,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(242,234,216,.15)}.navin{height:76px;display:flex;align-items:center;gap:24px}.brand{color:var(--cream);display:flex;align-items:center;gap:12px;min-width:max-content}.brand-mark{width:92px;height:auto;display:block;object-fit:contain;flex:0 0 auto}.brand b{font-family:'Anton',Impact,'Arial Narrow',sans-serif;font-style:normal;font-weight:400;font-size:1.18rem;letter-spacing:.035em;text-transform:uppercase;line-height:1}.brand span{font-size:.7rem;opacity:.7;text-transform:uppercase;letter-spacing:.13em}.links{margin-left:auto;display:flex;align-items:center;gap:20px}.links a,.contactlink{position:relative;color:var(--cream);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:29px 0 25px}.links a:after{content:'';position:absolute;left:0;right:100%;bottom:20px;height:2px;background:var(--rust);transition:right .28s ease}.links a:hover:after,.links a.active:after{right:0}.contactlink{background:var(--rust);padding:13px 18px!important;border-radius:2px;transition:transform .22s ease,box-shadow .22s ease}.contactlink:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.2)}.menu{display:none;margin-left:auto;background:none;border:0;color:var(--cream);font-size:1.5rem}.hero{min-height:100vh;background:linear-gradient(90deg,rgba(8,36,48,.96) 0%,rgba(8,36,48,.82) 38%,rgba(8,36,48,.28) 66%,rgba(8,36,48,.08) 100%),url('assets/sarah-lilikoi-snow.jpg') center 38%/cover no-repeat;position:relative;color:var(--cream);padding:132px 0 64px;display:flex;align-items:center;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 70% 25%,transparent 0 20%,rgba(0,0,0,.18) 64%),linear-gradient(transparent 94%,rgba(242,234,216,.55) 94% 94.2%,transparent 94.2%)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,720px) 1fr;align-items:end;gap:28px}.hero h1{font-size:clamp(5.4rem,11vw,10.5rem);margin:12px 0 26px}.hero .amp{color:var(--paper);text-shadow:6px 6px 0 rgba(0,0,0,.25)}.hero p{font-size:1.15rem;line-height:1.6;max-width:570px}.hero-art{align-self:end;position:relative;height:72vh;min-height:520px}.hero-art img{position:absolute;right:-7%;bottom:-6%;height:100%;max-width:none;filter:drop-shadow(0 22px 36px rgba(0,0,0,.3))}.scribble{font-size:2rem;color:var(--gold);margin-bottom:4px}.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.pill{border:1px solid rgba(242,234,216,.35);padding:10px 13px;border-radius:999px;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.section{padding:105px 0}.section.dark{background:var(--deep);color:var(--cream)}.section.green{background:var(--green);color:var(--cream)}.section.rust{background:var(--rust);color:var(--cream)}.section-head{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:50px}.section h2{font-size: clamp(3.8rem, 8vw, 7.5rem); margin: 2px 0px; line-height: 85px; letter-spacing: 2px;}.section-head p{max-width:520px;line-height:1.7;margin:0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:34px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:var(--cream);color:var(--text);padding:28px;border-radius:3px;box-shadow:var(--shadow);position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.card:hover{transform:translateY(-8px);box-shadow:0 32px 72px rgba(8,27,34,.27)}.card .num{font:700 3rem 'Anton',Impact,sans-serif;color:var(--rust)}.card h3{font-family:'Anton',Impact,'Arial Narrow',sans-serif;text-transform:uppercase;font-size:1.6rem;margin:.2rem 0 .65rem;letter-spacing:.01em}.card p{line-height:1.62;margin:0}.photo-card{min-height:460px;padding:0;background:var(--deep)}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.photo-card:hover img{transform:scale(1.055)}.photo-card .label{position:absolute;left:18px;bottom:18px;background:var(--rust);color:var(--cream);padding:9px 12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14)}.stat{padding:30px}.stat b{font-family:'Anton',Impact,sans-serif;font-size:3.5rem;display:block;line-height:1}.stat span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.service{border-top:1px solid currentColor;padding:25px 0;display:grid;grid-template-columns:48px 1fr auto;gap:18px;align-items:start}.service .arrow{width:34px;height:34px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;transition:transform .25s ease,background .25s}.service:hover .arrow{transform:rotate(-35deg);background:var(--rust)}.service h3{font-size:1.35rem;text-transform:uppercase;margin:3px 0 7px}.service p{margin:0;line-height:1.55;opacity:.82}.case{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center}.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mosaic img{width:100%;aspect-ratio:1/1;object-fit:cover}.quote{font-family:Georgia,serif;font-size:1.3rem;line-height:1.5;border-left:4px solid var(--rust);padding-left:24px}.pagehero{padding:155px 0 82px;background:var(--deep);color:var(--cream);position:relative;overflow:hidden}.pagehero:after{content:'';position:absolute;width:360px;height:360px;border-radius:50%;border:1px solid rgba(242,234,216,.18);right:-90px;top:40px}.pagehero h1{font-size:clamp(5rem,11vw,9rem);margin:10px 0 22px}.pagehero p{max-width:680px;font-size:1.1rem;line-height:1.7}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.portrait{background:var(--deep);min-height:560px;position:relative;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover}.portrait.cutout img{object-fit:contain;object-position:bottom}.portrait.snow-photo{background:url('assets/sarah-lilikoi-snow-2.jpg') center 38%/cover no-repeat}.footer{padding:60px 0 30px;background:#092632;color:var(--cream)}.footgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px}.footer h3{font-family:'Anton',Impact,sans-serif;text-transform:uppercase;font-size:2.2rem;margin:0 0 12px}.footer a{display:inline-block;margin:5px 0;position:relative}.footer a:after{content:'';position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:var(--rust);transition:right .2s}.footer a:hover:after{right:0}.copyright{border-top:1px solid rgba(255,255,255,.13);margin-top:38px;padding-top:22px;font-size:.75rem;opacity:.66}.reveal{opacity:0;transform:translateY(34px);transition:opacity .72s ease,transform .72s cubic-bezier(.2,.8,.2,1)}.reveal.left{transform:translateX(-44px)}.reveal.right{transform:translateX(44px)}.reveal.in{opacity:1;transform:none}.delay1{transition-delay:.08s}.delay2{transition-delay:.16s}.delay3{transition-delay:.24s}.line{height:1px;background:currentColor;opacity:.35;margin:26px 0}.btn{display:inline-flex;align-items:center;gap:12px;padding:14px 18px;background:var(--rust);color:var(--cream);font-weight:800;text-transform:uppercase;font-size:.76rem;letter-spacing:.1em;transition:transform .22s ease,box-shadow .22s ease}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.2)}.btn span{transition:transform .22s}.btn:hover span{transform:translateX(4px)}.partners{display:flex;flex-wrap:wrap;gap:12px}.partner{background:var(--cream);color:var(--deep);padding:20px 24px;font-weight:900;font-size:1.1rem;box-shadow:var(--shadow)}.contactbox{display:grid;grid-template-columns:1fr 1fr;background:var(--cream);box-shadow:var(--shadow)}.contactcopy{padding:48px}.contactcopy a{font-size:1.3rem;font-weight:800}.contactimage{min-height:520px;background:url('assets/contact-bg.jpg') center/cover}.note{font-size:.82rem;opacity:.68;line-height:1.55}.kicker{display:inline-block;background:var(--rust);color:var(--cream);padding:9px 12px;text-transform:uppercase;font-size:.7rem;font-weight:800;letter-spacing:.12em}.mobile-only{display:none}
@media(max-width:980px){.links{display:none;position:fixed;inset:76px 0 0;background:var(--deep);padding:28px;flex-direction:column;align-items:flex-start;gap:0}.nav-open .links{display:flex}.links a{font-size:1.35rem;padding:16px 0;width:100%;border-bottom:1px solid rgba(255,255,255,.12)}.links a:after{display:none}.contactlink{margin-top:18px;width:auto!important}.menu{display:block}.hero{min-height:auto;padding-bottom:72px;background-position:62% center}.hero-grid{grid-template-columns:1fr}.grid4{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:1fr 1fr}.split,.case{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.section-head{display:block}.section-head p{margin-top:18px}.footgrid{grid-template-columns:1fr 1fr}.contactbox{grid-template-columns:1fr}.contactimage{min-height:400px}}
@media(max-width:640px){.wrap{width:min(100% - 28px,1180px)}.navin{height:66px}.links{inset:66px 0 0}.brand span{display:none}.hero{padding-top:108px}.hero h1{font-size:clamp(4.5rem,22vw,7rem)}.hero p{font-size:1rem}.section{padding:76px 0}.section h2{font-size:clamp(3.8rem,18vw,6rem)}.grid2,.grid3,.grid4{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.stat{padding:22px}.stat b{font-size:2.6rem}.photo-card{min-height:360px}.pagehero{padding:120px 0 60px}.pagehero h1{font-size:clamp(4rem,20vw,6.2rem)}.footgrid{grid-template-columns:1fr}.service{grid-template-columns:38px 1fr}.service>.eyebrow{display:none}.contactcopy{padding:30px}.contactimage{min-height:330px}.mobile-only{display:block}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}

/* v3 — homepage cover composition, intentionally echoing media-kit page 1 */
.hero.hero-cover{min-height:calc(100vh - 0px);background:#0b3448;padding:106px 0 0;align-items:stretch;isolation:isolate}
.hero.hero-cover:before{display:none}
.hero-photo{position:absolute;z-index:-3;top:76px;right:0;bottom:0;width:59%;background:#dce7ed url('assets/sarah-lilikoi-snow.jpg') center 43%/cover no-repeat}
.hero-shade{position:absolute;z-index:-2;inset:76px 0 0;background:linear-gradient(90deg,#0b3448 0%,#0b3448 33%,rgba(11,52,72,.92) 42%,rgba(11,52,72,.50) 55%,rgba(11,52,72,.08) 72%,rgba(11,52,72,0) 100%)}
.hero-lines{position:absolute;z-index:-1;inset:76px 0 0;pointer-events:none;background:linear-gradient(90deg,transparent 0 2%,rgba(242,234,216,.62) 2% 2.07%,transparent 2.07% 100%),linear-gradient(180deg,transparent 0 80%,rgba(242,234,216,.62) 80% 80.08%,transparent 80.08% 100%)}
.hero-lines:after{content:'';position:absolute;left:2%;bottom:20%;width:100px;height:1px;background:rgba(242,234,216,.7)}
.hero-cover .hero-grid{height:calc(100vh - 106px);min-height:690px;display:block;position:relative}
.hero-copy{position:absolute;left:0;top:2%;width:min(50%,640px);height:94%;display:flex;flex-direction:column;align-items:flex-start}
.hero-mark{color:#d69955;font-size:clamp(2.7rem,4vw,4.7rem);line-height:1;margin:0 0 18px 12px;letter-spacing:.015em}
.hero-cover h1{font-size: clamp(6rem, 14.8vw, 9.25rem);
    line-height: .99;
    margin: 0;
    letter-spacing: .002em;
    text-shadow: 5px 5px 0 rgba(213, 218, 204, .34);
    white-space: nowrap;}
.hero-cover .amp{color:var(--cream);text-shadow:5px 5px 0 rgba(213,218,204,.34)}
.hero-points{margin-top:auto;margin-left:32px;margin-bottom:34px;display:grid;gap:9px;text-transform:uppercase;font-family:'Anton',Impact,'Arial Narrow',sans-serif;font-size:clamp(1rem,1.48vw,1.45rem);letter-spacing:.015em}
.hero-points>div{display:flex;align-items:center;gap:12px}
.point-arrow{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#050707;color:#fff;font-size:0;line-height:1;transform:rotate(0deg);transition:transform .25s ease,background .25s ease}.point-arrow::before{content:'';width:8px;height:8px;border-top:4px solid currentColor;border-right:4px solid currentColor;transform:rotate(45deg) translate(-1px,1px);transform-origin:center}
.hero-points>div:hover .point-arrow{transform:translateX(5px);background:var(--rust)}
.media-tab{position:absolute;right:0;top:69%;z-index:4;background:var(--rust);color:var(--cream);padding:18px 10px;writing-mode:vertical-rl;transform:rotate(180deg);font-family:Georgia,serif;text-transform:uppercase;letter-spacing:.06em;font-size:1.05rem;box-shadow:0 10px 30px rgba(0,0,0,.18)}

@media(max-width:980px){
  .hero.hero-cover{padding-top:86px;min-height:900px}
  .hero-photo{top:76px;width:67%;background-position:50% 38%}
  .hero-shade{inset:76px 0 0;background:linear-gradient(90deg,#0b3448 0%,#0b3448 25%,rgba(11,52,72,.85) 42%,rgba(11,52,72,.16) 72%,rgba(11,52,72,0) 100%)}
  .hero-cover .hero-grid{height:814px;min-height:0}
  .hero-copy{width:61%;top:4%}
  .hero-cover h1{font-size:clamp(5.5rem,12vw,7.7rem);line-height:.89;letter-spacing:.002em}
  .hero-points{margin-left:10px}
}
@media(max-width:640px){
  .hero.hero-cover{padding-top:66px;min-height:880px;background:#0b3448}
  .hero-photo{top:66px;left:0;right:0;width:100%;height:57%;bottom:auto;background-position:center 34%}
  .hero-shade{inset:66px 0 0;background:linear-gradient(180deg,rgba(11,52,72,.10) 0%,rgba(11,52,72,.35) 34%,#0b3448 58%,#0b3448 100%)}
  .hero-lines{inset:66px 0 0;background:linear-gradient(90deg,transparent 0 5%,rgba(242,234,216,.55) 5% 5.25%,transparent 5.25% 100%),linear-gradient(180deg,transparent 0 91%,rgba(242,234,216,.55) 91% 91.12%,transparent 91.12% 100%)}
  .hero-cover .hero-grid{height:814px}
  .hero-copy{top:48%;width:100%;height:48%;justify-content:flex-start}
  .hero-mark{font-size:2.5rem;margin:0 0 8px 4px}
  .hero-cover h1{font-size:clamp(4.7rem,20vw,6.7rem);line-height:.9;letter-spacing:.002em;white-space:nowrap}
  .hero-points{margin:24px 0 0 4px;font-size:1rem;gap:8px}
  .point-arrow{width:25px;height:25px}.point-arrow::before{width:7px;height:7px;border-top-width:3px;border-right-width:3px}
  .media-tab{top:38%;font-size:.8rem;padding:12px 8px}
}

/* Authentic Lilikoi logo from supplied artwork */
.hero-mark{width:min(470px,72vw);margin:0 0 8px}.hero-mark img{display:block;width:100%;height:auto;object-fit:contain;object-position:left center}
@media(max-width:640px){.hero-mark{width:min(340px,82vw);margin-bottom:6px}}

@media(max-width:700px){.brand{gap:8px}.brand-mark{width:72px}.brand span{display:none}}

/* v11 — PDF-style stacked navigation logo lockup */
.brand{display:flex;align-items:center;gap:15px;min-width:max-content}
.brand-lockup{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1;flex:0 0 auto}
.brand-lockup .brand-mark{width:118px;height:24px;object-fit:contain;object-position:center bottom;margin:0 auto -1px}
.brand-lockup b{font-family:'Anton',Impact,'Arial Narrow',sans-serif;font-style:normal;font-weight:400;font-size:1.03rem;letter-spacing:.035em;text-transform:uppercase;line-height:1;white-space:nowrap}
.brand-tagline{font-size:.68rem;opacity:.72;text-transform:uppercase;letter-spacing:.13em;white-space:nowrap}
@media(max-width:700px){
  .brand{gap:0}
  .brand-lockup .brand-mark{width:94px;height:19px}
  .brand-lockup b{font-size:.86rem;letter-spacing:.025em}
  .brand-tagline{display:none}
}

/* Sarah's September 2026 revisions. Baseline CSS above retained intact. */
.display{font-weight:400;letter-spacing:.015em;line-height:1.08;overflow-wrap:normal}
.section h2{font-size:clamp(2.8rem,6vw,5.6rem);line-height:1.12;letter-spacing:.02em;margin:12px 0 22px}
.pagehero h1{font-size:clamp(3rem,8vw,7rem);line-height:1.1;letter-spacing:.02em}
.section-head>div,.split>div,.case>div,.grid2>div{min-width:0}
.section-head{align-items:center}.section-head>div{flex:1.2}.section-head>p{flex:1}
.pagehero{padding-bottom:44px}.pagehero:after{pointer-events:none}
.pagehero-with-photo{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:42px;align-items:center;position:relative;z-index:1}
.pagehero-with-photo h1{font-size:clamp(3rem,7vw,6rem)}
.pagehero-photo{width:100%;height:260px;object-fit:cover;border-radius:3px}
.links .contactlink::after{display:none}.links a[aria-current="page"]:not(.contactlink){color:#e38b60}.links a[aria-current="page"]:after{right:0}
.links .contactlink[aria-current="page"]{outline:2px solid #f2c09b;outline-offset:4px}
.social{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.social a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px}.social svg{width:21px;height:21px}.social a:hover{color:#e38b60}.site-credit{display:inline-block;margin-left:12px}
a:focus-visible,button:focus-visible{outline:2px solid #e38b60;outline-offset:5px}
.hammock-portrait{min-height:0;background:transparent;align-self:center}.hammock-portrait img{height:auto;width:100%}
.page-portfolio .pagehero,.page-case-study .pagehero{padding-bottom:24px}
.page-portfolio .section,.page-case-study .section{padding:42px 0}
.page-portfolio .photo-card{min-height:0;aspect-ratio:3/4}.page-portfolio .photo-card img{height:100%;width:100%;object-fit:cover}
.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.editorial-photo{width:100%;height:auto;border-radius:3px}.photo-pair img{aspect-ratio:2/3;object-fit:cover}
.page-audience .editorial-photo{max-width:300px;max-height:350px;object-fit:cover;margin-top:24px}
.page-case-study .case{gap:32px;align-items:start}.page-case-study .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.page-case-study .stat{padding:18px}.page-case-study .stat b{font-size:2.5rem}
.partners{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.partner{padding:12px;display:flex;align-items:center;justify-content:center}.partner img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
@media(min-width:981px) and (max-width:1200px){.brand-tagline{display:none}.links{gap:14px}.navin{gap:16px}}
@media(max-width:980px){.nav-open .links{height:calc(100dvh - 76px);overflow-y:auto}.pagehero-with-photo{grid-template-columns:minmax(0,1fr) 210px;gap:24px}.pagehero-photo{height:230px}.section h2{font-size:clamp(2.8rem,7vw,4.8rem)}.partners{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.pagehero{padding-top:110px;padding-bottom:30px}.pagehero-with-photo{grid-template-columns:1fr}.pagehero-photo{width:100%;max-width:320px;height:240px}.section h2{font-size:clamp(2.6rem,10.5vw,4rem);line-height:1.12}.pagehero h1{font-size:clamp(2.7rem,12vw,4.6rem)}.nav-open .links{height:calc(100dvh - 66px)}.page-portfolio .grid4{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.page-portfolio .label{left:8px;bottom:8px;padding:7px;font-size:.55rem}.site-credit{margin:8px 0 0;display:block}.partners{gap:12px}.partner{padding:8px}.split{gap:28px}.page-case-study .mosaic{max-width:500px}}
/* Keep the stacked logo visible when the mobile tagline is hidden. */
.brand .brand-lockup{display:flex}
/* Contain slide-in animations without creating horizontal scrolling. */
main{overflow-x:clip}
