.botanical{pointer-events:none}.botanical .hero-leaf{width:95%;height:90%;right:-9%;top:7%;animation:leaf-drift 8s ease-in-out infinite alternate;transform-origin:55% 70%;filter:drop-shadow(-12px 20px 18px #13251e25)}.botanical .sun-disc{width:80%;height:80%;top:0;right:10%;object-fit:contain;animation:sun-turn 65s linear infinite;filter:none;transform:none;opacity:.92}.botanical-label{bottom:15px}.motion-toggle{position:absolute;right:15%;bottom:-20px;pointer-events:auto;background:transparent;border:0;border-bottom:1px solid #496456;color:var(--ink);font:12px 'DM Sans',sans-serif;padding:5px 0;z-index:5;cursor:pointer}.motion-paused *{animation-play-state:paused!important}.contact-leaf{animation:leaf-drift 11s ease-in-out infinite alternate}.catalogue-preview .catalogue-fan{position:absolute;inset:60px 35px;display:flex;align-items:center;justify-content:center}.project .catalogue-fan img{position:absolute;width:48%;height:auto;max-height:86%;object-fit:contain;box-shadow:0 15px 26px #17242126;mix-blend-mode:normal;transform:translate(-50%,-8%) rotate(-12deg)}.project .catalogue-fan img:nth-child(2){transform:translate(-16%,10%) rotate(-4deg);z-index:2}.project .catalogue-fan img:nth-child(3){transform:translate(28%,-5%) rotate(7deg);z-index:3}.project .catalogue-fan img:nth-child(4){transform:translate(68%,16%) rotate(15deg);z-index:4}.project:hover .catalogue-fan img:nth-child(1){transform:translate(-60%,-13%) rotate(-16deg)}.project:hover .catalogue-fan img:nth-child(2){transform:translate(-22%,14%) rotate(-6deg)}.project:hover .catalogue-fan img:nth-child(3){transform:translate(28%,-10%) rotate(8deg)}.project:hover .catalogue-fan img:nth-child(4){transform:translate(75%,20%) rotate(19deg)}
.catalogue-story{display:grid;grid-template-columns:1fr 1fr;gap:70px 7%;padding:20px 8% 120px;background:linear-gradient(160deg,#e5ebc9,#f5f5ef 70%)}.catalogue-spread:nth-child(even){margin-top:150px}.catalogue-caption{display:flex;align-items:center;justify-content:space-between}.catalogue-caption h2{font:500 40px Manrope,sans-serif;letter-spacing:-2px}.catalogue-frame{perspective:900px;transform:rotate(-3deg);transition:transform .7s}.catalogue-spread:nth-child(even) .catalogue-frame{transform:rotate(3deg)}.catalogue-frame img{width:100%;box-shadow:8px 22px 40px #13251e25;display:block;transform:rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg));transition:transform .5s}.catalogue-frame:hover{transform:rotate(0) translateY(-10px)}
.floating-collection{overflow:hidden;padding:20px 0 80px;background:#e0ddeb}.collection-heading{padding:35px 5%;display:flex;align-items:end;justify-content:space-between;gap:25px}.collection-heading h2{font:500 clamp(35px,5vw,70px)/1.1 Manrope,sans-serif;letter-spacing:-.055em;margin:0}.collection-heading p{font-size:14px;max-width:240px;line-height:1.5}.s-curve{display:flex;align-items:center}.board-curve{justify-content:center;min-height:640px;padding:100px 5%;gap:0}.float-item{flex:0 0 auto;transform:translate(var(--push-x,0px),calc(var(--base-y,0px) + var(--push-y,0px))) rotate(calc(var(--base-r,0deg) + var(--push-r,0deg)));transition:transform .65s cubic-bezier(.18,.7,.2,1);outline-offset:4px;touch-action:pan-y}.board-item{width:15%;height:400px;margin:0 -.1%}.float-item img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(7px 15px 12px #2c263329);user-select:none;-webkit-user-drag:none}.float-item:focus-visible{outline:2px solid #152822}.clothing-scroll{overflow-x:auto;scroll-behavior:smooth;scrollbar-color:#776882 transparent;scrollbar-width:thin;padding:0 4% 30px}.clothing-curve{width:max-content;min-height:520px;padding:70px 10px;gap:12px}.clothing-item{width:220px;height:340px}.collection-controls{display:flex;gap:10px}.collection-controls button,.showcase-controls button{border:1px solid currentColor;background:transparent;border-radius:50%;height:52px;width:52px;font-size:25px;color:inherit;cursor:pointer}.collection-controls button:hover,.showcase-controls button:hover{background:var(--ink);color:white}.showcase{position:relative;overflow:hidden;padding:45px 4% 40px;margin-bottom:65px}.showcase-title{position:relative;z-index:2;pointer-events:none}.showcase-title h2{font:500 clamp(40px,6vw,84px)/1.03 Manrope,sans-serif;letter-spacing:-.065em;margin:25px 0}.showcase-stage{position:relative;height:540px;perspective:1200px;touch-action:pan-y;isolation:isolate}.showcase-card{position:absolute;left:50%;top:50%;border:0;padding:15px;background:transparent;width:290px;height:360px;cursor:pointer;transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .5s,filter .5s;transform:translate(-50%,-50%);will-change:transform}.showcase-card img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;pointer-events:none;user-select:none;-webkit-user-drag:none}.showcase-card:focus-visible{outline:3px solid var(--ink);outline-offset:8px}.kraken-orbit{background:#f0b9c4}.kraken-orbit .showcase-stage{margin-top:-120px}.kraken-orbit .showcase-card{filter:drop-shadow(12px 30px 12px #652b3626)}.kraken-orbit .showcase-title{max-width:450px}.kraken-orbit .showcase-stage:before{content:'';position:absolute;left:15%;right:15%;bottom:12%;height:40%;border:1px solid #71394b40;border-radius:50%;transform:rotate(-8deg);z-index:-1}.showcase-controls{display:flex;align-items:center;justify-content:center;gap:30px;position:relative;z-index:10}.showcase-controls>div{text-align:center;min-width:240px}.showcase-count{font-size:12px;letter-spacing:2px}.showcase-label{font-size:23px;font-weight:500;margin:10px 0}.showcase-hint{text-align:center;font-size:13px;margin:20px 0 0}.hawaii-fan{background:#d7e4d6;padding-top:50px}.hawaii-fan .showcase-title{text-align:center}.hawaii-fan .showcase-stage{height:510px;margin-top:0}.hawaii-fan .showcase-card{background:#f4f0df;border:1px solid #203b2822;box-shadow:0 15px 35px #25423025;border-radius:3px;padding:25px 15px;width:265px;height:360px}.hawaii-fan .showcase-card:nth-child(3n+2){background:#d7cae5}.hawaii-fan .showcase-card:nth-child(3n){background:#efbc85}.hawaii-fan .showcase-controls{justify-content:space-between;padding:0 6%}.motion-paused .float-item{transition:none}
@keyframes leaf-drift{from{transform:translate(0,0) rotate(-25deg)}to{transform:translate(-10px,12px) rotate(-19deg)}}@keyframes sun-turn{from{transform:translate(0,0) rotate(0)}50%{transform:translate(-8px,8px) rotate(180deg)}to{transform:translate(0,0) rotate(360deg)}}
@media(max-width:700px){.botanical .sun-disc{width:85%;height:85%;right:15%;top:0}.botanical .hero-leaf{right:-10%;width:100%;height:100%;top:8%}.motion-toggle{bottom:-25px;right:40%;font-size:11px;white-space:nowrap}.catalogue-story{grid-template-columns:1fr;padding:0 9% 65px;gap:30px}.catalogue-spread:nth-child(even){margin-top:0}.catalogue-caption h2{font-size:32px}.board-curve{min-height:430px;padding:70px 3%;gap:0}.board-item{height:260px;width:16%}.collection-heading{display:block;padding-top:30px}.collection-heading p{max-width:none}.collection-controls{margin-top:20px}.clothing-item{width:175px;height:290px}.clothing-curve{min-height:450px}.showcase{padding:35px 5%}.showcase-title h2{font-size:48px}.kraken-orbit .showcase-stage{margin-top:0;height:400px}.showcase-card{width:200px;height:280px;padding:10px}.showcase-controls{gap:12px}.showcase-controls>div{min-width:180px}.showcase-label{font-size:18px}.showcase-controls button{width:42px;height:42px;flex-shrink:0}.hawaii-fan .showcase-stage{height:400px}.hawaii-fan .showcase-card{width:200px;height:280px;padding:18px 10px}.hawaii-fan .showcase-controls{padding:0}.project .catalogue-fan img{width:56%}.catalogue-preview .catalogue-fan{inset:40px 40px}}
@media(prefers-reduced-motion:reduce){.hero-leaf,.sun-disc,.contact-leaf{animation:none!important}.showcase-card,.float-item,.catalogue-frame,.catalogue-frame img{transition:none!important}.motion-toggle{display:none}.clothing-scroll{scroll-behavior:auto}}

.kraken-orbit .showcase-card{mix-blend-mode:multiply}.botanical .sun-disc{right:20%;top:-6%;width:87%;height:87%}.kraken-orbit .showcase-stage{margin-top:0}.kraken-orbit .showcase-title h2{margin-bottom:0}

.contact p{max-width:850px}.contact h2{max-width:100%}.botanical .hero-leaf{pointer-events:auto;translate:var(--cursor-leaf-x,0px) var(--cursor-leaf-y,0px);rotate:var(--cursor-leaf-r,0deg);transition:translate .55s ease-out,rotate .55s ease-out;touch-action:pan-y}
.board-scroll{overflow-x:auto;padding:0 4% 25px;scrollbar-width:thin;scrollbar-color:#776882 transparent;scroll-behavior:smooth}.board-scroll .board-curve{justify-content:flex-start;width:max-content;min-height:630px;padding:110px 25px;gap:20px}.board-scroll .board-item{width:125px;height:365px;margin:0}.board-scroll .board-item img{filter:drop-shadow(8px 18px 12px #30213c26)}@media(max-width:700px){.board-scroll .board-item{width:95px;height:280px}.board-scroll .board-curve{min-height:500px;padding:100px 15px;gap:15px}}@media(prefers-reduced-motion:reduce){.board-scroll{scroll-behavior:auto}.hero-leaf{translate:none!important;rotate:none!important}}

.board-navigation{display:flex;gap:20px;align-items:center;justify-content:flex-end;padding:0 5%;font-size:14px}.board-navigation button{width:48px;height:48px;border:1px solid;border-radius:50%;background:transparent;color:inherit;font-size:24px;cursor:pointer}.board-navigation button:hover{background:var(--ink);color:white}

.s-curve .float-item{touch-action:pan-x pan-y}
/* Island atmosphere, driven by page position. */
.hero h1 em{color:#58773d}.hero h1{font-size:clamp(60px,7.7vw,120px)}
.project:hover .island-pair img:first-child,.project:focus-visible .island-pair img:first-child{transform:translate(-13px,-16px) rotate(-14deg)}
.project:hover .island-pair img:nth-child(2),.project:focus-visible .island-pair img:nth-child(2){transform:translate(13px,8px) rotate(14deg)}
.services{position:relative;overflow:hidden;isolation:isolate}.services>h2,.services>.eyebrow,.service-grid{position:relative;z-index:1}.services>h2{max-width:58%}.services-sky{position:absolute;right:5%;top:52px;width:38%;height:230px;pointer-events:none;color:inherit;--sky:0}.services-sky svg{position:absolute;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.cloud-one{width:43%;top:15px;right:20%;opacity:.7;transform:translateX(calc((1 - var(--sky))*450px))}.cloud-two{width:25%;top:110px;right:4%;opacity:.48;transform:translateX(calc((1 - var(--sky))*600px))}.flying-bird{width:29%;top:110px;left:2%;transform:translate(calc((1 - var(--sky))*700px),calc((1 - var(--sky))*30px)) rotate(-8deg)}.bird-wing{transform-origin:80px 68px}.bird-wing-left{transform:rotate(var(--wing,0deg))}.bird-wing-right{transform:rotate(calc(var(--wing,0deg)*-1))}
.growth-story{position:relative;isolation:isolate}.growth-story .about{padding-bottom:160px}.growth-story .contact{overflow:visible;isolation:auto;min-height:540px;padding-right:24%}.growth-story .contact h2{max-width:100%;font-size:clamp(42px,5.7vw,82px)}.growth-story .contact p{max-width:850px}.growing-plant{position:absolute;right:3%;bottom:22px;width:21%;height:calc(var(--contact-height,540px) + 120px);pointer-events:none;z-index:3;color:#385335}.growing-plant svg{width:100%;height:100%;overflow:visible}.plant-stem,.plant-branch{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}.plant-leaf{fill:currentColor;transform:scale(0)}
@media(max-width:700px){.hero h1{font-size:clamp(45px,10.9vw,76px);letter-spacing:-.065em}.services>h2{max-width:100%;margin-bottom:150px}.services-sky{width:75%;height:140px;top:205px;right:8%}.cloud-one{width:35%;top:0}.cloud-two{top:50px}.flying-bird{top:50px;width:23%}.growth-story .about{padding-bottom:115px}.growth-story .contact{padding-right:24%;min-height:580px}.growth-story .contact h2{font-size:clamp(32px,6.5vw,43px)}.growth-story .contact p{font-size:16px;max-width:100%}.growing-plant{right:1%;width:22%;height:calc(var(--contact-height,580px) + 80px)}}
@media(prefers-reduced-motion:reduce){.services-sky{--sky:1!important}.bird-wing{transform:none!important}.plant-stem,.plant-branch{stroke-dashoffset:0!important}.plant-leaf{transform:none!important}}

.project .island-stage .island-pair{inset:120px 15px 50px}.project .catalogue-preview .catalogue-fan{inset:160px 35px 60px}.catalogue-preview .stage-title{z-index:5}

.hero h1 .rooted-headline{display:inline-block;font-size:.75em;line-height:1.08;max-width:100%}

.hero h1{margin-bottom:22px;line-height:.98}.hero h1 .rooted-headline{font-size:clamp(24px,3.55vw,55px);letter-spacing:-.035em;line-height:1.2;white-space:nowrap;vertical-align:top;margin-top:14px}.hero .intro{padding-top:0}.ocean-fish{transform:translateX(calc((1 - var(--ocean))*-85px))}.ocean-waves{opacity:.8}
@media(max-width:700px){.hero{min-height:640px}.hero h1 .rooted-headline{font-size:clamp(21px,5.4vw,37px);margin-top:12px}.hero .intro{padding-top:0}.hero .intro p{max-width:100%}.hero .botanical{top:330px}}
@media(prefers-reduced-motion:reduce){.ocean-fish{transform:none!important}}

/* Recurring tide between project stories. */
.ocean-slot{height:140px;position:relative;overflow:hidden;pointer-events:none;margin-bottom:24px;color:#789aa8}.ocean-traveller{height:100%;width:100%;transform:translateX(115%);transform-origin:center;opacity:0}.ocean-slot svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ocean-slot .ocean-fish{transform:translateX(calc((1 - var(--ocean,0))*40px))}.ocean-finale{height:150px;margin:70px 0 -35px;width:100%}.ocean-finale .ocean-traveller{width:58%;margin:auto}.project:has(.ocean-slot){opacity:1!important;transform:none!important}
@media(max-width:700px){.ocean-slot{height:110px;margin-bottom:18px}.ocean-finale{margin:40px 0 -20px;height:110px}.ocean-finale .ocean-traveller{width:90%}}
@media(prefers-reduced-motion:reduce){.ocean-traveller{transform:none!important;opacity:1!important}}

.ocean-slot[data-ocean-direction="right"] svg{transform:scaleX(-1)}.editorial-grid .project.local-project{margin-top:-200px}@media(max-width:700px){.editorial-grid .project.local-project{margin-top:-25px}}

.float-item.touch-feedback{--push-y:-24px!important;--push-r:3deg!important}.hero-leaf.touch-feedback{--cursor-leaf-r:5deg;--cursor-leaf-x:-8px}.catalogue-frame.touch-feedback{transform:rotate(0) translateY(-8px)}
@media(max-width:700px){header{padding-top:14px;padding-bottom:14px}nav{gap:12px}nav a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;justify-content:center}.showcase-controls button,.collection-controls button,.board-navigation button{min-width:44px;min-height:44px}.showcase-controls>div{min-width:0;flex:1}.showcase-controls{gap:10px}.showcase-label{overflow-wrap:anywhere}.catalogue-caption{gap:12px}.catalogue-caption .eyebrow{flex:0 0 80px}.section-label{gap:15px}.section-label .small-label:last-child{text-align:right}.clothing-scroll,.board-scroll{overscroll-behavior-x:contain}.hero-leaf{touch-action:pan-y}}
@media(hover:none){.project:active .island-pair img:first-child{transform:translate(-8px,-10px) rotate(-12deg)}.project:active .island-pair img:nth-child(2){transform:translate(8px,8px) rotate(12deg)}}
@media(prefers-reduced-motion:reduce){.clothing-scroll,.board-scroll{scroll-behavior:auto!important}.touch-feedback{transition:none!important}}

/* Keep the mobile artwork in the text's open space, beside the whale. */
@media(max-width:700px){
  .hero{display:flex;flex-direction:column;min-height:0;padding-bottom:52px;--mobile-art-gap:clamp(-24px,calc(288px - 80vw),32px);--whale-width:clamp(60px,calc(100vw - 260px),130px)}
  .hero>.eyebrow{order:1}
  .hero>h1{order:2}
  .hero>.intro{order:3}
  .hero .botanical{position:relative;order:4;align-self:center;top:auto;right:auto;left:clamp(32px,calc(60vw - 160px),74px);width:240px;height:230px;margin:var(--mobile-art-gap) 0 8px;z-index:1}
  .hero .botanical .hero-leaf{right:4%;top:14%;width:88%;height:92%;z-index:1}
  .hero .botanical .sun-disc{right:20%;top:-5%;width:80%;height:84%;z-index:0}
}

/* A quiet whale vignette, confined to the open space left of the botanicals. */
.hero-whale{position:absolute;left:0;top:calc(100% + 14px);width:clamp(160px,19vw,240px);aspect-ratio:200/190;color:#789aa8;pointer-events:none;overflow:hidden;contain:paint;z-index:0}
.hero-whale svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.hero-whale path,.hero-whale circle,.hero-whale ellipse{vector-effect:non-scaling-stroke}
.whale-body{fill:var(--paper)}
.whale-eye,.whale-mist{fill:currentColor;stroke:none}
.whale-eye-glint{fill:var(--paper);stroke:none}
.whale-ripples{opacity:.68}
.whale-arrival{animation:whale-enter 9s ease-in-out infinite}
.whale-surface{animation:whale-surface 9s ease-in-out infinite}
.whale-spout{transform-origin:148px 83px;animation:whale-breathe 9s ease-in-out infinite}
.whale-droplets{animation:whale-droplets 9s ease-in-out infinite}
.hero-whale:not(.whale-in-view) *{animation-play-state:paused}
@keyframes whale-enter{0%,8%{transform:translateX(-110%)}26%,100%{transform:translateX(0)}}
@keyframes whale-surface{0%,8%{transform:translateY(34px);opacity:0}26%,65%{transform:translateY(0);opacity:1}87%,100%{transform:translateY(52px);opacity:0}}
@keyframes whale-breathe{0%,29%{transform:scaleY(0);opacity:0}39%,46%{transform:scaleY(1);opacity:.95}54%,100%{transform:scaleY(1.08);opacity:0}}
@keyframes whale-droplets{0%,40%{transform:translateY(0);opacity:0}45%{opacity:.85}61%,100%{transform:translateY(31px);opacity:0}}
@media(max-width:700px){
 .hero-whale{left:calc(16px - 5vw);top:calc(100% + var(--mobile-art-gap) + 266px - var(--whale-width)*.95);width:var(--whale-width)}
 .hero-whale svg{stroke-width:1.15}
}
@media(max-width:359px){
 .hero{--whale-width:86px}
}
@media(prefers-reduced-motion:reduce){
 .hero-whale *{animation:none!important}
 .whale-arrival,.whale-surface,.whale-spout,.whale-droplets{transform:none;opacity:1}
 .whale-droplets{opacity:.6}
}
