/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-display:"Syne", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:"DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{scroll-behavior:smooth;background:var(--ink)}body{background:var(--paper);min-width:320px;color:var(--ink);font-family:var(--font-body);font-size-adjust:from-font;-webkit-font-smoothing:antialiased;margin:0}button,a{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:4px;outline:2px solid}main:focus{outline:none}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.mt-6{margin-top:calc(var(--spacing) * 6)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.gap-6{gap:calc(var(--spacing) * 6)}.whitespace-pre-line{white-space:pre-line}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@font-face{font-family:DM Sans;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/dm-sans-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/dm-sans-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Syne;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/syne-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Syne;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/syne-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#052a28;--sun:#fddc09;--paper:#fffdf5;--line:#052a2838;--scroll-progress:0}.app-shell{overflow:clip}.nav-contact,.submit-button{background:var(--sun);color:var(--ink);align-items:center;gap:22px;padding:14px 19px;font-weight:600;transition:gap .2s,transform .2s;display:flex}.nav-contact:hover,.submit-button:hover{gap:30px;transform:translateY(-2px)}.submit-button{background:var(--ink);color:var(--paper);margin-top:36px}.nav-contact svg,.text-link svg,.submit-button svg,.service-card>svg,.project-meta svg,.scroll-cue svg{width:18px;height:18px}.eyebrow{letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:11px;margin-bottom:28px;font-size:11px;font-weight:600;display:flex}.eyebrow:before{content:"";background:currentColor;width:26px;height:1px}.text-link{border-bottom:1px solid;align-items:center;gap:42px;padding:0 0 9px;font-size:14px;font-weight:600;transition:gap .22s;display:inline-flex}.text-link:hover{gap:56px}.dark-link{margin-top:38px}.picdrop-link{color:var(--paper);flex:none;margin-left:40px}.section-pad{padding:clamp(90px,12vw,180px) clamp(24px,8vw,130px);position:relative}.section-intro{max-width:820px}.section-intro.horizontal{justify-content:space-between;align-items:end;max-width:none;display:flex}.section-intro h2,.studio h2,.contact h2,.detail-cta h2{font-family:var(--font-display);letter-spacing:-.055em;font-size:clamp(42px,5.5vw,84px);font-weight:600;line-height:.98}.wave-transition{color:var(--ink);pointer-events:none;z-index:4;width:100%;height:clamp(76px,8vw,112px);position:absolute;top:0;left:0;overflow:visible;transform:translateY(-72%)}.wave-transition-shape{stroke:none;transform-origin:bottom;transition:transform .9s cubic-bezier(.16,1,.3,1),opacity .5s;transform:translateY(38px)}.wave-transition-paper .wave-transition-shape{fill:var(--paper)}.wave-transition-yellow .wave-transition-shape{fill:var(--sun)}.wave-transition-green .wave-transition-shape{fill:var(--ink)}.wave-transition-green{color:var(--paper)}.wave-layer{transform-box:fill-box;transform-origin:50%;will-change:transform}.wave-layer-back{animation:10s ease-in-out infinite alternate wave-idle-back}.wave-layer-front{animation:8s ease-in-out infinite alternate wave-idle-front}.is-scrolling .wave-layer{animation-play-state:paused}@keyframes wave-idle-back{0%{transform:translate(-10px)translateY(0)}to{transform:translate(12px)translateY(3px)}}@keyframes wave-idle-front{0%{transform:translate(11px)translateY(2px)}to{transform:translate(-12px)translateY(-2px)}}.wave-shape-back{opacity:.42;transition-delay:80ms}.wave-shape-front{opacity:.88;transition-delay:.17s}.wave-transition-line{fill:none;stroke:currentColor;stroke-dasharray:1250;stroke-dashoffset:1250px;stroke-linecap:round;stroke-width:1.7px;vector-effect:non-scaling-stroke;transition:stroke-dashoffset 1.2s cubic-bezier(.16,1,.3,1)}.wave-line-back{opacity:.42;transition-delay:.1s}.wave-line-front{transition-delay:.24s}.wave-transition.is-active .wave-transition-shape{opacity:1;transform:translateY(0)}.wave-transition.is-active .wave-transition-line{stroke-dashoffset:0}.reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(38px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.skip-link{background:var(--sun);color:var(--ink);letter-spacing:.08em;text-transform:uppercase;z-index:100;padding:12px 16px;font-size:12px;font-weight:600;transition:transform .18s;position:fixed;top:12px;left:16px;transform:translateY(-200%)}.skip-link:focus-visible{outline:2px solid var(--ink);outline-offset:3px;transform:translateY(0)}.logo{align-items:center;display:inline-flex}.logo-art{aspect-ratio:770/365;width:clamp(112px,10vw,142px);display:block;position:relative}.logo-art>img,.logo-waves{width:100%;height:100%;position:absolute;inset:0}.logo-wave{transform-box:fill-box;transform-origin:50%}.logo:hover .logo-wave-one,.logo:focus-visible .logo-wave-one{animation:1.3s ease-in-out infinite alternate logo-wave-drift-one}.logo:hover .logo-wave-two,.logo:focus-visible .logo-wave-two{animation:1.45s ease-in-out infinite alternate logo-wave-drift-two}.logo:hover .logo-wave-three,.logo:focus-visible .logo-wave-three{animation:1.35s ease-in-out infinite alternate logo-wave-drift-three}@keyframes logo-wave-drift-one{0%{transform:translate(-1px)}to{transform:translate(-11px,-6px)}}@keyframes logo-wave-drift-two{0%{transform:translate(0)}to{transform:translate(9px,3px)}}@keyframes logo-wave-drift-three{0%{transform:translateY(1px)}to{transform:translate(4px,11px)}}.menu-button{display:none}.scroll-cue{letter-spacing:.14em;text-transform:uppercase;writing-mode:vertical-rl;z-index:3;align-items:center;gap:13px;font-size:10px;display:flex;position:absolute;bottom:32px;left:clamp(24px,3vw,48px)}.scroll-cue svg{animation:1.6s ease-in-out infinite cue}@keyframes cue{50%{transform:rotate(90deg)translate(7px)}}.scroll-sheep{--sheep-progress:0;color:var(--paper);opacity:0;pointer-events:none;right:clamp(10px,2vw,30px);top:calc(19vh + var(--sheep-progress) * 53vh);transform:translateX(28px) rotate(calc(-5deg + var(--sheep-progress) * 10deg));z-index:20;align-items:center;transition:opacity .4s,transform .5s cubic-bezier(.2,.7,.2,1),top .25s linear;display:flex;position:fixed}.scroll-sheep.is-visible{opacity:.85;pointer-events:auto;transform:translateX(0) rotate(calc(-5deg + var(--sheep-progress) * 10deg))}.scroll-sheep:hover,.scroll-sheep:focus-visible{opacity:1}.scroll-sheep-inner{background:#052a28e0;border:1px solid #fffdf580;border-radius:50%;justify-content:center;align-items:center;width:clamp(53px,5.2vw,74px);height:clamp(53px,5.2vw,74px);animation:4.5s ease-in-out infinite sheep-float;display:flex;position:relative;overflow:hidden}.scroll-sheep-inner img{object-fit:contain;width:112%;height:112%;transform:scaleX(-1)}.scroll-sheep-inner svg{background:var(--sun);color:var(--ink);border-radius:50%;width:19px;height:19px;padding:4px;position:absolute;bottom:3px;right:3px}.scroll-sheep-label{background:var(--ink);color:var(--paper);letter-spacing:.09em;opacity:0;text-transform:uppercase;white-space:nowrap;margin-right:9px;padding:8px 10px;font-size:9px;font-weight:600;transition:opacity .2s,transform .2s;transform:translate(8px)}.scroll-sheep:hover .scroll-sheep-label,.scroll-sheep:focus-visible .scroll-sheep-label{opacity:1;transform:translate(0)}@keyframes sheep-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.site-header{background:var(--ink);color:var(--paper);z-index:30;justify-content:space-between;align-items:center;height:86px;padding:0 clamp(24px,5vw,80px);display:flex;position:relative}.main-nav{align-items:center;gap:clamp(18px,2.6vw,42px);font-size:13px;display:flex}.main-nav>a:not(.nav-contact),.main-nav>button:not(.nav-contact){position:relative}.main-nav>a:not(.nav-contact):after,.main-nav>button:not(.nav-contact):after{background:var(--sun);content:"";transform-origin:0;width:100%;height:2px;transition:transform .25s;position:absolute;bottom:-8px;left:0;transform:scaleX(0)}.main-nav>a:hover:after,.main-nav>a.active:after,.main-nav>button:hover:after,.main-nav>button.active:after{transform:scaleX(1)}.hero{background:var(--sun);grid-template-columns:minmax(0,1fr) minmax(410px,.8fr);min-height:calc(100svh - 86px);display:grid;position:relative;overflow:hidden}.hero-copy{z-index:2;align-self:center;padding:8vh 3vw 12vh clamp(24px,8vw,130px);position:relative}.hero h1,.detail-hero h1{font-family:var(--font-display);letter-spacing:-.06em;margin:0;font-size:clamp(32px,5vw,80px);font-weight:600;line-height:.94}.hero h1 .hero-line-keep{white-space:nowrap}.hero h1 .hero-outline{color:#0000;-webkit-text-stroke:2px var(--ink)}.hero-lead{max-width:520px;margin:42px 0 34px;font-size:clamp(17px,1.4vw,21px);line-height:1.5}.hero-art{align-self:end;max-width:700px;height:min(78vh,760px);margin-right:clamp(20px,5vw,80px);position:relative;transform:rotate(1.5deg)}.hero-art:before,.hero-art:after{content:"";border:1px solid #052a2873;position:absolute;inset:4% -2% -3% 4%;transform:rotate(-2deg)}.hero-art:after{inset:1% 3% 3% -3%;transform:rotate(1deg)}.hero-art img{object-fit:cover;z-index:1;width:100%;height:100%;position:relative}.art-stamp{background:var(--paper);border:1px solid var(--ink);font-family:var(--font-display);z-index:4;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:14px;font-weight:700;display:flex;position:absolute;top:8%;left:-32px;transform:rotate(-14deg)}.hero-caption{background:var(--paper);letter-spacing:.12em;text-transform:uppercase;z-index:3;align-items:center;gap:10px;padding:12px 17px;font-size:10px;font-weight:600;display:flex;position:absolute;bottom:4%;left:-30px}.hero-caption i{background:var(--sun);border-radius:50%;width:5px;height:5px}.services{background:var(--paper);min-height:140vh}.service-layout{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:clamp(60px,10vw,160px);margin-top:clamp(70px,10vw,140px);display:grid}.service-list{min-width:0}.service-card{border-top:1px solid var(--line);grid-template-columns:34px 1fr 20px;align-items:start;gap:28px;padding:38px 0 48px;display:grid}.service-card>span,.process-steps article>span,.detail-list article>span{letter-spacing:.13em;font-size:11px;font-weight:600}.service-card h3,.process-steps h3{font-family:var(--font-display);letter-spacing:-.04em;margin:-8px 0 14px;font-size:clamp(25px,2.3vw,38px);font-weight:600}.service-card p,.process-steps p{color:#052a28b8;max-width:480px;line-height:1.65}.service-card>svg{transition:transform .2s}.service-card:hover>svg{transform:translate(7px)}.traveler-column{position:relative}.traveler-frame{background:var(--sun);border-radius:calc(4px + var(--scroll-progress) * 100px);clip-path:polygon(7% 0,100% 4%,93% 96%,0 100%);height:min(64vh,620px);transform:translateY(calc(var(--scroll-progress) * 10vh)) rotate(calc(-3deg + var(--scroll-progress) * 8deg));transition:border-radius .12s linear;position:sticky;top:120px;overflow:hidden}.traveler-frame .fischer-svg{width:100%;height:100%;display:block}.traveler-frame img{filter:saturate(calc(.8 + var(--scroll-progress) * .7));object-fit:cover;height:115%;transform:scale(calc(1.02 + var(--scroll-progress) * .16)) translateY(calc(var(--scroll-progress) * -5%));width:100%}.traveler-frame img.product-figure{object-position:center center;height:100%}.projects{background:var(--sun)}.project-grid{grid-template-columns:1.22fr .78fr;align-items:end;gap:clamp(28px,5vw,72px);margin-top:clamp(70px,9vw,120px);display:grid}.project-visual{min-height:430px;transition:transform .4s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}.project:hover .project-visual{transform:translateY(-9px)rotate(-.5deg)}.visual-digiforscher,.visual-mitarbeiterapp,.visual-coastcode{justify-content:center;align-items:center;display:flex}.visual-digiforscher{background:#d9e8e6;min-height:620px}.visual-mitarbeiterapp{background:var(--ink);min-height:460px}.project-wide{grid-column:1/-1}.visual-coastcode{background:var(--paper);min-height:500px}.project-visual>img{z-index:1;width:min(72%,520px);max-height:76%;transition:transform .7s cubic-bezier(.2,.7,.2,1);position:relative}.project:hover .project-visual>img{transform:rotate(-2deg)scale(1.025)}.visual-mitarbeiterapp>img{width:min(78%,410px)}.project-kicker{background:var(--sun);color:var(--ink);letter-spacing:.12em;text-transform:uppercase;z-index:2;padding:10px 13px;font-size:9px;font-weight:600;position:absolute;top:22px;left:22px}.project-meta{border-top:1px solid var(--ink);justify-content:space-between;align-items:center;margin-top:20px;padding-top:17px;display:flex}.project-meta p{font-family:var(--font-display);font-size:18px;font-weight:600}.project-meta span{opacity:.72;font-size:11px}.project-card-button{color:inherit;text-align:left;background:0 0;border:0;width:100%;padding:0;display:block}.process{background:var(--ink);color:var(--paper)}.process .section-intro h2{max-width:760px}.process-steps{grid-template-columns:repeat(3,1fr);gap:0;margin-top:clamp(80px,10vw,150px);display:grid}.process-steps .reveal{border-left:1px solid #fffdf54d}.process-steps article{min-height:250px;padding:0 clamp(28px,4vw,60px)}.process-steps .reveal:first-child{border-left:0}.process-steps h3{color:var(--sun);margin-top:60px}.process-steps p{color:#fffdf5ad}.studio{background:var(--paper);grid-template-columns:minmax(0,1fr) 330px;align-items:end;gap:80px;display:grid}.studio-statement{max-width:950px}.studio h2 em{color:#0000;-webkit-text-stroke:1.5px var(--ink);font-style:normal}.studio-detail{padding-bottom:6px}.studio-detail p{line-height:1.7}.photo-note{background:var(--paper);grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:stretch;display:grid}.photo-note-illustration{background:0 0;justify-content:center;align-items:center;min-height:680px;display:flex;position:relative;overflow:hidden}.photo-note-illustration:before{content:"";border:1px solid #052a286b;border-radius:50%;width:min(40vw,540px);height:min(40vw,540px);position:absolute;transform:translate(-7%,5%)}.photo-note-illustration img{opacity:.82;z-index:1;width:min(68%,520px);transition:transform .9s cubic-bezier(.2,.7,.2,1);position:relative;transform:rotate(-5deg)}.photo-note:hover .photo-note-illustration img{transform:rotate(1deg)scale(1.035)}.photo-note-copy{align-self:center;padding:clamp(70px,10vw,150px) clamp(24px,8vw,130px)}.photo-note-copy h2{font-family:var(--font-display);letter-spacing:-.055em;font-size:clamp(38px,5vw,72px);font-weight:600;line-height:.98}.photo-note-copy>p:last-of-type{max-width:540px;margin-top:34px;line-height:1.7}.photo-highlights{background:var(--ink);color:var(--paper)}.photo-highlights-heading{justify-content:space-between;align-items:end;gap:60px;display:flex}.photo-highlights-heading h2{font-family:var(--font-display);letter-spacing:-.055em;max-width:920px;font-size:clamp(42px,5.5vw,84px);font-weight:600;line-height:.98}.photo-categories{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0;padding:0 0 8px;list-style:none;display:flex}.photo-categories li{letter-spacing:.11em;text-transform:uppercase;border:1px solid #fffdf573;padding:8px 10px;font-size:9px}.photo-highlight-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.5vw,36px);margin-top:clamp(70px,9vw,130px);display:grid}.photo-highlight:nth-child(2n){margin-top:72px}.photo-highlight figure{margin:0}.photo-highlight img{aspect-ratio:2/3;object-fit:cover;width:100%;transition:opacity .3s,transform .6s cubic-bezier(.2,.7,.2,1);display:block}.photo-highlight:hover img{opacity:.82;transform:translateY(-7px)}.photo-highlight figcaption{letter-spacing:.1em;text-transform:uppercase;border-top:1px solid #fffdf552;justify-content:space-between;margin-top:13px;padding-top:10px;font-size:9px;display:flex}.photo-highlight figcaption span:first-child{color:var(--sun)}.photo-highlights-footer{border-top:1px solid #fffdf547;justify-content:space-between;align-items:end;margin-top:clamp(80px,10vw,140px);padding-top:30px;display:flex}.photo-highlights-footer p{color:#fffdf5ad;max-width:520px;line-height:1.65}.contact{background:var(--sun);grid-template-columns:.9fr 1.1fr;gap:clamp(60px,10vw,170px);display:grid}.contact h2{font-size:clamp(64px,8vw,124px);line-height:.8}.contact h2 span{color:#0000;-webkit-text-stroke:2px var(--ink)}.contact-copy>p:last-child{max-width:380px;margin-top:40px;line-height:1.65}.contact-topics{border:0;border-bottom:1px solid var(--ink);margin:0;padding:0 0 22px}.contact-topics legend{letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;padding:0;font-size:10px;font-weight:600;display:block}.contact-topic-chips{flex-wrap:wrap;gap:10px;display:flex}.contact-topic-chip{border:1px solid var(--ink);color:var(--ink);letter-spacing:.08em;text-transform:uppercase;background:0 0;padding:9px 14px;font-size:11px;font-weight:600;transition:background-color .18s,color .18s,transform .18s}.contact-topic-chip:hover{background:#052a2814;transform:translateY(-1px)}.contact-topic-chip.is-selected{background:var(--ink);color:var(--paper)}.contact-form label{border-bottom:1px solid var(--ink);padding:24px 0 18px;display:block}.contact-form label>span{letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;font-size:10px;font-weight:600;display:block}.contact-form input,.contact-form textarea{color:var(--ink);font-family:var(--font-display);resize:none;background:0 0;border:0;width:100%;font-size:clamp(19px,2vw,27px)}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--ink);outline-offset:6px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#052a28a3}.form-success{border:1px solid var(--ink);align-self:center;padding:clamp(36px,5vw,70px)}.form-success>span{letter-spacing:.14em;text-transform:uppercase;font-size:10px}.form-success h3{font-family:var(--font-display);letter-spacing:-.04em;margin:24px 0;font-size:clamp(30px,4vw,54px);line-height:1}footer{background:var(--ink);color:var(--paper);padding:70px clamp(24px,8vw,130px) 28px;position:relative}.footer-top{grid-template-columns:1fr 1fr 1fr;align-items:end;display:grid}.footer-top p{color:#fffdf59e;line-height:1.5}.footer-email-group{flex-wrap:wrap;justify-self:end;align-items:center;gap:14px;display:flex}.footer-email-group>a{font-family:var(--font-display);border-bottom:1px solid;padding-bottom:5px;font-size:clamp(18px,2.3vw,30px)}.footer-copy-button{color:var(--paper);letter-spacing:.11em;text-transform:uppercase;background:0 0;border:1px solid #fffdf56b;padding:8px 11px;font-size:9px;font-weight:600;transition:background-color .18s,border-color .18s,color .18s,transform .18s}.footer-copy-button:hover{border-color:var(--sun);color:var(--sun);transform:translateY(-1px)}.footer-copy-button.is-copied{background:var(--sun);border-color:var(--sun);color:var(--ink)}.footer-bottom{letter-spacing:.08em;text-transform:uppercase;border-top:1px solid #fffdf538;justify-content:space-between;margin-top:70px;padding-top:22px;font-size:10px;display:flex}.footer-bottom div{gap:28px;display:flex}.detail-page{background:var(--paper)}.detail-hero{background:var(--sun);min-height:72vh;padding-top:clamp(80px,10vw,150px);overflow:hidden}.detail-hero.has-detail-background>:not(.detail-background){z-index:1;position:relative}.detail-background{opacity:.14;pointer-events:none;z-index:0;width:min(72vw,920px);height:min(72vw,920px);position:absolute;bottom:clamp(-210px,-12vw,-100px);right:clamp(-210px,-10vw,-80px);transform:rotate(-11deg)}.detail-background-projects{bottom:clamp(-250px,-15vw,-130px);right:clamp(-180px,-8vw,-60px);transform:rotate(7deg)}.detail-background-studio{opacity:.11;bottom:clamp(-190px,-10vw,-80px);right:clamp(-170px,-7vw,-50px);transform:rotate(3deg)}.detail-background-photography{bottom:clamp(-230px,-13vw,-100px);right:clamp(-180px,-8vw,-60px);transform:rotate(-6deg)}.detail-hero h1{overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;text-wrap:balance;max-width:1180px;font-size:clamp(30px,5.2vw,82px);line-height:.96}.detail-intro{max-width:680px;margin-top:60px;margin-left:auto;font-size:clamp(18px,1.8vw,25px);line-height:1.55}.detail-list{background:var(--paper)}.detail-list article{border-top:1px solid var(--line);grid-template-columns:80px minmax(250px,.7fr) 1fr;align-items:start;gap:40px;padding:55px 0;display:grid}.detail-list h2{font-family:var(--font-display);letter-spacing:-.05em;font-size:clamp(30px,4vw,56px);line-height:1}.detail-list p{max-width:570px;line-height:1.7}.detail-cta{background:var(--sun)}.detail-cta h2{max-width:800px}.case-back-link{letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid;margin-bottom:34px;padding-bottom:6px;font-size:12px;font-weight:600;display:inline-block}.case-external-action{max-width:680px;margin-left:auto}.case-meta-grid{border-top:1px solid #052a2847;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:64px;padding-top:28px;display:grid}.case-meta-grid span{letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;font-size:10px;font-weight:600;display:block}.case-meta-grid p{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(18px,1.8vw,24px);font-weight:600;line-height:1.2}.case-stack-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.case-stack-list li{background:var(--paper);border:1px solid var(--ink);letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;font-size:10px;font-weight:600}.case-next{background:var(--ink);color:var(--paper)}.case-next-inner{justify-content:space-between;align-items:end;gap:48px;display:flex}.case-next h2{font-family:var(--font-display);letter-spacing:-.05em;max-width:780px;font-size:clamp(34px,4.4vw,68px);font-weight:600;line-height:.98}.not-found-hero h1 span{color:#0000;-webkit-text-stroke:2px var(--ink)}.not-found-badge{background:var(--paper);border:1px solid var(--ink);font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;width:76px;height:76px;margin-bottom:28px;font-size:16px;font-weight:700;display:inline-flex;transform:rotate(-10deg)}.not-found-intro{margin-top:38px;margin-left:0}.not-found-actions{flex-wrap:wrap;align-items:center;gap:36px;margin-top:42px;display:flex}.not-found-actions .submit-button{margin-top:0}.toern-page{background:var(--paper);min-height:100vh;color:var(--ink);padding:7.5rem 1.25rem 6rem}.toern-container{max-width:1240px;margin:0 auto}.toern-hero-bar{border-bottom:1px solid var(--line);margin-bottom:1.75rem;padding-bottom:1.75rem}.toern-hero-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.toern-back-home-link{color:var(--ink);border:1px solid var(--line);background:#fff;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background-color .18s,transform .18s;display:inline-flex}.toern-back-home-link:hover{background:var(--sun)}.toern-hero-top-right{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.toern-info-trigger{border:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:.3rem .7rem;font-size:.78rem;font-weight:700;transition:background-color .15s,transform .15s}.toern-info-trigger:hover{background:var(--sun);box-shadow:2px 2px 0 var(--ink);transform:translate(-1px,-1px)}.toern-intro-backdrop{z-index:90;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#052a2894;justify-content:center;align-items:center;padding:1.15rem;animation:.2s ease-out toernFadeIn;display:flex;position:fixed;inset:0}.toern-intro-modal{border:2px solid var(--ink);width:min(100%,520px);box-shadow:8px 8px 0 var(--ink);color:var(--ink);background:#fff;padding:clamp(1.35rem,3.5vw,2rem)}.toern-intro-modal-top{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.toern-intro-close{border:1px solid var(--ink);background:var(--paper);width:2rem;height:2rem;color:var(--ink);justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:inline-flex}.toern-intro-close:hover{background:var(--sun)}.toern-intro-modal-title{font-family:var(--font-display);margin:0 0 .85rem;font-size:clamp(1.4rem,2.6vw,1.85rem);line-height:1.15}.toern-intro-modal-body{color:#052a28e6;flex-direction:column;gap:.75rem;font-size:.96rem;line-height:1.55;display:flex}.toern-intro-modal-body p{margin:0}.toern-intro-modal-note{background:var(--paper);border-left:3px solid var(--sun);padding:.65rem .85rem;font-size:.88rem}.toern-intro-modal-footer{border-top:1px solid var(--line);justify-content:flex-end;margin-top:1.35rem;padding-top:1rem;display:flex}.toern-feature-pill{text-transform:uppercase;letter-spacing:.08em;background:var(--ink);color:var(--sun);padding:.3rem .7rem;font-size:.78rem;font-weight:700;display:inline-block}.toern-main-heading{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .65rem;font-size:clamp(1.85rem,3.6vw,2.85rem);line-height:1.08}.toern-main-intro{color:#052a28db;max-width:66ch;margin:0;font-size:clamp(1rem,1.4vw,1.125rem);line-height:1.55}.toern-route{border:1px solid var(--ink);background:#fff;margin-bottom:2rem;padding:1rem 1.25rem}.toern-route-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.85rem;font-size:.85rem;display:flex}.toern-route-status{text-transform:uppercase;letter-spacing:.06em;color:var(--ink);font-weight:700}.toern-route-hint{color:#052a28bf}.toern-route-header-right{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.toern-reset-btn{border:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:.25rem .65rem;font-size:.78rem;font-weight:700;transition:background-color .15s,transform .15s}.toern-reset-btn:hover{background:var(--sun);box-shadow:2px 2px 0 var(--ink);transform:translate(-1px,-1px)}.toern-route-track-wrap{position:relative}.toern-waterway{-webkit-user-select:none;user-select:none;height:40px;margin:.25rem 0 .65rem;position:relative}.toern-waterway-baseline{border-top:2px dashed #052a2847;height:0;position:absolute;top:26px;left:5.5%;right:5.5%}.toern-waterway-wake{background:linear-gradient(90deg, var(--sun) 0%, var(--ink) 100%);height:3px;transition:width .65s cubic-bezier(.22,1,.36,1);position:absolute;top:25px;left:0}.toern-waterway-buoy{background:var(--paper);border:1.5px solid var(--ink);border-radius:999px;width:7px;height:7px;transition:transform .25s,background-color .25s;position:absolute;top:26px;transform:translate(-50%,-50%)}.toern-waterway-buoy.is-passed{background:var(--sun)}.toern-waterway-buoy.is-current{background:var(--ink);transform:translate(-50%,-50%)scale(1.3)}.toern-sailing-boat{z-index:3;pointer-events:none;width:40px;height:30px;transition:left .68s cubic-bezier(.22,1,.36,1);position:absolute;top:2px;transform:translate(-50%)}.toern-boat-svg{transform-origin:50% 80%;width:100%;height:100%;animation:2.6s ease-in-out infinite toernBoatBob;display:block}.toern-sailing-boat.is-docked{transform:translate(-92%)}.toern-goal-lighthouse{z-index:2;pointer-events:none;width:26px;height:30px;position:absolute;top:2px;transform:translate(-15%)}.toern-lighthouse-svg{width:100%;height:100%;display:block}.toern-lighthouse-beam{opacity:0;transition:opacity .35s}.toern-goal-lighthouse.is-lit .toern-lighthouse-beam{opacity:.9;animation:1.8s ease-in-out infinite toernBeaconPulse}@keyframes toernBoatBob{0%,to{transform:translateY(0)rotate(-1.5deg)}50%{transform:translateY(-2.5px)rotate(2deg)}}.toern-route-ports{grid-template-columns:repeat(9,minmax(0,1fr));gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.toern-route-port-item{min-width:0}.toern-route-port{text-align:left;background:var(--paper);border:1px solid var(--line);width:100%;color:var(--ink);align-items:center;gap:.45rem;padding:.5rem .6rem;transition:border-color .18s,background-color .18s;display:flex}.toern-route-port:hover:not(:disabled){border-color:var(--ink);background:#fddc0940}.toern-route-port.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.toern-route-port.is-done:not(.is-active){border-color:var(--ink);background:#fddc0938}.toern-port-marker{border:1px solid;flex-shrink:0;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;font-size:.72rem;font-weight:700;display:inline-flex}.toern-route-port.is-active .toern-port-marker{background:var(--sun);color:var(--ink);border-color:var(--sun)}.toern-port-ship{width:13px;height:13px;display:block}.toern-port-label{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:700;overflow:hidden}.toern-substep-bar{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.85rem;padding-top:.75rem;display:flex}.toern-substep-title{text-transform:uppercase;letter-spacing:.05em;color:#052a28bf;font-size:.78rem;font-weight:700}.toern-substep-pills{flex-wrap:wrap;gap:.45rem;display:flex}.toern-substep-pill{border:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:.3rem .7rem;font-size:.8rem;font-weight:600}.toern-substep-pill.is-active{background:var(--sun);box-shadow:2px 2px 0 var(--ink);font-weight:700}.toern-substep-pill.is-done:not(.is-active){background:#fddc0933}.toern-workspace{grid-template-columns:minmax(0,1.55fr) minmax(300px,.95fr);align-items:start;gap:2rem;display:grid}.toern-station-panel{border:1px solid var(--ink);box-shadow:6px 6px 0 var(--ink);background:#fff;padding:clamp(1.25rem,3vw,2.25rem);scroll-margin-top:6rem}.toern-station-header{border-bottom:1px solid var(--line);margin-bottom:1.5rem;padding-bottom:1.15rem}.toern-station-kicker-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.toern-station-badge{text-transform:uppercase;letter-spacing:.07em;background:var(--sun);color:var(--ink);border:1px solid var(--ink);padding:.25rem .65rem;font-size:.78rem;font-weight:700;display:inline-block}.toern-station-optional{color:#052a28b8;font-size:.78rem;font-weight:600}.toern-station-title{font-family:var(--font-display);margin:0 0 .5rem;font-size:clamp(1.35rem,2.4vw,1.85rem);line-height:1.2}.toern-station-title:focus{outline:none}.toern-station-subtitle{color:#052a28cc;margin:0;font-size:.98rem;line-height:1.5}.toern-fieldset{border:0;min-width:0;margin:0;padding:0}.toern-selection-counter{background:var(--paper);border:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.55rem .85rem;font-size:.88rem;display:flex}.toern-limit-alert{color:var(--ink);background:var(--sun);padding:.15rem .5rem;font-weight:700}.toern-choice-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.85rem;display:grid}.toern-choice-card{background:var(--paper);border:1px solid var(--ink);color:var(--ink);cursor:pointer;text-align:left;align-items:flex-start;gap:.8rem;width:100%;padding:1rem 1.1rem;transition:transform .15s,background-color .15s,box-shadow .15s;display:flex;position:relative}.toern-choice-card:hover{box-shadow:3px 3px 0 var(--ink);background:#fff;transform:translate(-2px,-2px)}.toern-choice-card:focus-within{outline:2px solid var(--ink);outline-offset:3px}.toern-choice-card.is-selected{background:var(--sun);border-color:var(--ink);box-shadow:4px 4px 0 var(--ink)}.toern-choice-card.is-unsicher-card{border-style:dashed;grid-column:1/-1}.toern-choice-card.is-unsicher-card.is-selected{border-style:solid}.toern-choice-indicator{border:1px solid var(--ink);background:#fff;flex-shrink:0;justify-content:center;align-items:center;width:1.45rem;height:1.45rem;margin-top:.1rem;font-size:.85rem;font-weight:700;display:inline-flex}.toern-choice-card.is-selected .toern-choice-indicator{background:var(--ink);color:var(--sun)}.toern-choice-content{flex-direction:column;gap:.25rem;display:flex}.toern-choice-title{font-size:.98rem;font-weight:700;line-height:1.3}.toern-choice-hint{color:#052a28cc;font-size:.85rem;line-height:1.4}.toern-depth-gauge{border:1px solid var(--ink);background:#fff;flex-shrink:0;width:34px;height:38px;display:inline-block;position:relative;overflow:hidden}.toern-depth-water{background:#052a2838;position:absolute;bottom:0;left:0;right:0}.toern-depth-gauge.depth-1 .toern-depth-water{height:30%}.toern-depth-gauge.depth-2 .toern-depth-water{height:58%}.toern-depth-gauge.depth-3 .toern-depth-water{height:85%}.toern-depth-hull{background:var(--ink);clip-path:polygon(0 0,100% 0,82% 100%,18% 100%);height:8px;position:absolute;left:6px;right:6px}.toern-depth-gauge.depth-1 .toern-depth-hull{bottom:26%}.toern-depth-gauge.depth-2 .toern-depth-hull{bottom:52%}.toern-depth-gauge.depth-3 .toern-depth-hull{bottom:76%}.toern-sentence-builder{flex-direction:column;gap:1.25rem;display:flex}.toern-sentence-preview{background:var(--ink);color:var(--paper);border:1px solid var(--ink);font-family:var(--font-display);padding:1.15rem 1.35rem;font-size:clamp(1.05rem,1.8vw,1.3rem);line-height:1.45}.toern-sentence-preview p{margin:0}.toern-sentence-slot{color:var(--sun);text-underline-offset:4px;text-decoration:underline}.toern-sentence-columns{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;display:grid}.toern-sentence-group{border:1px solid var(--ink);background:var(--paper);margin:0;padding:1rem}.toern-sentence-group legend{padding:0 .4rem;font-size:.92rem;font-weight:700}.toern-chip-list{flex-wrap:wrap;gap:.5rem;margin:.5rem 0 1rem;display:flex}.toern-chip{border:1px solid var(--ink);color:var(--ink);background:#fff;padding:.45rem .75rem;font-size:.86rem;font-weight:600;transition:background-color .15s}.toern-chip:hover{background:#fddc0959}.toern-chip.is-selected{background:var(--sun);box-shadow:2px 2px 0 var(--ink);font-weight:700}.toern-custom-slot{flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:600;display:flex}.toern-custom-slot input,.toern-ref-field input,.toern-form-field input,.toern-form-field textarea{border:1px solid var(--ink);width:100%;color:var(--ink);font-size:.92rem;font-family:var(--font-body);background:#fff;padding:.6rem .75rem}.toern-cargo-wrap{flex-direction:column;gap:1.4rem;display:flex}.toern-sketch-banner{border:1px solid var(--ink);background:#fddc0947;padding:.8rem 1rem;font-size:.9rem}.toern-ship-deck{background:var(--paper);border:2px solid var(--ink);padding:1.15rem}.toern-ship-deck.is-drag-over{background:#fddc0940}.toern-ship-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.toern-ship-kicker{text-transform:uppercase;letter-spacing:.06em;color:#052a28bf;font-size:.75rem;font-weight:700;display:block}.toern-ship-title{font-family:var(--font-display);margin:.1rem 0 0;font-size:1.15rem}.toern-ship-draft{background:var(--ink);color:var(--sun);padding:.25rem .65rem;font-size:.82rem;font-weight:700}.toern-ship-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.toern-ship-slot{border:1px dashed var(--ink);background:#fff;flex-direction:column;justify-content:space-between;min-height:92px;padding:.65rem;display:flex}.toern-ship-slot.is-occupied{background:var(--sun);box-shadow:3px 3px 0 var(--ink);border-style:solid}.toern-slot-crate{flex-direction:column;justify-content:space-between;gap:.35rem;height:100%;display:flex}.toern-slot-number{text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:700}.toern-slot-label{font-size:.88rem;line-height:1.25}.toern-slot-unload{background:var(--ink);color:var(--paper);border:0;align-self:flex-start;padding:.2rem .5rem;font-size:.74rem;font-weight:700}.toern-slot-placeholder{color:#052a28a6;flex-direction:column;justify-content:center;height:100%;font-size:.8rem;display:flex}.toern-slot-placeholder small{margin-top:.2rem;font-size:.72rem}.toern-ship-hull-visual{border-top:1px solid var(--line);height:34px;margin-top:1rem;position:relative;overflow:hidden}.toern-hull-body{background:var(--ink);clip-path:polygon(0 0,100% 0,93% 100%,7% 100%);width:86%;height:22px;margin:0 auto;transition:transform .25s}.toern-ship-hull-visual.load-0 .toern-hull-body{transform:translateY(0)}.toern-ship-hull-visual.load-1 .toern-hull-body{transform:translateY(2px)}.toern-ship-hull-visual.load-2 .toern-hull-body{transform:translateY(4px)}.toern-ship-hull-visual.load-3 .toern-hull-body{transform:translateY(6px)}.toern-ship-hull-visual.load-4 .toern-hull-body{transform:translateY(8px)}.toern-ship-hull-visual.load-5 .toern-hull-body{transform:translateY(10px)}.toern-ship-hull-visual.load-6 .toern-hull-body{transform:translateY(12px)}.toern-hull-waterline{border-top:2px solid var(--ink);background:repeating-linear-gradient(-45deg,#052a2829,#052a2829 6px,#fddc0947 6px 12px);height:14px;position:absolute;bottom:0;left:0;right:0}.toern-ship-full-alert{background:var(--sun);border:2px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;padding:1rem 1.15rem;display:flex}.toern-ship-full-alert p{margin:.25rem 0 0;font-size:.88rem}.toern-ship-full-actions{gap:.5rem;display:flex}.toern-phase2-quick-btn,.toern-alert-close{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:.45rem .75rem;font-size:.82rem;font-weight:700}.toern-alert-close{color:var(--ink);background:#fff}.toern-pier-header h3{font-family:var(--font-display);margin:0 0 .2rem;font-size:1.05rem}.toern-pier-header p{color:#052a28c7;margin:0 0 .85rem;font-size:.86rem}.toern-crate-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem;display:grid}.toern-crate-card{border:1px solid var(--ink);background:#fff;flex-direction:column;justify-content:space-between;gap:.75rem;padding:.85rem;display:flex}.toern-crate-card.is-loaded{background:#fddc0938}.toern-crate-card.is-phase2{border-style:dashed}.toern-crate-top{justify-content:space-between;align-items:flex-start;gap:.4rem;display:flex}.toern-crate-title{font-size:.92rem;line-height:1.3}.toern-crate-badge{text-transform:uppercase;background:var(--ink);color:var(--sun);flex-shrink:0;padding:.15rem .4rem;font-size:.68rem;font-weight:700}.toern-crate-badge.is-later{background:var(--paper);color:var(--ink);border:1px solid var(--ink)}.toern-crate-hint{color:#052a28c7;margin:.3rem 0 0;font-size:.8rem}.toern-crate-actions{flex-wrap:wrap;gap:.45rem;display:flex}.toern-crate-btn{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:.4rem .7rem;font-size:.8rem;font-weight:700}.toern-crate-btn.is-unload{color:var(--ink);background:#fff}.toern-crate-phase2-btn{border:1px solid var(--ink);background:var(--paper);color:var(--ink);padding:.4rem .65rem;font-size:.76rem;font-weight:600}.toern-crate-phase2-btn.is-active{background:var(--sun);font-weight:700}.toern-phase2-box{border:1px solid var(--ink);background:var(--paper)}.toern-phase2-toggle{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;padding:.8rem 1rem;font-size:.9rem;font-weight:700;display:flex}.toern-phase2-content{border-top:1px solid var(--line);padding:0 1rem 1rem;font-size:.86rem}.toern-phase2-list{flex-wrap:wrap;gap:.45rem;margin:.65rem 0 0;padding:0;list-style:none;display:flex}.toern-phase2-list li{border:1px solid var(--ink);background:#fff;align-items:center;gap:.4rem;padding:.25rem .6rem;font-weight:600;display:inline-flex}.toern-phase2-list button{color:var(--ink);background:0 0;border:0;font-weight:700}.toern-pairs-wrap{flex-direction:column;gap:1.25rem;display:flex}.toern-pairs-list{flex-direction:column;gap:1rem;display:flex}.toern-pair-card{border:1px solid var(--ink);background:var(--paper);margin:0;padding:1rem}.toern-pair-legend{text-transform:uppercase;letter-spacing:.06em;padding:0 .4rem;font-size:.78rem;font-weight:700}.toern-pair-poles{grid-template-columns:1fr auto 1fr;align-items:stretch;gap:.65rem;margin-top:.4rem;display:grid}.toern-pole-button{border:1px solid var(--ink);text-align:left;color:var(--ink);background:#fff;flex-direction:column;gap:.25rem;padding:.9rem;transition:background-color .15s,box-shadow .15s;display:flex}.toern-pole-button:hover{background:#fddc0933}.toern-pole-button.is-selected{background:var(--sun);box-shadow:3px 3px 0 var(--ink)}.toern-pole-title{font-family:var(--font-display);font-size:1rem;font-weight:700}.toern-pole-sub{color:#052a28cc;font-size:.82rem}.toern-pair-vs{text-transform:uppercase;opacity:.7;align-self:center;font-size:.78rem;font-weight:700}.toern-pair-neutrals{gap:.5rem;margin-top:.65rem;display:flex}.toern-neutral-chip{border:1px solid var(--line);color:var(--ink);background:#fff;padding:.3rem .65rem;font-size:.78rem;font-weight:600}.toern-neutral-chip.is-selected{background:var(--ink);color:var(--sun);border-color:var(--ink)}.toern-ref-field label{flex-direction:column;gap:.4rem;font-size:.88rem;font-weight:600;display:flex}.toern-return-kurskarte-bar{background:var(--paper);border:1px dashed var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem;margin-top:1.35rem;padding:.65rem .85rem;font-size:.84rem;display:flex}.toern-station-footer{border-top:1px solid var(--line);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.75rem;padding-top:1.25rem;display:flex}.toern-station-footer-left{flex-shrink:0}.toern-station-footer-right{justify-content:flex-end;align-items:center;gap:.65rem;margin-left:auto;display:flex}.toern-btn-primary{background:var(--sun);color:var(--ink);border:1.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);font-family:var(--font-display);white-space:nowrap;padding:.8rem 1.35rem;font-size:.95rem;font-weight:700;transition:transform .15s,box-shadow .15s,background-color .15s}@media (hover:hover){.toern-btn-primary:hover{background:var(--sun);color:var(--ink);box-shadow:5px 5px 0 var(--ink);transform:translate(-2px,-2px)}}.toern-btn-primary:active{background:var(--sun);color:var(--ink);box-shadow:1px 1px 0 var(--ink);transform:translate(1px,1px)}.toern-btn-secondary{color:var(--ink);border:1px solid var(--ink);white-space:nowrap;background:#fff;padding:.75rem 1.05rem;font-size:.9rem;font-weight:700}.toern-btn-secondary:hover{background:var(--paper)}.toern-btn-ghost{color:var(--ink);border:1px solid var(--line);background:0 0;padding:.6rem .95rem;font-size:.85rem;font-weight:600}.toern-btn-ghost:hover{border-color:var(--ink);background:#fff}.toern-seekarte{position:sticky;top:6.25rem}.toern-seekarte-mobile-bar{display:none}.toern-seekarte-card{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:1.35rem}.toern-seekarte-header{border-bottom:1px solid #fffdf533;margin-bottom:1rem;padding-bottom:.9rem}.toern-seekarte-top-row{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.toern-seekarte-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--sun);font-size:.72rem;font-weight:700;display:inline-block}.toern-seekarte-reset-btn{color:var(--paper);background:0 0;border:1px solid #fffdf559;padding:.18rem .5rem;font-size:.72rem;font-weight:700;transition:background-color .15s,border-color .15s,color .15s}.toern-seekarte-reset-btn:hover{background:var(--sun);color:var(--ink);border-color:var(--sun)}.toern-seekarte-header h2{font-family:var(--font-display);margin:0 0 .25rem;font-size:1.25rem}.toern-seekarte-sub{color:#fffdf5c7;margin:0;font-size:.82rem}.toern-seekarte-body{flex-direction:column;gap:.55rem;display:flex}.toern-seekarte-segment{text-align:left;width:100%;color:var(--paper);background:#fffdf50f;border:1px solid #fffdf529;justify-content:space-between;align-items:flex-start;gap:.65rem;padding:.65rem .8rem;font-size:.86rem;line-height:1.45;transition:background-color .2s,border-color .2s;display:flex}.toern-seekarte-segment:hover{border-color:var(--sun);background:#fddc0924}.toern-seekarte-segment.status-open{opacity:.65;border-style:dashed}.toern-seekarte-segment.is-updated{border-color:var(--sun);background:#fddc092e}.toern-seekarte-edit{color:var(--sun);white-space:nowrap;flex-shrink:0;font-size:.72rem;font-weight:700}.toern-kurskarte-wrap{flex-direction:column;gap:1.75rem;display:flex}.toern-kurskarte-sheet{border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink);background:#fff;padding:clamp(1.5rem,3.5vw,2.75rem)}.toern-kurskarte-header{border-bottom:2px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;display:flex}.toern-kurskarte-kicker{text-transform:uppercase;letter-spacing:.08em;color:#052a28bf;font-size:.78rem;font-weight:700;display:block}.toern-kurskarte-title{font-family:var(--font-display);margin:.2rem 0 0;font-size:clamp(1.8rem,3vw,2.5rem)}.toern-kurskarte-meta{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.toern-kurskarte-badge{background:var(--sun);color:var(--ink);border:1px solid var(--ink);padding:.3rem .75rem;font-size:.82rem;font-weight:700}.toern-kurskarte-date{color:#052a28bf;font-size:.82rem}.toern-kurskarte-section{border-bottom:1px solid var(--line);margin-bottom:1.35rem;padding-bottom:1.35rem}.toern-kk-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.toern-kk-quick-jumps{flex-wrap:wrap;gap:.4rem;display:flex}.toern-kk-section-head h3{font-family:var(--font-display);margin:0;font-size:1.08rem}.toern-kk-edit-btn{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:.25rem .6rem;font-size:.76rem;font-weight:700}.toern-kk-edit-btn:hover{background:var(--sun);border-color:var(--ink)}.toern-kk-steckbrief-text{background:var(--paper);border-left:4px solid var(--sun);margin:0;padding:1rem 1.25rem;font-size:1.05rem;line-height:1.65}.toern-kk-two-col{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.toern-kk-tag-list{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.toern-kk-tag{border:1px solid var(--ink);padding:.35rem .7rem;font-size:.85rem;font-weight:600}.toern-kk-tag.is-primary{background:var(--sun)}.toern-kk-tag.is-secondary{background:var(--paper);border-style:dashed}.toern-kk-subblock{margin-top:1rem}.toern-kk-subblock h4{color:#052a28cc;margin:0 0 .45rem;font-size:.84rem}.toern-kk-dl{gap:.6rem;margin:0;display:grid}.toern-kk-dl div{grid-template-columns:130px 1fr;gap:.5rem;font-size:.9rem;display:grid}.toern-kk-dl dt{color:#052a28bf;justify-content:space-between;align-items:center;gap:.35rem;font-weight:700;display:flex}.toern-kk-inline-edit{color:var(--ink);background:0 0;border:0;padding:0;font-size:.72rem;font-weight:700;text-decoration:underline}.toern-kk-dl dd{margin:0;font-weight:600}.toern-kk-bullet-list{gap:.45rem;margin:0;padding-left:1.2rem;font-size:.95rem;line-height:1.5;display:grid}.toern-kk-steps-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.toern-kk-step-card{background:var(--paper);border:1px solid var(--ink);flex-direction:column;gap:.3rem;padding:1rem;display:flex}.toern-kk-step-num{text-transform:uppercase;letter-spacing:.06em;color:#052a28bf;font-size:.75rem;font-weight:700}.toern-kk-step-card p{margin:0;font-size:.86rem;line-height:1.45}.toern-kurskarte-print-footer{color:#052a28b8;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-top:.5rem;font-size:.78rem;display:flex}.toern-kk-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.toern-kk-toolbar-right{flex-wrap:wrap;gap:.5rem;display:flex}.toern-contact-box{border:2px solid var(--ink);background:#fff;padding:clamp(1.35rem,3vw,2.25rem)}.toern-contact-box.is-success{background:var(--sun)}.toern-contact-kicker{text-transform:uppercase;letter-spacing:.07em;background:var(--ink);color:var(--sun);margin-bottom:.5rem;padding:.2rem .6rem;font-size:.76rem;font-weight:700;display:inline-block}.toern-contact-header h3{font-family:var(--font-display);margin:0 0 .4rem;font-size:clamp(1.3rem,2.2vw,1.7rem)}.toern-contact-header p{max-width:64ch;margin:0 0 1.25rem;font-size:.95rem;line-height:1.5}.toern-contact-form{flex-direction:column;gap:1rem;display:flex}.toern-form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.toern-form-field{flex-direction:column;gap:.35rem;display:flex}.toern-form-field label{font-size:.86rem;font-weight:700}.toern-consent-label{cursor:pointer;align-items:flex-start;gap:.65rem;font-size:.86rem;line-height:1.45;display:flex}.toern-consent-label input{width:1.1rem;height:1.1rem;accent-color:var(--ink);margin-top:.2rem}.toern-form-error{border:1px solid var(--ink);background:#fddc0959;padding:.75rem 1rem;font-size:.88rem;font-weight:600}.toern-form-error p{margin:0 0 .25rem}.toern-contact-actions{flex-wrap:wrap;gap:.75rem;margin-top:.35rem;display:flex}.toern-arrival-stage{border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink);text-align:center;background:#fff;flex-direction:column;align-items:center;gap:.85rem;padding:clamp(2rem,5vw,3.5rem) 1.5rem;animation:.25s ease-out toernFadeIn;display:flex}.toern-arrival-scene{width:min(100%,540px);margin:0 auto .5rem}.toern-arrival-svg{width:100%;height:auto;display:block}.toern-arrival-boat{animation:1.35s cubic-bezier(.22,1,.36,1) forwards toernSailIntoHarbor}.toern-arrival-beam{animation:.9s ease-in-out infinite toernBeaconPulse}.toern-arrival-wave{animation:1.6s ease-in-out infinite alternate toernWaveSlide}.toern-arrival-wave.is-second{animation-direction:alternate-reverse}.toern-arrival-kicker{text-transform:uppercase;letter-spacing:.08em;background:var(--sun);color:var(--ink);border:1px solid var(--ink);padding:.25rem .7rem;font-size:.78rem;font-weight:700;display:inline-block}.toern-arrival-title{font-family:var(--font-display);margin:0 0 .35rem;font-size:clamp(1.35rem,2.5vw,1.9rem)}.toern-kurskarte-entrance{animation:.55s cubic-bezier(.22,1,.36,1) toernKurskarteReveal}@keyframes toernSailIntoHarbor{0%{transform:translate(30px,24px)rotate(-2deg)}65%{transform:translate(315px,20px)rotate(2.5deg)}to{transform:translate(355px,23px)rotate(0)}}@keyframes toernBeaconPulse{0%,to{opacity:.35}50%{opacity:.95}}@keyframes toernWaveSlide{0%{transform:translate(-6px)}to{transform:translate(6px)}}@keyframes toernKurskarteReveal{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toernFadeIn{0%{opacity:0}to{opacity:1}}@media (width<=960px){.toern-route-ports{grid-template-columns:repeat(auto-fit,minmax(108px,1fr))}.toern-workspace{grid-template-columns:1fr}.toern-seekarte{z-index:40;background:var(--ink);border-top:2px solid var(--sun);position:fixed;inset:auto 0 0}.toern-seekarte-mobile-bar{display:block}.toern-seekarte-toggle{background:var(--ink);width:100%;color:var(--sun);border:0;justify-content:space-between;align-items:center;padding:.85rem 1.15rem;font-size:.88rem;font-weight:700;display:flex}.toern-seekarte-card{border-top:1px solid #fffdf533;max-height:62vh;display:none;overflow-y:auto}.toern-seekarte.is-mobile-open .toern-seekarte-card{display:block}}@media (width<=640px){.toern-page{padding:6.25rem .85rem 5.5rem}.toern-ship-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.toern-pair-poles{grid-template-columns:1fr}.toern-pair-vs{text-align:center}.toern-station-footer{gap:.5rem}.toern-station-prev-btn{padding:.68rem .78rem;font-size:.82rem}.toern-station-next-btn{padding:.72rem .95rem;font-size:.84rem}}@media (prefers-reduced-motion:reduce){.toern-choice-card,.toern-btn-primary,.toern-hull-body,.toern-seekarte-segment,.toern-sailing-boat,.toern-waterway-wake,.toern-boat-svg,.toern-arrival-boat,.toern-kurskarte-entrance{transition:none!important;animation:none!important;transform:none!important}}@media print{@page{size:A4 portrait;margin:12mm}body{color:#000!important;background:#fff!important}.site-header,.site-footer,.scroll-sheep,.no-print{display:none!important}.toern-page{background:#fff!important;min-height:0!important;padding:0!important}.toern-kurskarte-sheet{box-shadow:none!important;border:1px solid #000!important;padding:10mm!important}.toern-kurskarte-section{break-inside:avoid;margin-bottom:4mm!important;padding-bottom:4mm!important}}@media (width<=900px){.site-header{height:74px}.menu-button{z-index:3;width:44px;height:44px;display:block;position:relative}.menu-icon i{background:currentColor;width:26px;height:1px;transition:transform .22s;position:absolute;top:18px;left:9px}.menu-icon i:last-child{top:25px}.menu-icon.is-open i{top:22px;transform:rotate(45deg)}.menu-icon.is-open i:last-child{transform:rotate(-45deg)}.main-nav{background:var(--ink);font-family:var(--font-display);opacity:0;pointer-events:none;visibility:hidden;flex-direction:column;align-items:flex-start;padding:30px 24px 48px;font-size:30px;transition:opacity .22s,transform .22s,visibility .22s;display:flex;position:absolute;inset:73px 0 auto;transform:translateY(-15px)}.main-nav.is-open{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0)}.nav-contact{font-family:var(--font-body);margin-top:12px;font-size:13px}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding-top:90px;padding-bottom:60px}.hero-art{height:min(78vw,620px);margin-left:14vw;margin-right:24px}.scroll-cue{display:none}.service-layout{grid-template-columns:1fr}.traveler-column{display:none}.services{min-height:auto}.project-grid{grid-template-columns:1fr}.project-visual,.visual-digiforscher,.visual-mitarbeiterapp,.visual-coastcode{min-height:min(72vw,570px)}.process-steps{grid-template-columns:1fr}.process-steps .reveal{border-top:1px solid #fffdf54d;border-left:0;padding:38px 0}.process-steps article{min-height:auto;padding:0}.process-steps h3{margin-top:30px}.studio,.contact,.photo-note{grid-template-columns:1fr}.photo-note-illustration{min-height:min(100vw,700px)}.photo-note-illustration:before{width:min(72vw,520px);height:min(72vw,520px)}.studio-detail{max-width:520px}.contact{gap:75px}.photo-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-highlight:nth-child(2n){margin-top:54px}.footer-top{grid-template-columns:1fr 1fr;gap:50px}.footer-top>a,.footer-email-group{grid-column:1/-1;justify-self:start}}@media (width<=600px){.hero h1{font-size:clamp(27px,8.8vw,44px);line-height:.96}.detail-hero h1{font-size:clamp(24px,7.5vw,40px);line-height:1.02}.hero-art{width:calc(100% - 64px);max-width:none;height:82vw;margin-left:32px;margin-right:32px}.art-stamp{width:58px;height:58px;left:-18px}.hero-caption{bottom:3%;left:-16px}.section-intro.horizontal{flex-direction:column;align-items:start;gap:34px}.service-card{grid-template-columns:26px 1fr;gap:16px}.service-card>svg{display:none}.studio{gap:50px}.contact h2{font-size:20vw}.footer-top{grid-template-columns:1fr;align-items:start}.footer-top>a,.footer-email-group{grid-column:auto}.footer-bottom{flex-direction:column;align-items:flex-start;gap:16px}.detail-list article{grid-template-columns:1fr;gap:20px}.photo-highlights-heading,.photo-highlights-footer,.case-next-inner{flex-direction:column;align-items:flex-start}.case-meta-grid{grid-template-columns:1fr}.photo-categories{justify-content:flex-start}.photo-highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-highlight:nth-child(2n){margin-top:42px}.picdrop-link{margin-top:28px;margin-left:0}.detail-list article>span{margin-bottom:12px}.detail-background{opacity:.1;width:130vw;height:130vw;bottom:-80px;right:-45vw}.detail-background-projects,.detail-background-studio,.detail-background-photography{bottom:-90px;right:-42vw}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1;transform:none}.wave-transition-shape{opacity:1;transform:translateY(0)}.wave-transition-line{stroke-dashoffset:0}.wave-layer,.logo:hover .logo-wave,.logo:focus-visible .logo-wave,.scroll-sheep-inner{animation:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
