:root{--orange:#fa592b;--cream:#fff1ce;--turquoise:#168e95;--ocean:#123b40;--yellow:#ffc34b;--black:#171b1a;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--orange);color:var(--ocean);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}svg{display:block}::selection{background:var(--yellow);color:var(--ocean)}:focus-visible{outline:3px solid currentColor;outline-offset:6px}.skip-link{position:fixed;top:15px;left:20px;z-index:100;background:var(--cream);padding:15px;transform:translateY(-160%)}.skip-link:focus{transform:none}h1,h2,p,figure{margin:0}h2{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:800;line-height:.88;letter-spacing:-.035em;text-transform:uppercase}.button{display:inline-flex;justify-content:center;align-items:center;gap:11px;min-height:56px;padding:17px 25px;border-radius:100px;font-size:15px;font-weight:700;line-height:1.15;white-space:nowrap;transition:transform 160ms var(--ease-out),background-color 160ms ease,color 160ms ease;border:0}.button svg{width:20px;height:20px;flex:none}.button-cream{background:var(--cream);color:var(--ocean);box-shadow:0 4px 0 var(--ocean)}.button-orange{background:var(--orange);color:var(--black)}.button-dark{background:var(--ocean);color:var(--cream)}.button:active{transform:translateY(2px) scale(.97)}.text-link{display:inline-flex;align-items:center;gap:16px;font-size:14px;font-weight:700;padding:10px 0;border-bottom:1px solid currentColor;width:max-content;max-width:100%}.text-link span{font-size:23px;line-height:.8}.site-header{position:fixed;inset:0 0 auto;z-index:50;height:88px;display:flex;justify-content:space-between;align-items:center;padding:0 4%;background:var(--orange);border-bottom:1px solid #123b4025;transition:background-color 200ms ease,color 200ms ease}.site-header.scrolled{background:var(--cream);color:var(--ocean)}.brand{font-family:'Bowlby One SC',Impact,sans-serif;font-size:21px;line-height:.82;letter-spacing:-1.1px;transform:rotate(-4deg)}.brand span{display:block}.site-header nav{display:flex;gap:34px;font-size:14px;font-weight:700}.site-header nav a{padding:12px 0}.header-actions{display:flex;gap:27px;align-items:center}.language{display:flex;align-items:center;gap:7px;font-size:12px}.language a{padding:12px 3px}.language [aria-current=page]{font-weight:900;border-bottom:2px solid currentColor}.language span{opacity:.5}.header-of{background:var(--ocean);color:var(--cream);min-height:43px;padding:12px 19px;font-size:13px}.header-of svg{width:16px;height:16px}.page-progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:60;pointer-events:none}.page-progress span{height:100%;width:100%;display:block;transform:scaleX(0);transform-origin:left;background:var(--yellow)}
/* One full-bleed poster. */
.hero-stage{position:relative;min-height:850px;height:100svh;overflow:hidden;background:var(--orange);isolation:isolate}.hero-texture{position:absolute;inset:0;opacity:.055;pointer-events:none;z-index:9;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.75' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.hero-title{position:absolute;top:20%;left:0;width:100%;font-family:'Bowlby One SC',Impact,sans-serif;line-height:1;letter-spacing:-.075em;text-align:center;font-size:11.7vw;font-weight:400;text-transform:uppercase;color:var(--cream);z-index:2;white-space:nowrap;transform-origin:center}.sun-disc{position:absolute;left:50%;top:39%;width:43vw;max-width:720px;aspect-ratio:1;transform:translate(-50%,-20%);border-radius:50%;background:var(--yellow);overflow:hidden;z-index:1}.sun-stripes{position:absolute;inset:50% 0 0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 17px,var(--orange) 17px,var(--orange) 25px)}.hero-person{position:absolute;z-index:4;left:50%;bottom:-13%;height:91%;width:auto;max-width:none;transform:translateX(-50%);object-fit:contain;transform-origin:50% 82%;pointer-events:none}.hero-copy{position:absolute;z-index:6;left:5.5%;top:53%;max-width:27%}.hero-motto{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:800;text-transform:uppercase;font-size:clamp(33px,3.5vw,59px);line-height:.96;letter-spacing:-.025em;margin-bottom:27px}.hero-copy small,.follow-copy small,.portal-last small{display:block;margin-top:16px;font-size:11px;line-height:1.4}.hero-aside{position:absolute;z-index:6;right:5.5%;top:51%;width:19%;max-width:260px}.hero-aside p{font-size:17px;line-height:1.55;margin:16px 0 18px;max-width:225px}.little-sun{font-size:64px;line-height:1;display:block;transform:rotate(12deg);width:min-content}.hero-stamp{position:absolute;z-index:5;right:5.5%;bottom:8%;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:23px;line-height:1.05;color:var(--cream);transform:rotate(-8deg)}.hero-bottom{position:absolute;bottom:7%;left:5.5%;color:var(--cream);font-size:12px;z-index:5}.horizon{position:absolute;left:0;bottom:0;width:100%;height:26%;z-index:2}.horizon svg{width:100%;height:100%}.palm{width:100%;height:100%;fill:var(--ocean)}.palm-left{position:absolute;left:-8%;top:35%;width:20%;height:60%;transform:rotate(13deg);opacity:.24;z-index:0}.palm-right{position:absolute;right:-7%;top:32%;width:18%;height:55%;transform:scaleX(-1) rotate(12deg);opacity:.22;z-index:0}
/* Photo opens out from the poster into a dark chapter. */
.portal-stage{position:relative;background:var(--black);color:var(--cream);min-height:900px;height:110svh;isolation:isolate;overflow:hidden}.portal-image{position:absolute;inset:0;z-index:0}.portal-image img{width:100%;height:100%;object-fit:cover;object-position:45% 50%}.portal-shade{position:absolute;inset:0;background:linear-gradient(90deg,#171b1a05 35%,#171b1aab 68%,#171b1ade),linear-gradient(0deg,#171b1a80,transparent 30%)}.portal-first,.portal-last{position:absolute;z-index:2;right:6%;top:27%;width:36%;max-width:540px}.portal-first h2,.portal-last h2{font-size:clamp(60px,7.7vw,126px)}.portal-first p,.portal-last p{font-size:17px;line-height:1.65;max-width:330px;margin-top:28px}.portal-last{top:65%}.portal-last h2{font-size:clamp(55px,6vw,95px)}.portal-last .button{margin-top:25px}.portal-note{position:absolute;bottom:5%;left:5%;font-family:'Bowlby One SC',Impact,sans-serif;font-size:clamp(32px,7vw,100px);letter-spacing:-.07em;color:var(--cream);opacity:.8;text-transform:uppercase}
/* Wide photographic sequence; vertical scrolling controls the track. */
.gallery-stage{background:var(--black);color:var(--cream);position:relative;overflow:hidden;padding:100px 0 70px}.gallery-top{padding:0 5%;display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:35px}.gallery-top>p{font-size:13px}.gallery-top .text-link{font-size:12px}.gallery-track{display:flex;align-items:center;gap:5vw;width:max-content;padding:0 5vw}.gallery-intro{width:29vw;flex:none}.gallery-intro h2{font-size:clamp(60px,7.5vw,112px);color:var(--yellow)}.gallery-intro p{font-size:18px;line-height:1.5;margin-top:30px}.gallery-arrow{display:block;font-size:100px;margin-top:15px;color:var(--orange);line-height:1}.shot{width:37vw;flex:none;position:relative}.shot img{width:100%;height:65svh;max-height:710px;object-fit:cover;object-position:center 35%}.shot-gym{transform:rotate(-3deg)}.shot-water{transform:rotate(3deg)}.shot-retro{transform:rotate(-2deg)}.shot figcaption{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:600;font-size:30px;margin-top:12px}.gallery-progress{margin:40px 5% 0;height:2px;background:#fff1ce38;position:relative}.gallery-progress span{display:block;width:100%;height:100%;background:var(--orange);transform:scaleX(.05);transform-origin:left}
/* Book is deliberately quieter after the spectacle. */
.book-section{background:var(--cream);color:var(--ocean);min-height:110svh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:130px 8%;gap:7vw;overflow:hidden}.book-art{position:relative;min-height:550px;display:flex;align-items:center;justify-content:center;flex-direction:column;perspective:1200px}.book-halo{position:absolute;background:var(--orange);width:100%;max-width:580px;aspect-ratio:1;border-radius:50%;left:0;top:50%;transform:translateY(-50%)}.book-object{position:relative;width:64%;max-width:350px;transform:rotate(-8deg) rotateY(-15deg);box-shadow:16px 24px 30px #123b4040;transform-origin:center;z-index:1}.book-object:after{content:'';position:absolute;left:100%;top:1%;height:98%;width:12px;background:repeating-linear-gradient(90deg,#ded4bd 0,#ded4bd 1px,#fffaf0 1px,#fffaf0 3px);transform:skewY(20deg);transform-origin:left}.book-object img{width:100%;height:auto}.book-caption{position:relative;z-index:2;font-size:11px;margin-top:45px}.book-copy{position:relative;z-index:3}.book-byline{font-size:13px;margin-bottom:25px}.book-copy h2{font-size:clamp(55px,6.8vw,110px);margin-bottom:32px}.book-copy>p:not(.book-byline){font-size:17px;line-height:1.7;max-width:470px}.book-copy .book-languages{font-size:13px!important;margin-top:18px}.book-links{margin-top:30px;display:flex;align-items:flex-start;flex-direction:column;gap:20px}.book-links .text-link{font-size:13px}
/* A strong final destination, not an endless menu of platforms. */
.follow-section{position:relative;overflow:hidden;background:var(--turquoise);color:var(--cream);padding:110px 6% 30px;isolation:isolate}.follow-sun{position:absolute;right:-10vw;top:-20vw;width:65vw;aspect-ratio:1;border-radius:50%;background:var(--yellow);z-index:-2}.follow-palm{position:absolute;width:26vw;height:65vw;max-height:750px;right:-8vw;top:40px;transform:rotate(-14deg);opacity:.15;z-index:-1}.follow-main{display:grid;grid-template-columns:1.25fr 1fr;gap:8vw;align-items:center;position:relative}.follow-main h2{font-size:clamp(90px,13vw,205px);line-height:.82;color:var(--ocean)}.follow-copy{max-width:350px}.follow-copy p{color:var(--ocean);font-size:22px;line-height:1.5;margin-bottom:25px}.follow-copy small{color:var(--ocean)}.button-large{min-height:65px;font-size:18px;padding:20px 30px}.social-area{margin-top:110px}.social-area>p{font-size:15px;margin-bottom:25px}.social-links{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:26px}.social-links>a,.social-soon{position:relative;border-top:1px solid #fff1ce80;padding:24px 0;display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-family:'Barlow Condensed',Arial,sans-serif;font-size:30px;font-weight:600;min-height:85px}.social-links a>span{margin-left:auto}.social-links small{font-family:Arial,sans-serif;font-size:10px;font-weight:400}.social-soon{opacity:.75}.social-soon small{border:1px solid currentColor;border-radius:20px;padding:6px 9px;margin-left:auto}footer{margin-top:85px;border-top:1px solid #fff1ce60;padding-top:35px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.footer-brand{font-family:'Bowlby One SC',Impact,sans-serif;font-size:30px;letter-spacing:-1.5px;text-transform:uppercase}.footer-links{display:flex;flex-wrap:wrap;gap:25px;align-items:center;font-size:11px}.motion-toggle{color:inherit;border:1px solid #fff1ce70;border-radius:20px;background:transparent;padding:9px 12px;font-size:11px}.motion-toggle[hidden]{display:none}footer>p{font-size:10px;opacity:.8;grid-column:1/-1}.legal-page{background:var(--cream)}.legal-page main{max-width:800px;margin:auto;padding:70px 25px}.legal-page h1{font-family:'Barlow Condensed',sans-serif;font-size:55px;line-height:1.1;margin:45px 0}.legal-page h2{font-size:30px;margin:30px 0 15px}.legal-page p{font-size:17px;line-height:1.8}
/* Motion is a progressive enhancement, never required to reach content. */
.motion .hero-scene{height:210svh}.motion .hero-stage{position:sticky;top:0;height:100svh;min-height:650px}.motion .portal-scene{height:230svh}.motion .portal-stage{position:sticky;top:0;height:100svh;min-height:650px}.motion .portal-first,.motion .portal-last{top:32%}.motion .portal-last{opacity:0;visibility:hidden}.motion .portal-image{clip-path:inset(14% 8% 14% 8% round 250px)}.motion .gallery-scene{height:320svh}.motion .gallery-stage{position:sticky;top:0;height:100svh;min-height:700px;padding-top:115px}.motion .gallery-progress{position:absolute;left:0;right:0;bottom:35px}.motion .gallery-track{will-change:transform}.motion .shot img{height:60svh;max-height:650px}
body:not(.motion) .portal-stage{min-height:1200px}body:not(.motion) .portal-last{top:auto;bottom:8%}body:not(.motion) .gallery-track{display:grid;width:100%;grid-template-columns:repeat(3,1fr);gap:35px;padding:0 5%}body:not(.motion) .gallery-intro{width:auto;grid-column:1/-1;display:flex;gap:5vw;align-items:center}body:not(.motion) .gallery-intro h2{font-size:70px}body:not(.motion) .gallery-intro p{margin:0}body:not(.motion) .gallery-arrow{display:none}body:not(.motion) .shot{width:auto;transform:none}body:not(.motion) .shot img{height:65svh}body:not(.motion) .gallery-progress{display:none}
@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-3px)}.header-of:hover,.button-dark:hover{background:#22575d}.text-link:hover{opacity:.75}.social-links a:hover{color:var(--yellow)}.site-header nav a:hover{opacity:.65}}
@media(min-width:1800px){.hero-copy{left:8%}.hero-aside{right:8%}.hero-title{font-size:11.6vw}.hero-person{height:94%}}
@media(max-width:1050px){.site-header nav{gap:20px}.hero-copy{max-width:31%}.hero-motto{font-size:39px}.hero-aside{right:4%;width:21%}.hero-aside p{font-size:15px}.hero-person{height:84%;bottom:-6%}.hero-title{top:23%}.sun-disc{top:40%;width:54vw}.hero-copy .button{padding:16px 19px;font-size:13px}.hero-stamp{font-size:20px}.portal-first,.portal-last{right:5%;width:40%}.gallery-intro{width:35vw}.shot{width:43vw}.book-section{padding:100px 6%;gap:5vw}.book-art{min-height:440px}.book-object{width:72%}.social-links{gap:20px}.social-links>a,.social-soon{font-size:25px}footer{grid-template-columns:1fr}.footer-links{gap:20px}.follow-copy p{font-size:20px}}
@media(max-width:700px){html{scroll-padding-top:74px}.site-header{height:74px;padding:0 5%}.brand{font-size:18px}.site-header nav{display:none}.header-actions{gap:15px}.language{font-size:11px;gap:4px}.header-of{font-size:12px;min-height:40px;padding:12px 15px}.header-of svg{width:14px;height:14px}.hero-stage{min-height:800px;height:110svh}.motion .hero-stage{min-height:680px;height:100svh}.hero-title{font-size:18vw;top:16%;line-height:.86;white-space:normal;width:92%;left:4%;max-width:500px;letter-spacing:-.065em;text-align:left;z-index:2}.hero-person{height:73%;left:66%;bottom:9%;max-width:none}.sun-disc{width:95vw;left:68%;top:35%;transform:translate(-50%,0)}.hero-copy{left:6%;top:auto;bottom:12%;max-width:none;z-index:7}.hero-motto{font-size:clamp(33px,8vw,43px);line-height:1;max-width:48vw;margin-bottom:22px;color:var(--cream);text-shadow:0 2px 12px #123b4040}.hero-copy .button{font-size:14px;min-height:53px;padding:17px 22px}.hero-copy small{color:var(--cream);font-size:10px;margin-top:13px}.hero-aside{right:auto;left:6%;top:40%;width:32%;z-index:5}.hero-aside .little-sun{font-size:38px}.hero-aside p{font-size:12px;line-height:1.45;margin:13px 0}.hero-aside .text-link{display:none}.hero-stamp{font-size:16px;right:7%;bottom:4%;color:var(--cream)}.hero-bottom{bottom:4%;left:6%;font-size:10px}.horizon{height:42%;z-index:3;opacity:1}.palm-left{width:38%;left:-20%;top:30%;height:40%}.palm-right{width:40%;right:-16%;top:26%;height:42%;opacity:.25}.hero-texture{opacity:.04}.motion .hero-scene{height:190svh}.portal-stage{height:110svh;min-height:800px}.motion .portal-stage{height:100svh;min-height:650px}.motion .portal-scene{height:230svh}.portal-image img{object-position:41% 50%}.portal-shade{background:linear-gradient(0deg,#171b1af2 0%,#171b1a90 30%,transparent 60%,#171b1a30)}.portal-first,.portal-last{left:7%;right:7%;width:auto;top:auto;bottom:13%;max-width:none}.motion .portal-first,.motion .portal-last{top:auto;bottom:11%}.portal-first h2,.portal-last h2{font-size:clamp(65px,17vw,95px)}.portal-first p,.portal-last p{font-size:15px;margin-top:20px;line-height:1.5;max-width:290px}.portal-note{top:14%;bottom:auto;left:7%;font-size:38px;line-height:1}.portal-last .button{margin-top:22px;font-size:14px}.portal-last small{font-size:10px;margin-top:15px}.motion .portal-image{clip-path:inset(10% 5% 10% 5% round 180px)}.gallery-stage{padding:105px 0 70px}.motion .gallery-stage{min-height:620px;padding-top:95px}.motion .gallery-scene{height:320svh}.gallery-top{padding:0 6%;gap:15px;margin-bottom:30px}.gallery-top>p{font-size:11px}.gallery-top .text-link{font-size:10px;gap:7px}.gallery-track{gap:10vw;padding:0 7vw}.gallery-intro{width:74vw}.gallery-intro h2{font-size:21vw}.gallery-intro p{font-size:17px;margin-top:25px}.gallery-arrow{font-size:80px;margin-top:25px}.shot{width:76vw}.shot img,.motion .shot img{height:58svh;max-height:570px;object-position:center 30%}.shot figcaption{font-size:26px}.motion .gallery-progress{bottom:27px}.book-section{grid-template-columns:1fr;padding:85px 7% 90px;gap:50px;min-height:0}.book-art{min-height:420px;width:100%;max-width:450px;margin:auto}.book-halo{max-width:400px;left:50%;transform:translate(-50%,-50%)}.book-object{width:57%;max-width:260px}.book-caption{margin-top:32px}.book-copy h2{font-size:19vw;margin-bottom:25px}.book-copy>p:not(.book-byline){font-size:16px}.book-byline{font-size:12px;margin-bottom:20px}.book-links .button{font-size:14px}.book-links{margin-top:25px;gap:17px}.follow-section{padding:80px 7% 28px}.follow-main{grid-template-columns:1fr;gap:35px}.follow-main h2{font-size:25vw;line-height:.88}.follow-copy{max-width:310px}.follow-copy p{font-size:18px;line-height:1.5;margin-bottom:25px}.button-large{font-size:16px;min-height:60px;padding:19px 26px}.follow-sun{width:130vw;right:-65vw;top:-24vw}.follow-palm{width:52vw;right:-16vw;top:15%;height:110vw}.social-area{margin-top:70px}.social-links{grid-template-columns:1fr 1fr;gap:5px 25px}.social-links>a,.social-soon{font-size:27px;min-height:95px;padding:18px 0}.social-links small{font-size:9px;flex-basis:100%}.social-links a>span{position:absolute;right:0;top:20px}.social-soon small{flex-basis:auto;margin-left:0}.social-area>p{font-size:14px}footer{margin-top:65px;padding-top:28px;gap:27px}.footer-brand{font-size:28px}.footer-links{gap:18px;font-size:11px;line-height:1.6}.footer-links a:last-child{flex-basis:100%}body:not(.motion) .portal-stage{min-height:1100px}body:not(.motion) .portal-first{top:32%;bottom:auto}body:not(.motion) .portal-last{bottom:10%}body:not(.motion) .gallery-track{grid-template-columns:1fr;padding:0 7%;gap:40px}body:not(.motion) .gallery-intro{display:block;margin-bottom:0}body:not(.motion) .gallery-intro h2{font-size:20vw}body:not(.motion) .gallery-intro p{margin-top:25px}body:not(.motion) .shot img{height:75svh;max-height:680px}.legal-page h1{font-size:44px}}
@media(max-width:360px){.header-actions{gap:10px}.header-of{padding:11px}.hero-motto{font-size:31px}.hero-aside p{font-size:11px}.hero-title{top:17%}.hero-person{height:66%;bottom:17%}.hero-copy .button{font-size:12px}.hero-stage,.motion .hero-stage{min-height:670px}.button-large{font-size:14px}.gallery-top>p{font-size:10px}}
@media(max-height:740px) and (min-width:701px){.hero-stage,.motion .hero-stage{min-height:640px}.hero-title{top:18%}.hero-person{height:94%;bottom:-18%}.hero-copy{top:49%}.hero-motto{font-size:39px;margin-bottom:20px}.hero-aside{top:45%}.hero-aside .little-sun{font-size:48px}.hero-aside p{font-size:15px}.portal-first h2,.portal-last h2{font-size:78px}.portal-first p,.portal-last p{font-size:15px;margin-top:20px}.motion .gallery-stage{min-height:640px}.motion .shot img{height:53svh}.gallery-top{margin-bottom:22px}.gallery-intro h2{font-size:78px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:opacity 160ms ease,background-color 160ms ease}.button:active{transform:none}.site-header{transition:none}}
/* Keep the mobile slogan compact beside the portrait. */
@media(max-width:700px){.hero-motto{font-size:clamp(28px,7.6vw,35px);max-width:58vw}.hero-copy{bottom:12%}}
/* Readable ink against the saturated beach palette. */
:root{--orange:#f45425;--ink:#031719}
.site-header:not(.scrolled),.hero-copy,.hero-aside{color:var(--ink)}
.hero-title{text-shadow:0 2px 0 #d53e1d}
.follow-section{color:var(--ink)}
.follow-main h2,.follow-copy p,.follow-copy small{color:var(--ink)}
.social-links>a,.social-soon{border-color:#03171970}
footer{border-color:#03171960}.motion-toggle{border-color:#03171970}
.social-soon{opacity:1}footer>p{opacity:1}
@media(max-width:700px){.hero-motto{text-shadow:2px 2px 0 var(--ocean);-webkit-text-stroke:.6px var(--ocean);paint-order:stroke fill}}
