@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f7f7f2;--ink:#172421;--line:#cfd3c9;--acid:#d6ff59}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #588014;outline-offset:6px}header{display:flex;align-items:center;justify-content:space-between;padding:25px 4%;border-bottom:1px solid var(--line)}.wordmark{font-family:Manrope,sans-serif;font-size:27px;line-height:.9;font-weight:800;letter-spacing:-1.7px}.wordmark span{display:block}nav{display:flex;gap:32px;align-items:center;font-size:14px}nav a:hover{text-decoration:underline}.contact-link{border:1px solid var(--ink);border-radius:30px;padding:12px 20px}.hero{padding:65px 4% 42px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:1.6px;font-weight:600}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(62px,8.6vw,136px);font-weight:500;line-height:1.02;letter-spacing:-.075em;margin:27px 0 38px;max-width:1200px}.hero h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.065em}.intro{display:flex;justify-content:space-between;gap:30px;align-items:end}.intro p{max-width:470px;font-size:18px;line-height:1.6;margin:0}.small-label{font-size:12px;text-transform:uppercase;letter-spacing:1.5px}.work{padding:20px 4% 80px}.section-label{display:flex;justify-content:space-between;border-top:1px solid var(--ink);padding:20px 0 28px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 24px}.project .visual{height:480px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e7e6df}.project:first-child .visual{background:#dce1bc}.project img{max-width:100%;width:100%;height:100%;object-fit:contain;transition:transform .5s}.project:hover img{transform:scale(1.025)}.project .visual.pouch img{height:85%;width:auto;mix-blend-mode:multiply}.project .visual.boards img{width:94%;height:auto;mix-blend-mode:multiply}.project .visual.apparel img{height:93%;width:auto;mix-blend-mode:multiply}.caption{display:flex;justify-content:space-between;align-items:start;gap:16px;padding-top:17px}.caption h2{font-size:23px;letter-spacing:-.7px;margin:0 0 7px;font-weight:500}.caption p{font-size:14px;margin:0;color:#58645f}.arrow{font-size:26px}.services{background:var(--ink);color:var(--paper);padding:70px 4%}.services h2,.about h2,.contact h2{font-family:Manrope,sans-serif;font-size:clamp(38px,5vw,72px);font-weight:500;letter-spacing:-.055em;line-height:1.1;margin:30px 0 45px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.service{border-top:1px solid #61706a;padding-top:22px}.service h3{font-size:23px;font-weight:500}.service p{color:#c7d0cb;line-height:1.7;max-width:350px}.about{padding:80px 4%;display:grid;grid-template-columns:1fr 1fr;gap:60px}.about p{line-height:1.8;font-size:19px;max-width:530px;margin-top:40px}.contact{background:var(--acid);padding:60px 4%}.contact p{font-size:18px;max-width:650px;line-height:1.6}.contact h2{max-width:950px}.contact a{display:inline-block;border-bottom:1px solid;margin-top:15px;font-size:24px}footer{padding:30px 4%;display:flex;justify-content:space-between;font-size:14px}.case-hero{padding:65px 4% 40px}.case-hero h1{font:500 clamp(55px,8vw,115px)/1.04 Manrope,sans-serif;letter-spacing:-.07em;margin:28px 0}.case-intro{display:grid;grid-template-columns:1fr 2fr;gap:50px;margin:40px 0}.case-intro p{font-size:21px;line-height:1.65;max-width:780px;margin:0}.case-gallery{padding:0 4% 65px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.case-gallery figure{margin:0;background:#e7e6df;min-height:350px;display:flex;align-items:center;justify-content:center;padding:30px}.case-gallery figure.wide{grid-column:1/-1}.case-gallery img{max-width:100%;max-height:730px;object-fit:contain;mix-blend-mode:multiply}.case-note{padding:0 4% 65px;max-width:850px;line-height:1.7}.back{display:inline-block;border-bottom:1px solid;padding:5px 0}.case-note h2{font-size:30px;font-weight:500} @media(max-width:700px){header{padding:22px 5%}.wordmark{font-size:22px}nav{gap:18px}.hero{padding:44px 5% 30px}.hero h1{font-size:66px;margin:22px 0 30px}.intro{display:block}.intro .small-label{display:none}.intro p{font-size:17px}.work{padding:15px 5% 50px}.grid{grid-template-columns:1fr;gap:30px}.project .visual{height:390px}.service-grid{grid-template-columns:1fr;gap:15px}.services{padding:45px 5%}.about{grid-template-columns:1fr;gap:0;padding:45px 5%}.about h2{margin-bottom:0}.about p{margin-top:25px}.contact{padding:40px 5%}.case-intro{grid-template-columns:1fr;gap:20px}.case-gallery{grid-template-columns:1fr}.case-gallery figure.wide{grid-column:auto}.case-gallery figure{min-height:250px;padding:20px}footer{gap:20px;font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project img{transition:none}}
/* Botanical editorial direction */
:root{--paper:#f5f5ef;--ink:#152822;--acid:#d5ef72}.hero{position:relative;isolation:isolate;overflow:hidden;min-height:620px;padding-top:60px}.hero h1{position:relative;z-index:2;font-size:clamp(64px,8.2vw,128px);max-width:980px;pointer-events:none}.hero .eyebrow,.hero .intro{position:relative;z-index:3}.hero .intro{max-width:820px}.hero .intro .small-label{max-width:180px;line-height:1.7}.botanical{position:absolute;right:-1%;top:-22px;width:41%;height:570px;z-index:1;pointer-events:none}.botanical img{position:absolute;right:-12%;top:0;width:105%;height:100%;object-fit:contain;transform:translate(var(--leaf-x,0px),var(--leaf-y,0px)) rotate(-24deg);transition:transform .6s ease-out;filter:drop-shadow(-16px 24px 14px #13251e1c)}.orbit{position:absolute;border:1px solid #71886b40;border-radius:50%;width:90%;height:83%;right:0;top:5%;transform:rotate(-30deg)}.orbit-two{transform:rotate(30deg);width:60%;right:15%}.botanical-label{position:absolute;bottom:30px;right:13%;font-size:12px;line-height:1.5;text-transform:uppercase;letter-spacing:1.4px}.editorial-grid{gap:65px 26px;align-items:start}.editorial-grid .project:nth-child(even){margin-top:120px}.editorial-grid .project:nth-child(3){margin-top:-70px}.editorial-grid .project:nth-child(5){margin-top:-70px}.project .visual{height:550px;position:relative;isolation:isolate;border-radius:3px}.brand-stage .stage-title{position:absolute;top:34px;left:32px;font:600 clamp(28px,3.6vw,54px)/1.03 Manrope,sans-serif;letter-spacing:-.065em;z-index:1}.stage-index{position:absolute;bottom:22px;left:25px;font-size:11px;letter-spacing:1.5px;z-index:3}.view-project{position:absolute;right:20px;bottom:15px;background:var(--ink);color:white;border-radius:30px;padding:11px 16px;font-size:13px;opacity:0;transform:translateY(10px);transition:.25s}.project:hover .view-project,.project:focus-visible .view-project{opacity:1;transform:translateY(0)}.project .visual.biglus-stage{background:#dce6b2}.product-family{position:absolute;inset:120px 10px 40px;display:flex;align-items:center;justify-content:center}.project .product-family img{width:34%;height:auto;max-height:85%;mix-blend-mode:multiply;object-fit:contain;filter:drop-shadow(5px 16px 6px #30401b12);transform:rotate(-10deg) translateY(20px);transition:transform .55s cubic-bezier(.2,.7,.2,1)}.project .product-family img:nth-child(2){width:37%;z-index:2;transform:rotate(3deg) translateY(-5px);margin:0 -20px}.project .product-family img:nth-child(3){transform:rotate(12deg) translateY(24px)}.project:hover .product-family img:first-child{transform:rotate(-15deg) translateY(5px)}.project:hover .product-family img:nth-child(2){transform:rotate(0) translateY(-15px)}.project:hover .product-family img:nth-child(3){transform:rotate(17deg) translateY(10px)}.project .visual.monetary-stage{background:#ddd5eb}.monetary-stage .stage-title{font-size:40px}.deck-family{position:absolute;inset:130px 30px 42px;display:flex;justify-content:center;gap:6px}.project .deck-family img{width:31%;height:100%;object-fit:contain;mix-blend-mode:multiply;transform:rotate(10deg);transition:transform .5s}.project .deck-family img:nth-child(2){transform:rotate(-8deg) translateY(8px)}.project:hover .deck-family img{transform:rotate(4deg) translateY(-8px)}.project:hover .deck-family img:nth-child(2){transform:rotate(-3deg) translateY(-10px)}.project .visual.kraken-stage{background:#edb4bf}.kraken-family{position:absolute;inset:130px 10px 45px}.project .kraken-family img{mix-blend-mode:multiply;position:absolute;object-fit:contain;transition:transform .5s}.project .kraken-family img:first-child{width:67%;height:100%;left:0;transform:rotate(-9deg)}.project .kraken-family img:nth-child(2){width:47%;height:48%;right:0;top:-30px;transform:rotate(13deg)}.project .kraken-family img:nth-child(3){width:37%;height:70%;bottom:-5px;right:4%;transform:rotate(8deg)}.project:hover .kraken-family img{transform:rotate(0)}.project .visual.island-stage{background:#cbdce2}.island-pair{position:absolute;inset:40px 15px 50px;display:flex;align-items:center}.project .island-pair img{width:55%;height:90%;object-fit:contain;mix-blend-mode:multiply;transform:rotate(-8deg);margin-right:-9%}.project .island-pair img:nth-child(2){transform:rotate(8deg) translateY(25px)}.project .visual.jafra-stage{background:#efe2bd}.project .visual.thorns-stage{background:#c6b4c9}.jafra-stage img,.thorns-stage img{max-height:85%}.caption h2{font-size:27px}.caption p{line-height:1.5}.services{border-radius:28px 28px 0 0}.services h2{max-width:850px}.contact{position:relative;overflow:hidden;isolation:isolate}.contact h2,.contact p,.contact .eyebrow{position:relative;z-index:2}.contact h2{font-size:clamp(42px,6vw,85px);max-width:75%}.contact p{max-width:55%}.contact-leaf{position:absolute;right:-8%;top:4%;height:110%;width:46%;object-fit:contain;transform:rotate(30deg);z-index:1}.gallery-divider{grid-column:1/-1;padding:42px 0 8px;border-top:1px solid var(--line);margin-top:25px}.will-reveal{opacity:.2;transform:translateY(22px);transition:opacity .7s,transform .7s}.will-reveal.in-view{opacity:1;transform:none}
@media(min-width:1500px){.botanical{right:0;width:38%}.hero{min-height:660px}.project .visual{height:650px}}
@media(max-width:900px){.hero{min-height:540px}.botanical{right:-5%;width:45%;opacity:.9;top:40px;height:390px}.hero h1{font-size:80px}.hero .intro p{max-width:60%}.hero .intro .small-label{display:none}.project .visual{height:450px}.brand-stage .stage-title{font-size:35px;top:24px;left:22px}.deck-family{inset:130px 12px 45px}.stage-index{font-size:10px;letter-spacing:1px}.caption h2{font-size:24px}}
@media(max-width:700px){.hero{padding-top:35px;min-height:590px}.hero h1{font-size:clamp(59px,12vw,82px);line-height:1.02;max-width:100%;margin:28px 0 25px}.hero .intro p{max-width:100%;font-size:17px}.hero .intro{padding-top:135px}.botanical{width:230px;right:-65px;height:280px;top:170px;opacity:1}.botanical img{transform:rotate(-35deg);right:-5%}.botanical-label{display:none}.orbit{border-color:#71886b26}.hero .eyebrow{font-size:11px;max-width:220px;line-height:1.6}.editorial-grid .project:nth-child(n){margin-top:0}.editorial-grid{gap:35px}.project .visual{height:450px}.brand-stage .stage-title{font-size:43px}.stage-index{font-size:10px}.view-project{display:none}.contact-leaf{width:60%;height:70%;top:28%;right:-20%;opacity:.9}.contact h2{max-width:100%;font-size:43px}.contact p{max-width:78%;font-size:16px}.services{border-radius:18px 18px 0 0}.caption h2{font-size:24px}.gallery-divider{padding-top:22px}}
@media(prefers-reduced-motion:reduce){.will-reveal{opacity:1;transform:none;transition:none}.botanical img,.project img,.view-project{transition:none!important}}

@media(max-width:700px){.botanical{height:230px;top:170px}}

/* Keep the contact action visible beside the logo on phones. */
header{gap:32px}
header nav{margin-left:auto}
header>.contact-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;white-space:nowrap;font-size:14px}
header>.contact-link:hover{text-decoration:underline}
@media(max-width:700px){
  header{display:grid;grid-template-columns:1fr auto;gap:12px}
  header>.wordmark{grid-column:1;grid-row:1}
  header>.contact-link{grid-column:2;grid-row:1;padding:10px 16px;font-size:13px}
  header>nav{grid-column:1/-1;grid-row:2;width:100%;margin-left:0;justify-content:space-between}
}

/* Keep the email readable and tappable above the footer at every width. */
.contact .contact-email{position:relative;z-index:2;max-width:100%;font-size:clamp(18px,4.8vw,30px);line-height:1.4;overflow-wrap:anywhere;min-height:44px;padding:8px 0}
