@font-face{font-family:Montserrat;src:url(assets/montserrat-400.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Montserrat;src:url(assets/montserrat-700.woff2) format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Montserrat;src:url(assets/montserrat-800.woff2) format("woff2");font-style:normal;font-weight:800;font-display:swap}
:root{--cream:#f5f2ed;--ink:#1a1a18;--pink:#e9158c;--accent:#c20f68;--text:#4a4a46;--line:#d6d2cc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font:400 1rem/1.7 Montserrat,Arial,sans-serif}a{color:inherit;text-underline-offset:.3em}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.05}main,header,footer{width:min(1280px,calc(100% - 80px));margin-inline:auto}.skip{position:absolute;left:-10000px}.skip:focus{left:20px;top:20px;background:white;z-index:10;padding:12px}header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:32px;border-bottom:1px solid var(--ink)}.brand{width:142px}nav{display:flex;gap:32px;flex-wrap:wrap;font-size:.875rem;font-weight:700}nav a{text-decoration:none}nav a:hover{color:var(--accent)}.hero{padding:64px 0 72px}.eyebrow{font-size:.8125rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.hero h1{font-size:clamp(3rem,5.5vw,5.5rem);letter-spacing:-.06em;font-weight:800;margin:22px 0 30px;max-width:23ch}.hero h1 span{color:var(--accent)}.intro{display:grid;grid-template-columns:1.45fr 1fr;gap:80px;align-items:end}.intro p{font-size:1.125rem;line-height:1.7;max-width:60ch;color:var(--text)}.intro .action{justify-self:end}.action{display:inline-block;background:var(--ink);color:var(--cream);padding:15px 24px;text-decoration:none;font-size:.875rem;font-weight:700;border:1px solid var(--ink);border-radius:999px}.action:hover{background:var(--accent);border-color:var(--accent)}.work{padding-bottom:72px}.section-title{display:flex;justify-content:space-between;gap:24px;align-items:baseline;margin-bottom:24px;padding-top:24px;border-top:1px solid var(--ink)}.section-title h2{font-size:1rem;letter-spacing:.03em}.section-title span{font-size:.8125rem;color:var(--text)}.projects{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project img{width:100%;aspect-ratio:16/9;object-fit:contain;background:#d3d3d3}.project figcaption{padding-top:18px;display:flex;justify-content:space-between;align-items:baseline;gap:16px}.project h3{font-size:1.25rem;font-weight:700;letter-spacing:-.035em}.project p{font-size:.8125rem;color:var(--text)}.position{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;border-top:1px solid var(--ink);padding:64px 0 80px}.position h2{font-size:clamp(2rem,4vw,3.75rem);letter-spacing:-.045em;max-width:13ch}.position .copy{display:grid;gap:20px;color:var(--text);max-width:64ch}.position strong{color:var(--ink)}.offers{padding-bottom:72px}.offers-intro{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;margin:40px 0}.offers-intro h2{font-size:clamp(2rem,4vw,3.75rem);letter-spacing:-.045em}.offers-intro p{color:var(--text);max-width:56ch}.offer{border-top:1px solid var(--line);padding:32px 0;display:grid;grid-template-columns:56px 1fr 1.3fr;gap:24px}.num{font-size:1rem;color:var(--accent);font-weight:800}.offer h3{font-size:clamp(1.5rem,2.5vw,2rem);letter-spacing:-.035em;margin-bottom:12px}.price{font-size:1.125rem;font-weight:700}.price small{font-size:.8125rem;font-weight:400}.offer .scope>p{color:var(--text)}details{margin-top:18px}summary{cursor:pointer;font-size:.875rem;font-weight:700;list-style-position:outside;margin-left:17px}details ul{padding-left:18px;color:var(--text);font-size:.9375rem}details li+li{margin-top:8px}.note{font-size:.8125rem;color:var(--text);margin-top:14px}.closing{border-top:1px solid var(--ink);padding:48px 0 64px;display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.closing h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em;max-width:16ch}.closing p{color:var(--text)}footer{padding:24px 0 32px;border-top:1px solid var(--ink);display:flex;justify-content:space-between;gap:24px;font-size:.8125rem}.footer-name{font-weight:700}@media(max-width:760px){main,header,footer{width:calc(100% - 40px)}header{padding-block:24px;flex-wrap:wrap}.brand{width:105px}nav{gap:18px;font-size:.8125rem}.hero{padding:42px 0 48px}.hero h1{font-size:clamp(2.5rem,7.5vw,4rem);letter-spacing:-.055em}.intro,.position,.offers-intro,.closing{grid-template-columns:1fr;gap:24px}.intro .action{justify-self:start}.intro p{font-size:1rem}.projects{grid-template-columns:1fr;gap:32px}.project figcaption{flex-wrap:wrap;gap:8px}.work{padding-bottom:48px}.position{padding:40px 0 48px}.position h2{max-width:20ch}.offers-intro{margin:32px 0}.offer{grid-template-columns:28px 1fr;gap:12px}.scope{grid-column:2}.closing{padding:36px 0 48px}.section-title span{font-size:.75rem}.offers{padding-bottom:32px}footer{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Live-review refinements: image/caption units and explanation-first offers. */
.work .section-title h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em;margin-top:12px}
.project{background:#ece9e3;border:1px solid var(--line);padding-bottom:22px;scroll-margin-top:24px}
.project figcaption{display:block;padding:20px 24px 0}.project figcaption p{margin-top:8px;font-size:.875rem}.project img{border-bottom:1px solid var(--line)}
.approach-pill{display:inline-block;background:#e5e3de;color:#575752;border:1px solid #d6d2cc;border-radius:999px;padding:5px 14px;font-size:.8125rem;font-weight:700;margin-bottom:22px}
.offers-heading h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em}.offers-heading{padding-top:28px;padding-bottom:20px}
.scope .price{margin-top:22px;color:var(--ink);font-size:1rem}.examples{display:inline-block;font-size:.875rem;font-weight:700;margin-top:20px;color:var(--accent)}
footer{align-items:start;padding-block:36px;gap:32px}.footer-logo{width:130px}.footer-contact{margin-right:auto}.footer-contact p{font-size:.875rem}.footer-contact a{display:inline-block;margin-top:8px;font-size:.9375rem}.back-top{font-size:.875rem}
@media(max-width:760px){.project figcaption{padding:18px 20px 0}.projects{gap:32px}.offer h3{max-width:20ch}.footer-logo{width:100px}footer{display:grid;grid-template-columns:100px 1fr;gap:24px}.back-top{grid-column:2}.footer-contact a{font-size:.875rem}}

/* Case pages and offer-stage guidance. */
.stage{font-size:.9375rem;color:var(--text);margin-top:12px}.projects{grid-template-columns:repeat(3,minmax(0,1fr))}.project-link{text-decoration:none;display:block}.project-more{display:block;padding:16px 24px 0;font-size:.8125rem;font-weight:700;color:var(--accent)}.project-link:hover h3{text-decoration:underline;text-underline-offset:5px}.project img.alohi-card{object-fit:cover;object-position:center 40%}
.case-intro{padding:40px 0 32px}.case-back{font-size:.875rem}.case-intro .eyebrow{margin-top:32px;color:var(--accent)}.case h1{font-size:clamp(2.7rem,6vw,5.5rem);letter-spacing:-.055em;margin:16px 0 20px}.case-deck{font-size:clamp(1.125rem,2vw,1.5rem);color:var(--text)}.case-hero{background:#ebe7df}.hero-image{height:560px;display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative}.hero-image img{height:90%;width:auto;max-width:90%;object-fit:contain}.hero-image.hydes-close{width:100%;background:#d1d1d1}.hydes-close img{height:760px;width:1351px;max-width:none;position:absolute;left:calc(50% - 405px);top:-100px;clip-path:inset(0 57% 0 16%)}.hero-image.alohi-close{background:#077d9f}.alohi-close img{height:1040px;width:auto;max-width:none;transform:translateY(90px);clip-path:inset(16% 32% 30% 32%)}.case-hero figcaption{padding:12px 20px;font-size:.75rem;color:var(--text)}.case-story{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:48px 0 24px}.case-story h2{font-size:1.5rem;letter-spacing:-.03em;margin-bottom:20px}.case-story p{color:var(--text)}.case-credit,.case-note{font-size:.8125rem;color:var(--text);max-width:90ch}.case-credit{padding-bottom:40px}.case-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-image{height:320px;background:#e8e4dc;display:flex;align-items:center;justify-content:center}.gallery-image img{width:100%;height:100%;object-fit:contain}.case-gallery figcaption{font-size:.8125rem;padding-top:12px;color:var(--text)}.motion-slot{margin:48px 0 24px;padding:48px 24px;border:1px dashed #a7a49d;text-align:center;background:#ebe9e4}.motion-slot h2{font-size:1.5rem;margin:12px 0}.motion-slot p:last-child{font-size:.875rem;color:var(--text)}.case-return{margin:32px 0 56px}.case.alohi .case-hero{background:#dbeef1}.case.teazy .case-hero{background:#e7ebdc}
@media(max-width:760px){.projects{grid-template-columns:1fr}.case-story,.case-gallery{grid-template-columns:1fr;gap:28px}.case-story{padding-top:32px}.hero-image{height:420px}.gallery-image{height:340px}.case h1{font-size:clamp(2.5rem,10vw,4rem)}.hydes-close img{height:610px;width:1084px;left:calc(50% - 325px);top:-80px}.alohi-close img{height:800px;transform:translateY(75px)}.case-gallery{gap:32px}.motion-slot{margin-top:36px}}

.header-right{display:flex;flex-direction:column;align-items:flex-end;gap:16px}.header-descriptor{font-size:.875rem;font-weight:700;text-align:right}.header-right nav{justify-content:flex-end}@media(max-width:760px){.header-right{flex:1;min-width:240px;gap:12px}.header-descriptor{font-size:.8125rem}.header-right nav{gap:16px}.hero h1{margin-top:0}}@media(max-width:430px){.header-right{flex-basis:100%;align-items:flex-start}.header-descriptor{text-align:left}.header-right nav{justify-content:flex-start}}

.about-us{border-top:1px solid var(--line);padding:32px 0 48px;display:grid;grid-template-columns:1fr 2fr;gap:40px}.about-us h2{font-size:1rem}.about-us p{max-width:72ch;color:var(--text)}.work .section-title h2{font-size:1rem;letter-spacing:0;margin:0}.work .section-title .recent-pill{font-size:.8125rem;background:#e5e3de;border:1px solid #d6d2cc;padding:5px 14px;border-radius:999px;font-weight:700}.work .section-title{align-items:center}@media(max-width:760px){.about-us{grid-template-columns:1fr;gap:16px;padding:28px 0 36px}}

header>a{display:flex;flex-direction:column;align-items:flex-start;text-decoration:none;flex-shrink:0}header .brand{width:124px;margin-bottom:10px}.lockup-name{font-size:1rem;font-weight:800;line-height:1.3}.lockup-descriptor{font-size:.75rem;font-weight:400;line-height:1.5;margin-top:3px;color:var(--text)}.header-right{flex:0 1 auto;min-width:0;align-items:flex-end}.header-right nav{justify-content:flex-end}@media(max-width:760px){header{align-items:flex-end;gap:20px}header .brand{width:105px}.header-right{flex:0 1 auto;min-width:0}}@media(max-width:600px){.header-right{flex-basis:100%;align-items:flex-start}.header-right nav{justify-content:flex-start;gap:24px}.lockup-descriptor{font-size:.75rem}}

.hero-image.approved-hero{background:#e8e4dc}.hero-image.approved-hero img{width:auto;height:100%;max-width:100%;object-fit:contain}.project img.alohi-card.approved-card{object-fit:contain;background:#b8558b;object-position:center}.case-gallery .gallery-image:has(img[src*="hero-1200"]){background:transparent}

.portfolio-intro{padding:64px 0}.portfolio-intro h1{font-size:clamp(3.2rem,8vw,7rem);font-weight:800;letter-spacing:-.06em;margin:24px 0 48px;line-height:1}.portfolio-about{display:grid;grid-template-columns:1fr 2fr;gap:48px}.portfolio-about h2{font-size:1rem}.portfolio-about p{color:var(--text);max-width:75ch}.portfolio-about p+p{margin-top:18px}.portfolio-project{padding:40px 0 64px;border-top:1px solid var(--ink)}.portfolio-project-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:32px}.portfolio-project-head h2{font-size:clamp(2.5rem,5vw,4rem);letter-spacing:-.045em;margin-top:12px}.portfolio-project-head>p{max-width:26ch;color:var(--text)}.portfolio-images{display:grid;grid-template-columns:1fr 1fr;gap:20px}.portfolio-images img{width:100%;height:100%;object-fit:contain}.portfolio-teazy figure:last-child{grid-column:1/-1}.portfolio-teazy figure:last-child img{max-height:580px;background:#d0d0d0}.portfolio-alohi{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-story{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:32px}.portfolio-story h3{font-size:1rem;margin-bottom:14px}.portfolio-story p{color:var(--text)}.portfolio-credit{font-size:.8125rem;color:var(--text);margin-top:24px}.portfolio-contact{border-top:1px solid var(--ink);padding:48px 0 64px}.portfolio-contact h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em;margin-bottom:24px}.portfolio-contact a{font-size:1.125rem;color:var(--accent)}@media(max-width:760px){.portfolio-intro{padding:40px 0}.portfolio-about,.portfolio-story{grid-template-columns:1fr;gap:24px}.portfolio-project-head{display:block}.portfolio-project-head>p{margin-top:20px;max-width:none}.portfolio-images,.portfolio-alohi{grid-template-columns:1fr}.portfolio-images{gap:16px}.portfolio-project{padding-bottom:40px}}

/* Editorial imagery: complete products, varied desktop grids, linear phone reading. */
.editorial-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.editorial-alohi{grid-template-columns:repeat(3,minmax(0,1fr))}.editorial-images img{width:100%;height:auto;object-fit:contain}.editorial-images figcaption,.portfolio-images figcaption,.project-motion figcaption{font-size:.875rem;line-height:1.5;color:var(--text);padding-top:12px}.full-width{grid-column:1/-1}.editorial-support{margin-top:8px}.editorial-support .full-width img{max-height:680px;object-fit:contain;background:#e8e4dc}.portfolio-teazy figure:nth-child(n+3){grid-column:1/-1}.portfolio-images figure{min-width:0}.portfolio-images img{height:auto}.portfolio-alohi figure:nth-child(n+5){grid-column:auto}.project-motion{margin:40px 0 32px;grid-column:1/-1}.project-motion video{display:block;width:100%;height:auto;max-height:760px;background:#e8e4dc;object-fit:contain}.project-motion video:focus-visible{outline:3px solid var(--accent);outline-offset:5px}@media(max-width:760px){.editorial-images,.editorial-alohi{grid-template-columns:1fr;gap:28px}.portfolio-images .full-width,.portfolio-alohi figure:nth-child(n+5){grid-column:1}.project-motion{margin:28px 0}.editorial-support .full-width img{max-height:none}}

.portfolio .portfolio-intro{padding:48px 0}.portfolio .portfolio-intro h1{font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:-.035em;line-height:1.15;margin:0 0 10px}.portfolio-subtitle{font-size:1.125rem;color:var(--text)}.portfolio-bio{margin-top:24px;max-width:80ch;color:var(--text)}@media(max-width:760px){.portfolio .portfolio-intro{padding:32px 0}}

.portfolio .scroll-sequence{height:220vh;margin:40px 0;position:relative}.sequence-sticky{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center}.sequence-frame{position:relative;width:min(100%,calc(80vh * var(--ratio)));aspect-ratio:var(--ratio)}.sequence-frame img,.sequence-frame canvas{display:block;width:100%;height:100%;object-fit:contain}.sequence-frame canvas{position:absolute;inset:0;opacity:0}.sequence-frame canvas.has-frame{opacity:1}@media(max-width:760px){.portfolio .scroll-sequence{height:180vh;margin:28px 0}}@media(prefers-reduced-motion:reduce){.portfolio .scroll-sequence{height:auto}.sequence-sticky{position:static;height:auto}.sequence-frame{width:100%}.sequence-frame canvas{display:none}}

.portfolio-alohi figure.full-width{grid-column:1/-1}

.project-crossnav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;border-top:1px solid var(--line);padding:40px 0 48px}.project-crossnav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#555;text-decoration:none}.project-crossnav svg,.project-crossnav img{width:160px;height:90px;object-fit:contain}.project-crossnav a:last-child svg{width:72px}.project-crossnav span{font-size:.875rem}.teazy-nav-logo{filter:brightness(0);opacity:.67}.project-crossnav a:hover,.project-crossnav a:focus-visible,.project-crossnav a[aria-current="page"]{color:#000}.project-crossnav a:hover img,.project-crossnav a:focus-visible img,.project-crossnav a[aria-current="page"] img{opacity:1}.investment .price{margin-top:8px}.evidence-intro{padding:48px 0}.evidence-intro h1{font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:-.045em;margin:16px 0 24px}.evidence-intro p{max-width:70ch}.evidence-project{border-top:1px solid var(--line);padding:40px 0 56px}.evidence-project h2{font-size:2rem;margin-bottom:24px}.evidence-story{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:28px 0}.evidence-story h3{font-size:1rem;margin-bottom:12px}.evidence-story p{color:var(--text)}.evidence-images{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.evidence-images img{width:100%;height:auto}.evidence-images figcaption{font-size:.875rem;color:var(--text);margin-top:12px}.evidence-status{padding:16px 20px;background:#e8e4dc;font-size:.875rem;margin-top:24px}.evidence-source{font-size:.8125rem;color:var(--text);margin-top:20px}.evidence-quote{border-left:3px solid var(--accent);padding-left:24px;margin:28px 0;font-size:1.25rem;max-width:60ch}@media(max-width:760px){.project-crossnav{gap:12px}.project-crossnav svg,.project-crossnav img{width:90px;height:68px}.project-crossnav a:last-child svg{width:52px}.project-crossnav span{font-size:.75rem;text-align:center}.evidence-story,.evidence-images{grid-template-columns:1fr}.evidence-intro{padding:32px 0}}

.compact-motion{margin:32px 0;position:relative}.compact-motion video{display:block;width:100%;height:auto;max-height:760px;object-fit:contain;background:transparent}.compact-motion figcaption{font-size:.875rem;margin-top:12px;color:var(--text)}.motion-toggle{margin-top:12px;padding:8px 16px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:999px;font:inherit;font-size:.875rem;cursor:pointer}.motion-toggle:focus-visible{outline:3px solid var(--accent);outline-offset:4px}

.hero-motion{width:min(100%,520px);margin:28px auto 32px}.hero-motion video{aspect-ratio:1;max-height:none}.hero-motion .motion-toggle{display:block;margin:12px auto 0}@media(max-width:760px){.hero-motion{margin:24px auto}}

.portfolio-terp{grid-template-columns:repeat(3,minmax(0,1fr))}.project-crossnav{grid-template-columns:repeat(4,minmax(0,1fr))}.project-crossnav a[href="hydes.html"] svg{width:72px}.project-crossnav a[href="portfolio.html#terp-water"] svg{width:150px}@media(max-width:760px){.portfolio-terp{grid-template-columns:1fr}.project-crossnav{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}.project-crossnav a[href="hydes.html"] svg{width:52px}.project-crossnav a[href="portfolio.html#terp-water"] svg{width:90px}}

.footer-contact a.booking-link,.portfolio-contact a.booking-link{color:var(--cream);font-size:.875rem;margin-top:18px}

/* Seamless phone galleries and native swipeable packshots. */
.pack-carousel{margin:24px 0 32px;min-width:0}.pack-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.pack-track::-webkit-scrollbar{display:none}.pack-slide{flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;min-width:0}.pack-slide img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}.pack-controls{display:flex;align-items:center;justify-content:center;gap:24px;padding-top:12px}.pack-controls button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:24px;cursor:pointer}.pack-controls button:hover{background:#e8e4dc}.pack-controls button:focus-visible,.pack-track:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.pack-status{font-size:.8125rem;min-width:3em;text-align:center}
.project-crossnav img{filter:none;opacity:1}.project-crossnav a[href="hydes.html"] img{width:78px}.project-crossnav a[href="portfolio.html#terp-water"] img{width:140px}.portfolio-teazy figure:last-child{grid-column:auto}.portfolio-teazy figure:last-child img{max-height:none;background:transparent}
@media(max-width:760px){.editorial-teazy,.editorial-hydes,.editorial-alohi,.portfolio-teazy,.portfolio-hydes,.portfolio-alohi{gap:0;width:100vw;margin-left:-20px}.editorial-images figure,.portfolio-images figure{margin:0}.project-crossnav a[href="hydes.html"] img{width:56px}.project-crossnav a[href="portfolio.html#terp-water"] img{width:90px}}

/* Preserve complete approved products within the existing homepage cards. */
.project img.hydes-approved-cover{object-fit:contain;background:#086d21}.project img.alohi-card.approved-card{background:#d14a85;object-fit:contain}

.hero h1 .clear-word{color:#000;animation:clear-arrival 2.4s ease-out both}@keyframes clear-arrival{from{color:#b4b4b0}to{color:#000}}@media(prefers-reduced-motion:reduce){.hero h1 .clear-word{animation:none;color:#000}}
