@font-face{font-family:Anton;src:url('/assets/fonts/Anton-Regular.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:Manrope;src:url('/assets/fonts/Manrope-Variable.ttf') format('truetype');font-display:swap;font-weight:400 800}
:root{--ink:#0b100b;--black:#0a0d0a;--paper:#f1eedf;--yellow:#f6d329;--green:#177b38;--forest:#123d24;--red:#e63b24;--muted:#bfc4b6;--line:rgba(241,238,223,.22);--display:Anton,Impact,'Arial Narrow',sans-serif;--body:Manrope,Arial,sans-serif;--gutter:max(clamp(1.25rem,5.2vw,6rem),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));--ease:cubic-bezier(.2,.7,.2,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--black);color:var(--paper);font:1rem/1.6 var(--body);overflow-x:clip}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--yellow);outline-offset:5px}::selection{background:var(--yellow);color:var(--black)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.07}h1,h2{text-transform:uppercase}h1{font-size:clamp(4.5rem,8.7vw,9rem);letter-spacing:-.018em}h1 em{color:var(--yellow);font-style:normal}.skip{position:fixed;top:1rem;left:1rem;transform:translateY(-180%);background:var(--yellow);color:var(--black);padding:.8rem 1.3rem;z-index:100}.skip:focus{transform:none}.site-header{height:6rem;display:flex;align-items:center;padding:0 var(--gutter);border-bottom:1px solid var(--line);background:var(--black)}.fallback-brand{font-family:var(--display);font-size:2.4rem;color:var(--yellow);text-decoration:none}.hero{position:relative;min-height:43rem;padding:4rem var(--gutter) 6rem;isolation:isolate}.hero-copy{max-width:53rem;position:relative;z-index:3}.eyebrow{font-size:.8rem;letter-spacing:.2em;font-weight:800;text-transform:uppercase;margin-bottom:1.3rem}.hero-copy>p:not(.eyebrow){max-width:34rem;margin-top:1.6rem;font-size:1.15rem}.noscript{padding:2rem var(--gutter)}

/* The grain is a light material layer, not text or a flattened page image. */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.028;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.rebrand-bar{background:#103e22;color:var(--paper);min-height:2.25rem;padding:.5rem 3.5rem;text-align:center;position:relative;font-size:.75rem;line-height:1.5}.rebrand-close{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:2.75rem;height:2.25rem;background:none;border:0;color:inherit;font-size:1.35rem}.site-header{position:sticky;top:0;z-index:25;height:5.5rem;gap:2rem;background:rgba(10,13,10,.96);backdrop-filter:blur(14px)}.brand{display:block;flex:none;width:225px;height:auto;line-height:0;text-decoration:none}.wordmark{display:block;width:100%;aspect-ratio:1875/516;background:var(--wordmark-color,var(--yellow));mask-image:url('/assets/wordmark-mask.webp');mask-mode:luminance;mask-repeat:no-repeat;mask-size:115.84% auto;mask-position:53.2% 53.3654%}.desktop-nav{display:flex;align-items:center;gap:clamp(1rem,1.75vw,2rem);margin-left:auto}.desktop-nav>a{font-size:.875rem;line-height:1.4;white-space:nowrap;text-decoration:none;position:relative;padding:1rem 0}.desktop-nav>a::after{position:absolute;content:"";height:2px;background:var(--yellow);bottom:.5rem;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .2s}.desktop-nav>a:hover::after,.desktop-nav>a:focus-visible::after{transform:scaleX(1)}.header-tools{display:flex;gap:1rem;align-items:center;flex:none}.language{display:inline-flex;align-items:center;gap:.45rem;font-size:.875rem;text-decoration:none;white-space:nowrap;min-height:2.75rem}.language span[aria-current]{color:var(--yellow);font-weight:800}.motion-control{height:2.75rem;width:2.75rem;border:1px solid var(--line);background:transparent;color:var(--paper);border-radius:50%;font-size:1rem;line-height:1}.motion-control:hover{border-color:var(--yellow);color:var(--yellow)}.menu-trigger{display:none;background:none;border:0;color:inherit;width:2.75rem;height:2.75rem;padding:.6rem}.menu-trigger span{display:block;height:2px;background:currentColor;margin:7px 0}.section-pad{padding-inline:var(--gutter)}
.hero{min-height:48rem;padding-top:3.6rem;padding-bottom:7.5rem;background:radial-gradient(ellipse at 96% 15%,#154321 0%,transparent 34%),var(--black);overflow:clip}.hero::after{position:absolute;content:"";width:45%;height:1px;top:2rem;left:var(--gutter);background:linear-gradient(90deg,var(--line),transparent)}.hero-copy{width:58%;max-width:52rem}.hero-copy .eyebrow{font-size:.8rem;letter-spacing:.19em;position:relative;margin-bottom:1.65rem;max-width:100%}.hero-copy .eyebrow>span{width:3rem;height:5px;background:var(--red);position:absolute;left:0;bottom:-.8rem;transform:rotate(-3deg)}.hero h1>span,.hero h1>em{display:block;width:max-content;max-width:100%}.hero h1>em{margin-top:.04em}.hero-copy>.hero-lead{font-size:clamp(1rem,1.25vw,1.22rem);line-height:1.5;max-width:34rem;margin-top:1.8rem;font-weight:600}.hero-copy>.hero-sub{font-size:.875rem;max-width:35rem;margin-top:.7rem;color:#d3d5cb}.button{display:inline-flex;justify-content:center;align-items:center;gap:1.35rem;text-decoration:none;border:0;border-radius:999px;background:var(--yellow);color:var(--black);font-size:.9375rem;font-weight:800;min-height:3.6rem;padding:1rem 1.7rem;line-height:1.5;text-align:left;position:relative;transition:background .2s,transform .25s var(--ease),box-shadow .25s}.button:hover{background:#ffe74e;transform:translateY(-3px);box-shadow:0 7px 0 #00000025}.button:active{transform:translateY(0);box-shadow:none}.arrow{display:inline-block;font-size:1.65rem;line-height:1;flex:none;font-family:Arial,sans-serif;font-weight:400;transition:transform .3s var(--ease)}.button:hover .arrow,.text-button:hover .arrow{transform:translate(3px,-3px)}.hero .button{margin-top:1.7rem}.scroll-cue{display:flex;align-items:center;gap:1.1rem;width:max-content;font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;color:var(--muted);margin-top:2rem}.scroll-cue>span{font:3rem/1 var(--body);color:var(--paper)}.scroll-cue:hover{color:var(--yellow)}
.hero-art{position:absolute;z-index:1;right:-7%;top:1%;width:min(75vw,75rem);height:92%;transform:translate3d(var(--move-x,0px),var(--move-y,0px),0);pointer-events:none}.raven-window{position:absolute;top:2%;right:0;width:100%;aspect-ratio:1.63;overflow:hidden;mask-image:linear-gradient(to bottom,#000 76%,transparent 99%);mix-blend-mode:lighten}.raven-window img{width:100%;height:auto;max-width:none;transform:translateY(-3%)}.hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--black),transparent 28%);pointer-events:none}.hero-halo{position:absolute;right:7%;top:2%;width:67%;aspect-ratio:1;border:2px solid #3e8c3c;border-radius:50%;transform:translate3d(var(--halo-x,0px),var(--halo-y,0px),0) rotate(var(--halo-rotate,-18deg)) scale(var(--halo-scale,1))}.red-mark{position:absolute;width:5.5rem;height:1.3rem;right:16%;top:8%;background:var(--red);transform:translate3d(var(--mark-x,0px),var(--mark-y,0px),0) rotate(var(--mark-rotate,13deg));z-index:2;clip-path:polygon(2% 10%,98% 0,92% 80%,3% 100%)}.hero-note{position:absolute;right:16%;bottom:20%;font-family:var(--display);font-size:clamp(1.4rem,2.7vw,2.5rem);line-height:1.1;text-transform:uppercase;transform:translate3d(var(--note-x,0px),var(--note-y,0px),0) rotate(var(--note-rotate,-10deg));z-index:3;color:var(--paper);letter-spacing:.01em}.hero-copy::before{content:"";position:absolute;inset:-1.5rem -1.25rem -1rem;z-index:-1;background:linear-gradient(90deg,rgba(10,13,10,.92),rgba(10,13,10,.52) 55%,transparent);pointer-events:none}
.ticker{position:relative;z-index:5;background:var(--yellow);color:var(--black);transform:rotate(-3deg);width:104%;margin:-2.5rem -2% 0;overflow:hidden;padding:.9rem 0;box-shadow:0 -2px 0 var(--black),0 2px 0 var(--black)}.ticker-track{display:flex;width:max-content;animation:ticker 32s linear infinite}.ticker-track>span{white-space:nowrap;font:clamp(2.5rem,4.7vw,5rem)/1.16 var(--display);text-transform:uppercase;display:flex;align-items:center;gap:2rem;padding-right:2rem}.ticker b{color:var(--red);font-family:var(--body);font-size:1.2em;line-height:.6}.ticker:hover .ticker-track{animation-play-state:paused}@keyframes ticker{to{transform:translateX(-25%)}}
.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:relative;padding-block:4rem 4.25rem;gap:0;background:radial-gradient(ellipse at 2% 0%,#123721,transparent 40%),var(--black)}.service{padding:1.6rem clamp(1.5rem,2.5vw,3rem) 2rem;position:relative;display:flex;flex-direction:column;min-width:0;scroll-margin-top:7rem;transition:transform .35s var(--ease),background .35s;border-top:1px solid var(--line)}.service-01{padding-left:0;padding-right:3rem}.service-02{color:var(--paper);background:#163d27;border:0;transform:rotate(-1.5deg);box-shadow:0 0 0 1px #467850;isolation:isolate}.service-02:hover,.service-02:focus-within{transform:rotate(0)}.service-03{padding-right:0;padding-left:3rem}.service-top{display:flex;align-items:center;gap:1.8rem;margin-bottom:1.2rem}.number{font:clamp(4.5rem,6.5vw,7.5rem)/1 var(--display);color:#53ac5a;letter-spacing:-.04em}.service-02 .number{color:#ff6548}.short-rule{height:5px;width:3rem;background:var(--red);transform:rotate(-8deg)}.service-02 .short-rule,.service-03 .short-rule{background:var(--yellow)}.service h2{font-size:clamp(1.65rem,2.4vw,2.6rem);text-transform:none;line-height:1.15;letter-spacing:-.01em;overflow-wrap:anywhere}.service-line{margin-top:1.35rem;font-size:1rem;line-height:1.7;min-height:5.1rem}.service-tag{display:inline-block;align-self:flex-start;font-size:.75rem;font-weight:700;border:1px solid var(--line);padding:.3rem .65rem;margin-top:1.2rem;text-transform:uppercase;letter-spacing:.08em}.service-02 .service-tag{border-color:#78ac7466;color:var(--yellow)}.service details{margin-top:1.25rem;margin-bottom:1.6rem;font-size:.875rem}.service details summary,.tourism-detail summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 0;min-height:2.75rem;list-style:none;border-bottom:1px solid var(--line);font-weight:700}.service details summary::-webkit-details-marker,.tourism-detail summary::-webkit-details-marker{display:none}.service-02 details summary{border-color:#a6c69d55}.service summary>span,.tourism-detail summary>span{font-size:1.6rem;line-height:1;transition:transform .2s}.service details[open] summary>span,.tourism-detail[open] summary>span{transform:rotate(45deg)}.service details p{padding-top:1rem;line-height:1.7}.service .care-detail{font-size:.8125rem;opacity:.82}.text-button{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:1rem 0 .7rem;min-height:3.25rem;background:none;border:0;border-bottom:2px solid var(--yellow);color:inherit;text-align:left;font-size:.875rem;font-weight:800;line-height:1.5;margin-top:auto}.service-02 .text-button:focus-visible{outline-color:var(--yellow)}
.tourism{position:relative;isolation:isolate;overflow:clip;min-height:40rem;display:flex;align-items:center;background:var(--forest);padding:4.5rem var(--gutter);scroll-margin-top:5.5rem}.tourism-picture{position:absolute;top:0;right:0;width:59%;height:100%;z-index:-1;overflow:hidden}.tourism-picture::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--forest),rgba(18,61,36,.72) 17%,rgba(18,61,36,.05) 62%)}.tourism-picture img{width:100%;height:100%;object-fit:cover;object-position:60% center}.orbit{position:absolute;left:-5%;top:-24%;height:146%;width:104%;border:2px solid var(--yellow);border-radius:50%;transform:rotate(18deg);opacity:.5}.tourism-copy{max-width:40rem;width:57%}.tourism h2{font-size:clamp(3rem,5.9vw,6.3rem);letter-spacing:-.02em;position:relative;display:inline-block;white-space:nowrap}.tourism h2::after{content:"";display:block;height:.3rem;background:var(--yellow);margin:.8rem 0 1.3rem;transform:rotate(-2deg);width:91%}.tourism h3{font-family:var(--body);font-weight:800;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.15;margin-bottom:1rem;letter-spacing:-.035em}.tourism-copy>p:not(.eyebrow):not(.tourism-note){font-size:1.1rem}.component-list{padding:0;margin:1.8rem 0 1.6rem;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;list-style:none;font-size:.875rem}.component-list li:not(:last-child)::after{content:"·";margin-left:1.2rem;color:var(--yellow)}.tourism-note{font-size:.75rem;max-width:29rem;margin-top:1.1rem;color:#e6eadc}.tourism-detail{max-width:31rem;margin-top:1rem;font-size:.875rem}.tourism-detail p{margin-top:1rem}.tourism-detail summary{width:max-content;min-width:11rem;gap:2rem}
.studio{padding-block:6rem;background:var(--black)}.studio-head{display:grid;grid-template-columns:1.2fr 1fr;column-gap:5rem;align-items:end}.studio-head>.eyebrow{grid-column:1/-1;color:var(--yellow)}.studio h2{font-size:clamp(3rem,5vw,5.6rem);letter-spacing:-.02em}.studio-intro{font-size:1.1rem;max-width:32rem;color:#d2d6ca;padding-bottom:.5rem}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:3.5rem;gap:3rem}.step{border-top:1px solid var(--line);padding-top:1.5rem;position:relative}.step-number{font-size:.75rem;color:var(--yellow);font-weight:800;letter-spacing:.1em}.step h3{font-size:2rem;margin:.7rem 0 1rem}.step p{font-size:.9375rem;line-height:1.8;color:#c7ccbe}.founder{font-size:.8125rem;color:var(--muted);margin-top:2.5rem}
.closing{background:var(--yellow);color:var(--black);padding-top:4.75rem;position:relative;overflow:clip}.closing::before{content:"";position:absolute;right:-3rem;top:-1.5rem;width:14rem;height:.65rem;background:var(--red);transform:rotate(-28deg)}.closing h2{font-size:clamp(3.2rem,6vw,6.5rem);line-height:1.12;letter-spacing:-.015em;max-width:71rem}.closing-row{display:flex;justify-content:space-between;align-items:center;gap:3rem;margin-top:2rem}.closing-row p{font-size:1.05rem;max-width:40rem}.button-dark{background:var(--black);color:var(--paper);flex:none}.button-dark:hover{background:#184c28}.closing button:focus-visible,.closing a:focus-visible{outline-color:var(--black)}footer{display:flex;gap:2rem;align-items:center;justify-content:space-between;border-top:1px solid #0b100b35;padding:2rem 0;margin-top:4.5rem;font-size:.75rem}.footer-brand{font-family:var(--display);font-size:1.9rem;color:var(--black);text-decoration:none;transform:rotate(-3deg)}footer .language span[aria-current]{color:var(--black);text-decoration:underline;text-underline-offset:.3rem}.footer-contact{background:none;border:0;border-bottom:1px solid #0b100b60;padding:.6rem 0;font-size:.875rem;font-weight:800;color:var(--black)}
.reveal-ready .reveal{opacity:0;translate:0 1.8rem;transition:opacity .7s var(--ease),translate .8s var(--ease)}.reveal-ready .reveal.is-visible{opacity:1;translate:0 0}.services .reveal:nth-child(2),.steps .reveal:nth-child(2){transition-delay:.08s}.services .reveal:nth-child(3),.steps .reveal:nth-child(3){transition-delay:.16s}.hero-copy .eyebrow,.hero h1,.hero-lead,.hero-sub,.hero .button{animation:enter .75s both var(--ease)}.hero h1{animation-delay:.06s}.hero-lead{animation-delay:.15s}.hero-sub{animation-delay:.2s}.hero .button{animation-delay:.25s}@keyframes enter{from{opacity:0;translate:0 1.2rem}to{opacity:1;translate:0 0}}
.modal-open{overflow:hidden}dialog{position:fixed;inset:0;border:1px solid var(--line);background:var(--paper);color:var(--black);padding:0;width:min(48rem,calc(100vw - 2rem));max-width:none;max-height:calc(100dvh - 2rem);overscroll-behavior:contain;box-shadow:0 2rem 10rem #0008;scrollbar-color:#727a60 var(--paper)}dialog::backdrop{background:rgba(0,0,0,.75);backdrop-filter:blur(6px)}dialog[open]{animation:dialogIn .25s var(--ease)}@keyframes dialogIn{from{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:none}}.dialog-top{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem 1rem 2.5rem;border-bottom:1px solid #0b100b25;position:sticky;top:0;background:var(--paper);z-index:2}.dialog-top>span{font-family:var(--display);font-size:1.5rem}.dialog-close{width:2.75rem;height:2.75rem;font-size:2rem;line-height:1;background:transparent;color:inherit;border:1px solid #0b100b40;border-radius:50%}.dialog-close:hover{background:var(--yellow)}.enquiry-content{padding:2rem 2.5rem 2.5rem}.enquiry-content>.eyebrow{font-size:.75rem;color:var(--forest)}.enquiry-content h2{font-size:clamp(2.5rem,5vw,4.1rem);line-height:1.1;letter-spacing:-.01em}.enquiry-intro{margin-top:1rem;max-width:33rem}.preview-note{font-size:.8125rem;background:#dcded1;border-left:3px solid var(--green);padding:.7rem 1rem;margin:1.5rem 0 2rem;line-height:1.6}dialog :is(a,button,input,textarea,select,summary):focus-visible{outline-color:var(--forest)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.field{margin-bottom:1.4rem}.field label{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;font-size:.9375rem;line-height:1.5;font-weight:800;margin-bottom:.45rem}.field label>span,legend>span{font-size:.75rem;font-weight:500;color:#5b6254;white-space:nowrap}.field input,.field textarea,.field select{display:block;width:100%;border:1px solid #7e8973;border-radius:0;background:#faf8ed;color:var(--black);padding:.9rem 1rem;min-height:3.25rem;font-size:1rem;line-height:1.5}.field input[aria-invalid="true"],.field textarea[aria-invalid="true"],.field select[aria-invalid="true"]{border:2px solid #a3221a}.field textarea{resize:vertical;min-height:6rem}.field small{display:block;margin-top:.4rem;color:#515949;font-size:.75rem;line-height:1.6}.field .field-error{color:#922419;font-weight:700}.field-error:empty{display:none}.branch-card{padding:1.5rem;background:#e2e5d5;margin:0 0 1.6rem;border-left:3px solid var(--green)}.branch-card h3{font-size:1.6rem;margin-bottom:1.2rem}.choice-fieldset{border:0;padding:0;margin:0 0 1.4rem;min-width:0}.choice-fieldset legend{font-size:.875rem;font-weight:800;padding:0;margin-bottom:.8rem}.choice-fieldset legend>span{margin-left:.5rem}.choices{display:flex;flex-wrap:wrap;gap:.65rem}.choice{position:relative;display:flex;min-width:0;cursor:pointer}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice>span{display:block;padding:.7rem .9rem;border:1px solid #6e7a61;font-size:.8125rem;line-height:1.6;background:var(--paper)}.choice input:checked+span{background:var(--forest);color:#fff;border-color:var(--forest)}.choice input:focus-visible+span{outline:3px solid var(--forest);outline-offset:3px}.branch-note{font-size:.75rem;line-height:1.7;color:#515949}.branch-card>.field:last-child{margin-bottom:0}.form-submit{width:100%;margin-top:.25rem}.error-summary{border:2px solid #a3221a;color:#89271c;padding:1rem;margin-bottom:1.4rem;font-weight:700;font-size:.875rem}.error-summary ul{padding-left:1.3rem;margin-bottom:0}.error-summary a{text-underline-offset:3px}.error-summary li+li{margin-top:.4rem}.brief-result h3{font-size:2.6rem;margin-bottom:1rem}.brief-result>p{line-height:1.8}.result-mark{display:grid;place-items:center;width:3.5rem;height:3.5rem;background:var(--green);color:#fff;border-radius:50%;font-size:2rem;margin:1rem 0 1.5rem}.brief-result dl{margin:1.5rem 0;border-top:1px solid #0b100b30;padding-top:1rem;overflow-wrap:anywhere}.brief-result dt{font-weight:800;font-size:.75rem;text-transform:uppercase;margin-top:1rem}.brief-result dd{margin:.4rem 0 0;white-space:pre-wrap}.button-outline{background:none;border:1px solid var(--black);color:var(--black)}[hidden]{display:none!important}
#mobile-menu{width:min(33rem,calc(100vw - 1.5rem));padding:1.5rem;background:var(--black);color:var(--paper)}.mobile-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:1rem;font-family:var(--display);font-size:1.8rem}.mobile-top .dialog-close{color:var(--paper);border-color:var(--line)}#mobile-menu nav{display:flex;flex-direction:column;padding:1.5rem 0}#mobile-menu nav>a{text-decoration:none;font-family:var(--display);font-size:clamp(1.5rem,6vw,2rem);line-height:1.25;padding:.7rem 0}#mobile-menu nav>a:hover{color:var(--yellow)}#mobile-menu .button{width:100%;font-size:.875rem}.mobile-bottom{margin-top:1.5rem}#mobile-menu :focus-visible{outline-color:var(--yellow)}
html[data-motion="paused"]{scroll-behavior:auto}html[data-motion="paused"] *,html[data-motion="paused"] *::before,html[data-motion="paused"] *::after{animation:none!important;transition:none!important}html[data-motion="paused"] .reveal{opacity:1;translate:0 0}html[data-motion="paused"] .hero-art{will-change:auto}html[data-visibility="hidden"] .ticker-track{animation-play-state:paused}
@media(min-width:1600px){.hero{min-height:54rem}.hero-art{right:-1%;width:70rem}.hero-copy{max-width:52rem}.services,.studio{padding-left:max(var(--gutter),calc((100vw - 1480px)/2));padding-right:max(var(--gutter),calc((100vw - 1480px)/2));}.site-header{gap:3rem}}
@media(max-width:1250px){.desktop-nav{display:none}.header-tools{margin-left:auto}.menu-trigger{display:block}.hero{min-height:43rem}.hero-art{width:80vw;right:-11%;top:5%}.hero h1{font-size:clamp(4rem,8.3vw,7rem)}.hero-copy{width:61%}.hero-copy>.hero-lead{max-width:29rem}.hero-copy>.hero-sub{max-width:27rem}.service-01{padding-right:2rem}.service-03{padding-left:2rem}.tourism-copy{width:61%}.studio-head{gap:3rem}}
@media(max-width:900px){:root{--gutter:max(2rem,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px))}.site-header{height:5rem}.hero{min-height:42rem;padding-top:3rem;padding-bottom:6rem}.hero-copy{width:68%}.hero-art{width:87vw;right:-19%;top:14%}.hero-note{display:none}.hero-copy .eyebrow{font-size:.75rem;letter-spacing:.11em;max-width:29rem}.hero-copy::before{background:linear-gradient(90deg,var(--black) 25%,rgba(10,13,10,.75) 66%,transparent)}.hero-copy>.hero-lead{font-size:1rem;max-width:27rem}.hero-copy>.hero-sub{max-width:26rem}.services{padding-top:3rem;padding-bottom:3rem}.service{padding-inline:1.15rem}.service-01{padding-left:0}.service-03{padding-right:0}.service h2{font-size:1.65rem}.service-line{font-size:.875rem}.service-tag{font-size:.75rem;letter-spacing:0}.text-button{font-size:.8125rem}.number{font-size:4.5rem}.service-top{gap:1rem}.short-rule{width:2rem}.tourism{min-height:39rem;padding-block:3.5rem}.tourism h2{font-size:4rem}.tourism-copy{width:70%}.tourism-picture{width:78%}.tourism-picture::after{background:linear-gradient(90deg,var(--forest),rgba(18,61,36,.88) 20%,rgba(18,61,36,.1) 100%)}.studio{padding-block:4.5rem}.studio-head{display:block}.studio-intro{margin-top:1.6rem}.studio h2{font-size:3.8rem}.steps{gap:1.5rem}.step h3{font-size:1.65rem}.closing-row{align-items:flex-start;flex-direction:column;gap:1.5rem}.closing h2{font-size:4.1rem}footer{flex-wrap:wrap;gap:1.25rem}footer>span{flex-basis:50%;order:3}footer .language{margin-left:auto}}
@media(max-width:640px){:root{--gutter:max(1.25rem,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px))}.rebrand-bar{padding:.6rem 2.6rem .6rem .9rem;font-size:.75rem;text-align:left;line-height:1.5}.rebrand-close{right:.1rem;height:2.75rem}.site-header{padding-inline:var(--gutter);gap:.25rem;height:4.8rem}.brand{width:155px;height:auto}.header-tools{gap:.3rem}.header-tools .language{font-size:.75rem;gap:.3rem}.motion-control{width:2.3rem;height:2.3rem;font-size:.875rem}.menu-trigger{width:2.5rem}.hero{padding-top:2.1rem;padding-bottom:3.8rem;min-height:0;display:flex;flex-direction:column;overflow:hidden}.hero-copy{width:100%;max-width:none}.hero-copy .eyebrow{font-size:.75rem;line-height:1.65;max-width:20rem;letter-spacing:.08em;margin-bottom:1.4rem}.hero h1{font-size:clamp(3.9rem,13vw,6rem);line-height:1.08;letter-spacing:-.018em;position:relative;z-index:4}.hero-copy>.hero-lead{font-size:1rem;max-width:28rem;margin-top:1.45rem}.hero-copy>.hero-sub{font-size:.8125rem;line-height:1.6;max-width:26rem;margin-top:.55rem}.hero .button{margin-top:1.3rem;font-size:.875rem;min-height:3.5rem;padding:.95rem 1.25rem;gap:1rem}.hero .scroll-cue{font-size:.75rem;margin-top:1.35rem;letter-spacing:.12em;position:relative;z-index:4}.scroll-cue>span{font-size:2.3rem}.hero-copy::before{inset:-1rem -1.25rem;background:linear-gradient(0deg,var(--black) 0,rgba(10,13,10,.9) 44%,rgba(10,13,10,.4) 70%,transparent)}.hero-art{position:relative;top:auto;right:auto;width:calc(100% + 2.5rem);height:auto;aspect-ratio:1.7;margin:0 -1.25rem -2.25rem;order:-1;transform:none!important}.raven-window{top:-17%;right:-4%;width:105%;aspect-ratio:1.63;mask-image:linear-gradient(#000 72%,transparent 99%)}.hero-art::after{background:linear-gradient(0deg,var(--black),transparent 29%);inset:-5% 0 -2rem}.hero-halo{width:68%;top:-20%;right:6%;opacity:.45}.red-mark{width:3rem;height:.6rem;right:10%;top:4%}.ticker{padding:.65rem 0;margin-top:-.6rem;transform:rotate(-3deg)}.ticker-track>span{font-size:2.5rem;gap:1rem;padding-right:1rem}.services{grid-template-columns:1fr;padding-top:2.5rem;padding-bottom:2.5rem;gap:1.7rem}.service,.service-01,.service-03{padding:1.8rem 1.25rem;min-height:0;border:1px solid var(--line)}.service-02{transform:rotate(-1deg);border:0;margin-inline:.15rem}.service-top{gap:1.2rem;margin-bottom:.8rem}.number{font-size:5rem}.service h2{font-size:2rem;line-height:1.15}.service-line{font-size:1rem;min-height:0;margin-top:1.1rem;max-width:30rem}.service-tag{margin-top:.85rem}.service details{font-size:.875rem;margin-bottom:.8rem}.service .text-button{font-size:.875rem;margin-top:.8rem}.tourism{padding:18rem var(--gutter) 3rem;min-height:0;display:block}.tourism-picture{width:100%;height:25rem;left:0;right:0;top:0}.tourism-picture img{object-position:50% center}.tourism-picture::after{background:linear-gradient(0deg,var(--forest) 2%,rgba(18,61,36,.78) 22%,rgba(18,61,36,.08) 73%)}.orbit{height:110%;top:-36%;left:-3%;width:100%;transform:rotate(5deg);opacity:.8}.tourism-copy{width:100%;max-width:none}.tourism .eyebrow{font-size:.75rem;letter-spacing:.12em}.tourism h2{font-size:clamp(2.9rem,12vw,4.8rem);white-space:normal}.tourism h3{font-size:2rem}.tourism-copy>p:not(.eyebrow):not(.tourism-note){font-size:1rem}.component-list{font-size:.8125rem;gap:.4rem .7rem;margin-top:1.3rem}.component-list li:not(:last-child)::after{margin-left:.7rem}.tourism .button{font-size:.875rem;padding-inline:1.2rem}.tourism-note{font-size:.75rem;line-height:1.7;max-width:22rem}.studio{padding-block:3.25rem}.studio h2{font-size:clamp(2.8rem,10.2vw,4rem)}.studio-intro{font-size:1rem;line-height:1.8}.steps{grid-template-columns:1fr;gap:1.7rem;margin-top:2rem}.step{display:grid;grid-template-columns:2rem 1fr;column-gap:1rem;padding-top:1rem}.step-number{padding-top:.4rem}.step h3{font-size:1.8rem;margin:0 0 .75rem}.step p{grid-column:2;font-size:.9375rem}.founder{font-size:.75rem;line-height:1.7;margin-top:2rem}.closing{padding-top:3.5rem}.closing h2{font-size:clamp(2.7rem,10.2vw,4rem);line-height:1.16;overflow-wrap:normal}.closing h2 br{display:none}.closing-row{margin-top:1.5rem;gap:1.5rem}.closing-row p{font-size:1rem}.closing .button{font-size:.875rem;padding-inline:1.3rem}footer{margin-top:3rem;padding-block:1.5rem;gap:.8rem}footer>span{flex-basis:100%;order:4}footer .language{margin-left:auto}.footer-contact{font-size:.8125rem}.footer-brand{font-size:1.8rem}.enquiry-content{padding:1.5rem 1.25rem 2rem}.dialog-top{padding:.8rem 1rem .8rem 1.25rem}.enquiry-content h2{font-size:2.5rem}.enquiry-intro{font-size:.9375rem}.field-grid{grid-template-columns:1fr;gap:0}.field label{font-size:.875rem}.field label>span{font-size:.75rem}.preview-note{font-size:.75rem;padding:.75rem;margin:1.25rem 0}.branch-card{padding:1.1rem}.branch-card h3{font-size:1.5rem}.choices{gap:.5rem}.choice>span{font-size:.8125rem;padding:.6rem .7rem}.choice-fieldset legend{font-size:.875rem}.form-submit{font-size:.9375rem}dialog{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}#mobile-menu{width:calc(100vw - 1rem)}}
@media(max-width:360px){.header-tools>.language{display:none}.motion-control{width:2.75rem;height:2.75rem}.menu-trigger{width:2.75rem}}
@media(prefers-reduced-motion:reduce){html:not([data-motion="on"]){scroll-behavior:auto}html:not([data-motion="on"]) *,html:not([data-motion="on"]) *::before,html:not([data-motion="on"]) *::after{animation:none!important;transition:none!important}html:not([data-motion="on"]) .reveal{opacity:1;translate:0 0}html:not([data-motion="on"]) .hero-art{will-change:auto;transform:none!important}}

/* D-046: clean shared lettering, handwritten rebrand notice and independent scroll layers. */
@font-face{font-family:Caveat;src:url('/assets/fonts/Caveat-Variable.ttf') format('truetype');font-weight:400 700;font-display:swap}
.rebrand-bar{font-family:Caveat,Manrope,sans-serif;font-size:1.375rem;font-weight:700;line-height:1.25;letter-spacing:.01em;padding-block:.45rem;min-height:2.75rem}
.rebrand-bar p{font:inherit}.rebrand-close{font-family:Manrope,Arial,sans-serif;height:2.75rem}
footer .footer-brand{--wordmark-color:var(--black);width:215px;height:auto;transform:none}
.hero-art[data-motion-active="true"]{will-change:transform}
.hero-art[data-motion-active="true"] :is(.hero-halo,.red-mark,.hero-note){will-change:transform}
.hero-note{transform-origin:50% 65%}
.hero-halo{z-index:1}
@media(max-width:900px){.hero-note{display:block;right:17%;bottom:14%;font-size:1.45rem}}
@media(max-width:640px){.rebrand-bar{font-size:1.1875rem;line-height:1.3;padding:.55rem 3rem .55rem 1rem}.rebrand-close{right:.2rem}.hero-note{right:7%;bottom:9%;font-size:1.2rem;line-height:1.12;max-width:10rem;text-shadow:0 2px 12px #000}.hero-halo{opacity:.7}footer .footer-brand{width:190px}}
html[data-motion="paused"] .hero-art,html[data-motion="paused"] .hero-art :is(.hero-halo,.red-mark,.hero-note){will-change:auto}

/* Mobile review: drawn icons, contained decoration and the shared brush wordmark. */
html{max-width:100%;overflow-x:clip;overscroll-behavior-x:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body,#app{width:100%;max-width:100%;min-width:0}main{min-width:0;max-width:100%;overflow:clip}
@supports not (overflow:clip){html{overflow-x:hidden}main{overflow:hidden}}
.icon-arrow{display:inline-block;width:1.45rem;height:1.45rem;flex:0 0 auto;vertical-align:middle;font-size:inherit}
.ticker-track .icon-arrow{width:1.1em;height:1.1em;color:var(--red)}
.scroll-cue .icon-arrow{width:1.5rem;height:2.5rem}.inline-link,.footer-contact{align-items:center;gap:.6rem}.inline-link .icon-arrow,.footer-contact .icon-arrow{width:1.05em;height:1.05em}
@media(max-width:640px){
 .site-header{position:-webkit-sticky;position:sticky;top:0;width:100%;max-width:100%;height:4.5rem;background:var(--black);-webkit-backdrop-filter:none;backdrop-filter:none;gap:.5rem}
 .header-brand{width:155px;min-width:0;flex:0 1 155px;height:auto}.header-brand .wordmark{display:block}
 .header-tools{margin-left:auto;gap:.5rem}.header-tools .language{display:inline-flex;font-size:.875rem}.motion-control,.menu-trigger{width:2.75rem;height:2.75rem}
 .hero-art{max-width:calc(100% + 2.5rem)}.hero-note{bottom:24%}.hero,.services,.tourism,.studio,.closing{min-width:0}
 .scope-paper,.type-stamp{max-width:100%}.button>span{min-width:0;overflow-wrap:break-word}
 input,textarea,select{font-size:1rem}.enquiry-content{overscroll-behavior:contain}
}
.services{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem}
.service,.service-01,.service-03{padding:2rem;min-height:0}
.service-04{background:#153923}.service-04 .number{color:var(--yellow)}
.media-network{background:#112c1c;padding-block:5rem;overflow:clip}
.network-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:1.5rem}
.network-grid h2{font-size:clamp(2.8rem,4.5vw,5rem);line-height:1.25;min-width:0}
/* Desktop disclosures keep their own card height and a stationary click target. */
@media(min-width:641px){.services{align-items:start}.service-02{transform:none}}
.network-grid p{line-height:1.8}.network-channels{display:flex;gap:.5rem;flex-wrap:wrap;list-style:none;padding:0;margin:1.4rem 0 2rem}
.network-channels li{border:1px solid #ececce50;padding:.4rem .75rem;font-size:.875rem}
.portal-link{display:inline-flex;margin-top:1rem;color:var(--yellow);font-weight:700;min-height:2.75rem;text-underline-offset:.3rem}
.network-grid .network-note{font-size:.75rem;opacity:.8;margin-top:1.5rem}
.client-section{padding-block:4rem;background:var(--black)}
.client-section h2{font:700 clamp(1.1rem,2vw,1.65rem)/1.4 var(--body);max-width:45rem;margin:.9rem 0 2.5rem}
.client-logos{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:1.6rem 2rem;list-style:none;padding:0;margin:0}
.client-logo{margin:0;flex:0 1 9rem;min-width:0;height:6rem;display:flex;align-items:center;justify-content:center;opacity:.68}
.client-logo img{width:var(--client-width,7rem);height:var(--client-height,5rem);max-width:100%;object-fit:contain;filter:brightness(0) invert(1)}
.client-logo.logo-detailed img{filter:grayscale(1);mix-blend-mode:screen}
.logo-carpe{--client-width:7rem;--client-height:4.6rem}
.logo-coral{--client-width:8.1rem;--client-height:4rem}
.logo-bowa{--client-width:7.4rem;--client-height:4rem}
.logo-vale{--client-width:6.6rem;--client-height:4rem}
.logo-bikers{--client-width:5.4rem;--client-height:5.4rem}
.logo-tui{--client-width:4.9rem;--client-height:4.7rem}
.logo-zrno{--client-width:6rem;--client-height:6rem}
.form-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.form-submit:disabled{opacity:.65;cursor:wait}.form-submit[aria-busy="true"] .icon-arrow{animation:none}
@media(max-width:640px){.services{grid-template-columns:1fr;gap:1.7rem}.service,.service-01,.service-03{padding:1.8rem 1.25rem}.network-grid{grid-template-columns:1fr;gap:1.5rem}.media-network{padding-block:3rem}.network-grid h2{font-size:2.8rem}.client-section{padding-block:3rem}.client-logos{gap:2rem 1.5rem}.client-logo{flex-basis:calc(50% - 1rem);max-width:150px}.client-logo img{height:70px}}

/* Lower-page accents use the shared scroll controller; copy never drifts. */
[data-scroll-scene] {--scene-x:0px;--scene-y:0px;--scene-r:0deg;--scene-scale:1}
[data-scroll-scene="service"] .short-rule{transform:translateX(calc(var(--scene-x) * .5)) rotate(calc(-8deg + var(--scene-r)))}
[data-scroll-scene="service"] .number{transform:translateY(calc(var(--scene-y) * .15))}
[data-scroll-scene="tourism"] .orbit{transform:translate(var(--scene-x),var(--scene-y)) rotate(calc(18deg + var(--scene-r))) scale(var(--scene-scale))}
[data-scroll-scene="tourism"] .orbit::after{content:"";position:absolute;top:20%;right:7%;width:clamp(2.8rem,6vw,6rem);height:.6rem;background:var(--red);transform:rotate(-28deg)}
.media-network{position:relative;isolation:isolate}
.media-network::before,.media-network::after,.closing::after{content:"";position:absolute;pointer-events:none;z-index:-1}
.media-network::before{width:clamp(17rem,42vw,40rem);aspect-ratio:1;right:-9rem;top:8%;border:2px solid #568456;border-radius:50%;opacity:.45;transform:translate(var(--scene-x),var(--scene-y)) scale(var(--scene-scale))}
.media-network::after{right:8%;top:9%;width:clamp(2.5rem,5vw,5rem);height:.5rem;background:var(--red);opacity:.85;transform:translate(calc(var(--scene-x) * -1),calc(var(--scene-y) * -1)) rotate(calc(-24deg + var(--scene-r)))}
.closing{isolation:isolate}
.closing::before{pointer-events:none;z-index:-1;transform:translate(var(--scene-x),calc(var(--scene-y) * .5)) rotate(calc(-28deg + var(--scene-r)))}
.closing::after{right:-8rem;bottom:-14rem;width:clamp(20rem,38vw,38rem);aspect-ratio:1;border:2px solid #245934;border-radius:50%;opacity:.5;transform:translate(calc(var(--scene-x) * -1),var(--scene-y)) scale(var(--scene-scale))}
@media(max-width:640px){[data-scroll-scene="tourism"] .orbit{transform:translate(var(--scene-x),var(--scene-y)) rotate(calc(5deg + var(--scene-r))) scale(var(--scene-scale))}}

/* Fixed viewport header, with an exact in-flow reservation after measurement.
   Without JavaScript the complete chrome remains an ordinary sticky block. */
.site-chrome{position:-webkit-sticky;position:sticky;top:0;z-index:25;width:100%;background:var(--black);padding-top:env(safe-area-inset-top,0px)}
.site-chrome .site-header{position:relative;top:auto;z-index:auto;-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--black)}
.site-chrome-space{display:none}
html[data-header-fixed="true"]{scroll-padding-top:calc(var(--site-chrome-height) + 1rem)}
html[data-header-fixed="true"] .site-chrome{position:fixed;top:0;left:0;right:0;width:auto}
html[data-header-fixed="true"] .site-chrome-space{display:block;height:var(--site-chrome-height);pointer-events:none}

/* Opaque paint continues above the header into the device/browser inset. */
html{background-color:var(--black)}
.site-chrome{isolation:isolate;overflow:visible}
.site-chrome::before{content:none}
.site-chrome .rebrand-bar{background-color:#103e22}
.closing{padding-bottom:env(safe-area-inset-bottom,0px)}
dialog{max-width:calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 1rem)}
@media(max-width:640px){
 .rebrand-bar{padding-left:max(1rem,env(safe-area-inset-left,0px));padding-right:calc(3rem + env(safe-area-inset-right,0px))}
 .rebrand-close{right:max(.2rem,env(safe-area-inset-right,0px))}
 .client-logos{gap:1.4rem 1.5rem}
 .client-logo{flex-basis:calc(50% - .75rem);max-width:150px;height:6rem}
 .client-logo img{height:var(--client-height,5rem)}
}

/* Preview07: a stationary mobile shell. Only main scrolls and its paint is
   clipped below the header; the document behind Safari chrome stays black. */
@media (max-width:900px), (hover:none) and (pointer:coarse){
 html.site-document{height:100%;overflow:hidden;overscroll-behavior:none}
 .site-page{height:100%;overflow:hidden;overscroll-behavior:none}
 .site-page #app{position:fixed;inset:0;display:flex;flex-direction:column;height:100%;height:100dvh;overflow:hidden;background:var(--black);padding-bottom:env(safe-area-inset-bottom,0px)}
 .site-page #app>.site-chrome{position:relative;inset:auto;width:100%;flex:0 0 auto;isolation:isolate}
 .site-page #app>.site-chrome-space{display:none}
 .site-page #app>main{flex:1 1 0;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;contain:paint;scroll-padding-top:1rem;scroll-behavior:smooth;background:var(--black)}
 .site-page.modal-open #app>main{overflow-y:hidden}
 html[data-motion="paused"] .site-page #app>main{scroll-behavior:auto}
}
@media (max-width:640px){
 /* Preview09 restores the original full-width raven above the large headline.
    Keep only the approved compact service lettering from Preview07. */
 .hero-copy .eyebrow{max-width:none;width:100%;font-family:var(--display);font-weight:400;font-size:clamp(.875rem,3.8vw,1.0625rem);letter-spacing:.025em;line-height:1.35;margin-bottom:1.6rem}
}
@media(prefers-reduced-motion:reduce){html:not([data-motion="on"]) .site-page #app>main{scroll-behavior:auto}}

/* The non-interactive title receives focus when the enquiry opens. Keep that
   reading position without Safari's automatic outline around the text. */
#enquiry-title{line-height:1.25}
#enquiry-title[tabindex="-1"]:focus{outline:none}

/* VISUAL02: one continuous dark surface under the header. The raven's own
   green circle remains; its rectangular image boundary fades into the base. */
.hero{background:var(--black)}
.raven-window{
 -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 76%,transparent 99%);
 mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 76%,transparent 99%);
}

/* Idle float is separate from the existing scroll transform. CSS runs it only
   while the hero is visible, motion is enabled and the document is foreground. */
.hero-note-float{display:block;animation:note-float 5.6s ease-in-out infinite;animation-play-state:paused;transform-origin:50% 60%}
@keyframes note-float{
 0%,100%{transform:translate3d(0,0,0) rotate(-1deg)}
 50%{transform:translate3d(0,-12px,0) rotate(1.5deg)}
}
html[data-motion="on"]:not([data-visibility="hidden"]) .hero-art[data-motion-active="true"] .hero-note-float{animation-play-state:running}
html[data-motion="paused"] .hero-note-float{animation:none;transform:none}
@media(prefers-reduced-motion:reduce){html:not([data-motion="on"]) .hero-note-float{animation:none;transform:none}}

/* Stationary articles keep layout and hover boundaries stable. Only their
   visual surface tilts; keyboard use and opened disclosures stay still. */
.services .service{display:block;padding:0;border:0;box-shadow:none;background:transparent;transform:none;--card-angle:-1.2deg}
.service-surface{display:flex;flex-direction:column;min-width:0;padding:2rem;border-top:1px solid var(--line);background:var(--black);transform-origin:50% 50%;transition:transform .32s var(--ease)}
.service-02 .service-surface{background:#163d27;border:0;box-shadow:0 0 0 1px #467850}
.service-04 .service-surface{background:#153923}
.services :is(.service-02,.service-04){--card-angle:1.2deg}
.service-02 .number,.service-03 .number{color:var(--yellow)}
.service-04 .number{color:#53ac5a}
@media(hover:hover) and (pointer:fine){
 html[data-motion="on"] .service:hover:not(:focus-within):not(:has(details[open])) .service-surface{transform:perspective(1000px) rotateX(1deg) rotateY(-1.5deg) rotateZ(var(--card-angle))}
}
@media(max-width:640px){
 .service-surface{padding:1.8rem 1.25rem;border:1px solid var(--line)}
 .service-02 .service-surface{border:0}
 @keyframes note-float{0%,100%{transform:translate3d(0,0,0) rotate(-1deg)}50%{transform:translate3d(0,-7px,0) rotate(1deg)}}
}
