@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{--ink:#082a2d;--deep:#061e21;--cream:#f4f0df;--lime:#d8e8b5;--muted:#b5c4bf;--line:rgba(220,239,224,.18);color-scheme:dark;font-family:'DM Sans',sans-serif;background:var(--ink);color:var(--cream)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #edcf8d;outline-offset:5px}button{color:inherit}::selection{background:var(--lime);color:var(--ink)}.skip{position:absolute;left:16px;top:-70px;z-index:30;background:var(--cream);color:var(--ink);padding:15px}.skip:focus{top:12px}.header{position:absolute;z-index:5;top:0;left:0;width:100%;height:112px;padding:0 5.4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center}.brand svg{width:41px;height:43px;fill:var(--lime);stroke:var(--lime);stroke-width:2.4;stroke-linecap:round}.brand>span{font-family:'Manrope',sans-serif;font-size:42px;font-weight:600;letter-spacing:-3px;line-height:1}.brand-small{display:block;letter-spacing:5px;font-size:9px;line-height:1.8;margin-left:5px}.header nav{display:flex;gap:35px;align-items:center;font-size:13px}.header nav>a{position:relative}.header nav>a:after{content:'';position:absolute;left:0;right:100%;height:1px;background:var(--lime);bottom:-8px;transition:right .3s}.header nav>a:hover:after{right:0}.contact-link{border:1px solid #85958b;border-radius:40px;padding:14px 22px;background:transparent;transition:background .25s,color .25s}.contact-link:hover{background:var(--cream);color:var(--ink)}.contact-link span{margin-left:20px;font-size:19px}.hero{min-height:840px;min-height:max(820px,100svh);position:relative;overflow:hidden;background:#061f25;isolation:isolate}.hero-scene{position:absolute;inset:0;z-index:-1;overflow:hidden}.hero-art{height:100%;width:100%;object-fit:cover;object-position:65% center;animation:world-breathe 22s ease-in-out infinite alternate;will-change:transform}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,23,29,.68),rgba(2,23,29,.3) 35%,transparent 65%),linear-gradient(0deg,#06292c 0%,transparent 23%,transparent 85%,#071e2366)}.hero-content{padding:200px 5.4% 155px;position:relative;max-width:870px;animation:arrive 1.4s both}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.1px;line-height:1.8}.hero .eyebrow{color:var(--lime)}.spark{display:inline-block;font-size:17px;margin-right:10px;animation:twinkle 5s ease-in-out infinite}h1,h2,p{margin:0}h1{font-family:'Manrope',sans-serif;font-size:clamp(66px,6.8vw,108px);line-height:1.02;letter-spacing:-5.5px;font-weight:500;margin:31px 0 28px}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1 em{color:var(--lime)}.hero-content>p{font-size:16px;line-height:1.8;color:#d4ddd7;font-weight:400}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;padding:17px 26px;border:0;border-radius:40px;font-size:13px;font-weight:600;transition:transform .25s,box-shadow .25s}.button:hover{transform:translateY(-3px);box-shadow:0 6px 35px #d8e8b530}.cream{background:var(--cream);color:var(--ink)}.hero .button{margin-top:29px}.button span{font-size:23px;font-weight:400;line-height:1}.hero-note{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:1.9px;margin-top:37px;color:#c3cfc5}.tiny-line{width:30px;height:1px;background:#a0b7a2}.hero-bottom{position:absolute;bottom:29px;left:5.4%;right:5.4%;display:flex;justify-content:space-between;align-items:center;color:#c3d0c6;font-size:9px;letter-spacing:1.5px}.scroll-cue{display:flex;gap:17px;align-items:center}.scroll-cue>span{border:1px solid #92a99a66;border-radius:50%;width:32px;height:42px;display:grid;place-items:center;font-size:16px;animation:nudge 3s infinite}.hero-bottom button{background:#092c31aa;border:1px solid #b0ccbb50;padding:10px 14px;border-radius:30px;color:#e2e8df;font-size:10px}.scene-caption{position:absolute;right:6%;bottom:131px;font-size:8px;letter-spacing:1.8px;line-height:2.1}.caption-sub{display:block;color:#c5d2c5;font-size:9px;letter-spacing:.6px;margin-left:16px}.live-dot{display:inline-block;width:5px;height:5px;background:var(--lime);border-radius:50%;margin-right:10px;box-shadow:0 0 12px #f0e2a1}.light-halo{position:absolute;inset:8% 4% 30% 60%;background:radial-gradient(ellipse,#fcb85c33,transparent 68%);mix-blend-mode:screen;animation:halo 7s ease-in-out infinite alternate;pointer-events:none}.fireflies{position:absolute;inset:0;pointer-events:none}.firefly{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffdd88;box-shadow:0 0 10px 3px #ffc66066;animation:float-light var(--duration) ease-in-out infinite alternate;animation-delay:var(--delay)}.ribbon{overflow:hidden;background:var(--lime);color:var(--ink);padding:19px 0}.ribbon-track{display:flex;width:max-content;gap:42px;align-items:center;animation:marquee 38s linear infinite}.ribbon span{font-size:10px;letter-spacing:2.5px;font-weight:700}.ribbon i{font-style:normal;font-size:22px;line-height:1}.section-pad{padding:100px 5.4%}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:44px;gap:30px}.section-heading .eyebrow,.studio .eyebrow{color:#b4c8ba}h2{font-family:'Manrope',sans-serif;font-size:clamp(36px,4vw,62px);font-weight:500;line-height:1.12;letter-spacing:-2.5px;margin-top:20px}h2 em{color:var(--lime)}.section-heading>p{font-size:13px;color:#bccbc3;line-height:1.9;margin-bottom:5px}.world-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.world-card{position:relative;min-width:0;border:0;background:#153937;padding:0;aspect-ratio:3/4.05;overflow:hidden;border-radius:3px;text-align:left;isolation:isolate;transform-style:preserve-3d}.world-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#021f26ef,transparent 70%),linear-gradient(180deg,#03232b66,transparent 25%);z-index:-1;pointer-events:none}.world-card img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;z-index:-2;transition:transform 1s,filter .6s;filter:saturate(.85)}.world-card:nth-child(2) img{object-position:78% center}.world-card:hover img,.world-card:focus-visible img{transform:scale(1.075);filter:saturate(1.15)}.card-top{position:absolute;top:24px;left:24px;right:24px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.3px}.card-top>span:first-child{font-size:11px}.card-copy{position:absolute;bottom:32px;left:28px}.card-title{font-family:'Manrope',sans-serif;display:block;font-size:33px;letter-spacing:-1px;font-weight:500;margin-bottom:12px}.card-desc{font-size:12px;color:#d1dbd1;line-height:1.7}.card-arrow{position:absolute;bottom:30px;right:24px;width:41px;height:41px;border:1px solid #d5e4b557;border-radius:50%;display:grid;place-items:center;font-size:22px;transition:background .3s,color .3s}.world-card:hover .card-arrow{background:var(--lime);color:var(--ink)}.art-credit{color:#a0b7ac;font-size:10px;margin-top:20px;letter-spacing:.3px}.studio{display:grid;grid-template-columns:1fr 1.15fr;gap:9%;background:#0b3031;border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;overflow:hidden}.studio-copy h2{font-size:clamp(32px,3.2vw,48px);line-height:1.2}.studio-copy p{max-width:530px;font-size:14px;line-height:1.95;color:#b6c9bf;margin-top:23px}.text-link{display:inline-flex;gap:25px;border-bottom:1px solid #b5caac77;padding:12px 0;font-size:12px;margin-top:24px;color:var(--lime)}.text-link span{font-size:19px}.studio-art{min-height:370px;position:relative;display:grid;place-items:center;background:radial-gradient(circle,#6a987525 0%,transparent 65%)}.seed{width:165px;height:165px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 32% 26%,#d8e7b9,#759773 38%,#264c43 66%,#133632 80%);box-shadow:inset -15px -10px 30px #011e2b,0 0 75px #d3eab012;animation:seed-float 6s ease-in-out infinite alternate}.seed svg{width:78px;fill:none;stroke:#e1ebc9;stroke-width:1.7;stroke-linecap:round;filter:drop-shadow(0 1px 8px #f4f0df44)}.orbit{position:absolute;border:1px solid #c0d6af30;border-radius:50%;width:320px;height:320px}.orbit:before{content:'';position:absolute;top:15%;left:12%;width:10px;height:10px;background:var(--lime);box-shadow:0 0 14px #b5caac;border-radius:50%}.orbit-one{animation:orbit 32s linear infinite}.orbit-two{width:230px;height:230px;border-style:dashed;animation:orbit 45s linear infinite reverse}.orbit-two:before{width:6px;height:6px;background:#dca77f}.orbit-label{position:absolute;font-size:9px;letter-spacing:2px;color:#b8cab7;background:#0b3031;padding:7px}.label-one{top:10%;left:13%}.label-two{right:8%;top:48%}.label-three{bottom:7%;left:25%}.invitation{position:relative;overflow:hidden;min-height:510px;display:flex;align-items:center;background:#0a282b}.invitation>div.reveal{position:relative;z-index:1}.invitation .eyebrow{color:var(--lime)}.invitation h2{font-size:clamp(64px,7.4vw,112px);line-height:1.03;letter-spacing:-5px}.invitation p{font-size:14px;line-height:1.9;color:#b8c9bd;margin:26px 0}.invitation-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 80% 80%,#60846f24,transparent 55%)}.invitation-star{position:absolute;right:12%;top:12%;font-size:300px;color:#d8e8b5;transform:rotate(10deg);animation:star-drift 12s ease-in-out infinite alternate;text-shadow:0 0 90px #d1e7ac25;line-height:1.4}footer{border-top:1px solid var(--line);padding:33px 5.4%;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:10px;color:#a4b9ae;background:var(--deep)}.footer-brand{font-size:30px;letter-spacing:-2px;color:var(--cream)}.footer-brand span{font-size:8px;letter-spacing:2px;margin-left:12px}.back-top{color:var(--lime)}dialog{border:1px solid #65806e66;padding:0;background:var(--ink);color:var(--cream);width:min(880px,92vw);max-height:90svh;overflow:auto;border-radius:12px;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#00191edb;backdrop-filter:blur(10px)}dialog[open]{animation:arrive .35s ease both}dialog>img{display:block;width:100%;height:260px;object-fit:cover}.dialog-content{padding:36px}.dialog-content h2{margin:13px 0 20px}.dialog-content>p{color:#c1cfc5;line-height:1.8}.dialog-content ul{padding:0;list-style:none;display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 30px}.dialog-content li{padding:7px 13px;border:1px solid var(--line);border-radius:25px;font-size:12px}.close-dialog{position:absolute;top:15px;right:15px;border:1px solid #e4ecd16b;background:#082a2deb;color:var(--cream);border-radius:50%;width:40px;height:40px;font-size:27px;z-index:2}.close-dialog:hover{background:var(--cream);color:var(--ink)}#enquiry-dialog{max-width:620px}form{display:grid;gap:20px;margin-top:28px}label{display:grid;gap:8px;font-size:12px}input,textarea,select{width:100%;background:#041e22;color:var(--cream);border:1px solid #a2bd9e55;border-radius:7px;padding:13px;resize:vertical}input::placeholder,textarea::placeholder{color:#91a89b}.form-note,#brief-status{font-size:11px;color:#b7c9ba;line-height:1.6}form .button{justify-self:start}body.dialog-open{overflow:hidden}.reveal{opacity:1}.js-motion .reveal:not(.revealed){opacity:0;transform:translateY(28px)}.reveal{transition:opacity .85s ease,transform .85s ease}.world-card:nth-child(2){transition-delay:.1s}.world-card:nth-child(3){transition-delay:.2s}body.motion-paused *,body.motion-paused *:before,body.motion-paused *:after{animation-play-state:paused!important}body.motion-paused .hero-art{transform:none!important}body.motion-paused .reveal{opacity:1!important;transform:none!important;transition:none!important}body.motion-paused .world-card img{transition:none}html:has(body.motion-paused){scroll-behavior:auto}
@keyframes world-breathe{from{transform:scale(1.025) translate(0,0)}to{transform:scale(1.09) translate(-1%,-.5%)}}@keyframes arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes twinkle{50%{opacity:.5;transform:rotate(60deg)}}@keyframes halo{to{opacity:.5;transform:scale(1.13)}}@keyframes nudge{50%{transform:translateY(5px)}}@keyframes float-light{0%{opacity:0;transform:translate(0,15px)}30%{opacity:.9}100%{opacity:.15;transform:translate(35px,-70px)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes seed-float{to{transform:translateY(-13px) rotate(-5deg)}}@keyframes star-drift{to{transform:translateY(20px) rotate(40deg)}}
@media(min-width:1700px){.hero-content{padding-top:240px}.hero{max-height:1100px;min-height:960px}}@media(max-width:1050px){.hero-content{max-width:690px}.hero{min-height:800px}.scene-caption{display:none}.section-heading{align-items:start;flex-direction:column;gap:24px}.section-pad{padding:75px 5.4%}.card-copy{left:20px;bottom:25px}.card-title{font-size:28px}.card-arrow{right:15px;bottom:24px;width:34px;height:34px}.card-desc{max-width:160px;font-size:11px}.card-top{left:20px;right:20px;font-size:7px}.studio{gap:4%}.studio-art{transform:scale(.9)}.invitation-star{right:6%;font-size:250px}}@media(max-width:700px){.header{height:88px;padding:0 6%}.brand>span{font-size:34px}.brand svg{width:32px}.header nav{gap:0}.header nav>a{display:none}.contact-link{font-size:10px;padding:10px 14px}.contact-link span{margin-left:8px}.hero{min-height:810px}.hero-art{object-position:66% center;opacity:.83}.hero-shade{background:linear-gradient(90deg,#041e29d9,#041e2988 62%,#041e2944),linear-gradient(0deg,#082a2d,transparent 50%)}.hero-content{padding:162px 6% 160px}.hero .eyebrow{font-size:8px;letter-spacing:1.3px}h1{font-size:clamp(53px,12.5vw,79px);letter-spacing:-3px;line-height:1.06;margin-top:27px}.hero-content>p{font-size:14px}.hero-note{font-size:8px;letter-spacing:1px;margin-top:30px}.hero-bottom{left:6%;right:6%}.hero-bottom,.hero-bottom button{font-size:8px}.section-pad{padding:68px 6%}.ribbon{padding:16px 0}h2{font-size:38px;letter-spacing:-1.6px}.section-heading>p br{display:none}.world-grid{grid-template-columns:1fr;gap:22px}.world-card{aspect-ratio:1/1.05}.card-title{font-size:38px}.card-top{font-size:9px;top:23px;left:25px;right:25px}.card-copy{left:25px;bottom:28px}.card-desc{font-size:13px;max-width:none}.card-arrow{width:44px;height:44px;right:26px;bottom:30px}.world-card:nth-child(2),.world-card:nth-child(3){transition-delay:0s}.studio{grid-template-columns:1fr;gap:10px}.studio-art{min-height:325px;order:2;margin-top:28px}.studio-copy h2{font-size:35px}.studio-copy p{font-size:13px}.invitation{min-height:500px}.invitation h2{font-size:72px;letter-spacing:-3px}.invitation p{max-width:290px;font-size:13px}.invitation p br{display:none}.invitation-star{font-size:160px;right:-48px;top:25%;opacity:.45}footer{flex-wrap:wrap;padding:28px 6%;font-size:9px;gap:23px}footer>*{flex-basis:42%}.footer-brand{font-size:27px}footer>span:first-of-type{text-align:right}.back-top{text-align:right}.dialog-content{padding:28px 23px}dialog>img{height:200px}.dialog-content h2{font-size:37px}.dialog-content>p{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal:not(.revealed){opacity:1;transform:none}.hero-art{transform:none!important}}
/* Blend the supplied photographic master without changing the logo artwork. */
.studio-art .label-two{top:18%;right:5%}
.brand-logo,.studio-logo{display:block;height:auto;object-fit:contain;mix-blend-mode:screen;mask-image:radial-gradient(ellipse at center,#000 42%,transparent 73%)}
.brand{mix-blend-mode:screen;flex-shrink:0}.brand-logo{width:250px}.studio-logo{position:relative;width:min(100%,440px);z-index:1}.footer-brand{mix-blend-mode:screen}.footer-brand .brand-logo{width:210px}.header{height:132px;background:linear-gradient(180deg,rgba(5,10,18,.78),rgba(5,10,18,.2));border-bottom-color:rgba(243,233,201,.12)}
@media(max-width:700px){.header{height:112px;padding-inline:4%}.brand-logo{width:190px}.footer-brand .brand-logo{width:170px}.header nav .contact-link{max-width:145px}.studio-logo{width:min(100%,360px)}}
@media(max-width:360px){.brand-logo{width:165px}.header nav .contact-link{max-width:130px}}
