/* gerhards.space / V7 | Only CD colors, Helvetica Neue, deliberate motion. */
:root{--black:#212227;--white:#fff;--blue:#C9D2D6;--green:#D6E0D9;--cotton:#EEE6E0;--type:'Helvetica Neue',Helvetica,Arial,sans-serif;--pad:clamp(24px,4.2vw,88px);--content:1610px;--navheight:76px;--ease:cubic-bezier(.16,1,.3,1);--line:rgba(33,34,39,.22)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;color:var(--black);background:var(--white);font-family:var(--type);font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body.menu-open{overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}img,svg{max-width:100%;display:block}::selection{background:var(--black);color:var(--white)}:focus-visible{outline:2px solid currentColor;outline-offset:5px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.wrap{max-width:var(--content);padding-inline:var(--pad);margin-inline:auto}.skip-link{position:fixed;z-index:800;left:20px;top:-90px;background:var(--white);color:var(--black);padding:12px 18px}.skip-link:focus{top:10px}.page-progress{position:fixed;top:0;left:0;height:2px;width:100%;transform-origin:left;transform:scaleX(0);background:var(--black);z-index:600;pointer-events:none}
/* Header: main brand at right, calm phone text button instead of a stray number. */
.site-header{position:fixed;inset:0 0 auto;z-index:500;color:var(--black);background:var(--white);border-bottom:1px solid var(--line);transition:background .45s,color .45s,border-color .45s}.on-dark .site-header{color:var(--white);background:var(--black);border-color:rgba(255,255,255,.15)}.on-cotton .site-header{color:var(--black);background:var(--cotton)}.header-row{height:var(--navheight);display:flex;align-items:center;gap:clamp(12px,2.4vw,38px)}.header-meta{font-size:10px;letter-spacing:.12em;white-space:nowrap;opacity:.75}.nav-desktop{display:flex;gap:clamp(16px,1.95vw,35px);margin-left:clamp(20px,2.3vw,42px);align-items:center}.nav-desktop a,.header-call,.header-project{font-size:13px;line-height:1;white-space:nowrap}.nav-desktop a{position:relative;opacity:.86;transition:opacity .25s}.nav-desktop a::after{content:'';position:absolute;bottom:-8px;left:0;height:1px;width:100%;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}.nav-desktop a:hover{opacity:1}.nav-desktop a:hover::after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:clamp(14px,1.75vw,30px);margin-left:auto}.header-call{display:inline-flex;gap:9px;align-items:center;opacity:.9}.call-indicator{width:8px;height:8px;border:1px solid currentColor;border-radius:50%;transition:background .25s}.header-call:hover .call-indicator{background:currentColor}.header-project{border:1px solid currentColor;padding:13px 14px;display:inline-flex;align-items:center;gap:20px;transition:background .25s,color .25s}.header-project:hover{background:var(--white);color:var(--black)}.on-cotton .header-project:hover,body:not(.on-dark) .header-project:hover{background:var(--black);color:var(--white)}.header-brand{display:block;width:clamp(112px,10vw,159px);position:relative;flex-shrink:0}.header-brand img{width:100%;height:auto}.brand-light{display:none}.on-dark .brand-light{display:block}.on-dark .brand-dark{display:none}.menu-button{display:none;flex:0 0 36px;height:36px;border:0;padding:7px 4px;background:none;color:inherit;flex-direction:column;justify-content:center;gap:7px}.menu-button span{height:1px;background:currentColor;width:100%}.mobile-menu{position:fixed;z-index:490;inset:var(--navheight) 0 auto;background:var(--black);color:var(--white);padding:34px var(--pad) 55px;border-top:1px solid rgba(255,255,255,.16);box-shadow:0 50px 90px rgba(33,34,39,.16)}.mobile-menu[hidden]{display:none}.mobile-menu nav{display:grid}.mobile-menu a{font-size:clamp(22px,6vw,39px);padding:15px 0;border-bottom:1px solid rgba(255,255,255,.2);letter-spacing:-.04em}
/* Opening / all descendants scale with one unmodified camera ratio. */
.hero-scroll{height:270svh;background:var(--black);position:relative}.hero-sticky{height:100svh;position:sticky;top:0;overflow:hidden;background:var(--black);isolation:isolate}.hero-camera{position:absolute;inset:0;background:var(--black);transform-origin:50% 50%;will-change:transform}.cross-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hero-identifier,.hero-bottom{position:absolute;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.13em;color:rgba(255,255,255,.55)}.hero-identifier{top:calc(var(--navheight) + 37px)}.hero-bottom{bottom:32px}.down-arrow{font-size:17px;display:inline-block;margin-left:10px;animation:arrow-nudge 2s ease-in-out infinite}@keyframes arrow-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}.hero-centre{position:absolute;top:49%;left:50%;width:100%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:clamp(46px,5.7vh,76px)}.claim-lockup{width:min(1020px,86vw);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:5.5%}.claim-lockup>img{width:100%;height:auto;object-fit:contain}.claim-box{width:100%;aspect-ratio:587 / 136;background:var(--white);position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden;color:var(--black)}.handwriting{width:62%;height:88%;max-width:100%;overflow:visible;color:var(--black)}.handwriting path{stroke:currentColor;fill:none;stroke-width:2.65;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-dasharray:100;stroke-dashoffset:100}.handwriting.is-written path{animation:ink-write 1.4s cubic-bezier(.22,.53,.3,1) forwards}.handwriting.is-written path:nth-child(2){animation-delay:.27s}.handwriting.is-written path:nth-child(3){animation-delay:.55s}@keyframes ink-write{to{stroke-dashoffset:0}}.hero-slogan{font-size:clamp(24px,3vw,48px);line-height:1.17;text-align:center;color:var(--white);font-weight:400;letter-spacing:-.058em;margin:0}.cotton-arrival{position:absolute;inset:0;background:var(--cotton);color:var(--black);opacity:0;pointer-events:none;display:flex;align-items:center;will-change:opacity}.cotton-arrival .wrap{width:100%}.cotton-arrival .section-index{display:block;font-size:11px;letter-spacing:.15em}.cotton-arrival p{font-size:clamp(53px,7.3vw,125px);line-height:1.06;letter-spacing:-.073em;margin:70px 0 0}.cotton-arrival em{font-weight:400;font-style:normal;opacity:.58}
/* Editorial utilities */
.section-top{display:flex;justify-content:space-between;gap:25px;padding:0 0 15px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.12em}.eyebrow{display:block;font-size:11px;letter-spacing:.135em}.huge-head{font-size:clamp(54px,7.35vw,126px);letter-spacing:-.079em;line-height:1.025;font-weight:400;margin:0}.text-arrow{display:inline-flex;gap:36px;justify-content:space-between;align-items:center;min-width:220px;padding:0 0 15px;border-bottom:1px solid currentColor;font-size:14px;letter-spacing:-.015em;transition:gap .5s var(--ease)}.text-arrow:hover{gap:54px}.text-arrow span{font-size:22px;font-weight:300}.reveal,.reveal-lines{transition:opacity .88s var(--ease),transform 1s var(--ease)}body.has-js:not(.reduced-motion) .reveal:not(.visible),body.has-js:not(.reduced-motion) .reveal-lines:not(.visible){opacity:0;transform:translateY(31px)}.intro-section{padding:clamp(130px,15vw,230px) 0 clamp(120px,12vw,210px);background:var(--cotton)}.intro-grid{display:grid;grid-template-columns:1.45fr .65fr;align-items:end;gap:clamp(40px,7vw,130px);margin:clamp(75px,9vw,155px) 0 clamp(100px,9vw,150px)}.intro-aside{padding-bottom:14px}.intro-aside>p,.capabilities-heading>p,.personal-copy>p,.ref-heading>p,.contact-copy>p{font-size:clamp(18px,1.6vw,24px);line-height:1.52;letter-spacing:-.025em;max-width:540px;margin:0 0 42px}.sequence{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--black)}.seq-card{padding:35px 30px 100px 0;position:relative;min-height:325px;border-right:1px solid var(--line);background:var(--cotton);transition:transform 1s var(--ease),opacity 1s var(--ease)}.seq-card:nth-of-type(2),.seq-card:nth-of-type(3){padding-left:28px}.seq-card:last-child{border-right:none}.seq-card .seq-id{font-size:10px;letter-spacing:.12em}.seq-card h3{font-size:clamp(31px,3vw,52px);font-weight:400;letter-spacing:-.063em;line-height:1.08;margin:45px 0 22px}.seq-card p{font-size:16px;line-height:1.58;max-width:380px;margin:0}.seq-symbol{position:absolute;bottom:30px;right:30px;font-size:26px;font-weight:300}.seq-connector{position:absolute;left:0;right:0;top:-2px;height:3px;pointer-events:none}.seq-connector span{display:block;background:var(--black);width:100%;height:100%;transform-origin:left;transform:scaleX(0);transition:transform 2.1s var(--ease)}body.has-js:not(.reduced-motion) .sequence:not(.visible) .seq-card{transform:translateX(-58px);opacity:0}.sequence.visible .seq-card:nth-of-type(2){transition-delay:.2s}.sequence.visible .seq-card:nth-of-type(3){transition-delay:.4s}.sequence.visible .seq-connector span{transform:scaleX(1)}
/* Credible history, source claim (since 1978) supplied by the client. */
.legacy-section{background:var(--white);padding:clamp(115px,11vw,188px) 0}.legacy-layout{display:grid;grid-template-columns:.44fr 1.56fr;gap:clamp(45px,7vw,130px)}.legacy-side{display:flex;flex-direction:column;justify-content:space-between;min-height:330px}.legacy-stamp{display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.06em}.stamp-rule{width:65px;height:1px;background:var(--black)}.legacy-statement{font-size:clamp(45px,6.5vw,112px);font-weight:400;line-height:1.08;letter-spacing:-.075em;margin:0}.legacy-statement span{color:rgba(33,34,39,.48)}.legacy-description{font-size:clamp(18px,1.58vw,23px);line-height:1.55;max-width:680px;margin:65px 0 0 22%}
/* Technical competence gallery. */
.capabilities-section{background:var(--white);padding:clamp(130px,12vw,195px) 0}.capabilities-heading{display:flex;justify-content:space-between;gap:65px;align-items:end;margin:65px 0 75px}.capabilities-heading>p{max-width:450px;margin:0 0 12px}.capability-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(44px,7vw,135px);align-items:start}.cap-list{border-top:1px solid var(--line)}.cap-row{display:grid;grid-template-columns:48px 1fr 24px;gap:18px;align-items:center;min-height:124px;border-bottom:1px solid var(--line);padding:20px 0;transition:padding .45s var(--ease),opacity .35s}.cap-row:hover,.cap-row:focus-visible{padding-left:14px}.cap-row>span:first-child{font-size:12px;align-self:start;margin-top:12px;opacity:.6}.cap-row strong{font-size:clamp(26px,2.6vw,47px);font-weight:400;letter-spacing:-.061em;line-height:1.12;display:block}.cap-row small{font-size:12px;display:block;margin-top:12px;opacity:.55}.cap-row i{font-style:normal;font-size:25px;opacity:.2;transition:transform .45s,opacity .45s}.cap-row:hover i,.cap-row.is-current i{transform:translate(3px,-3px);opacity:1}.cap-visual{position:sticky;top:calc(var(--navheight) + 36px);aspect-ratio:.99;background:var(--blue);padding:clamp(20px,2.5vw,42px);display:flex;flex-direction:column;justify-content:space-between;transition:background .6s ease;overflow:hidden}.cap-top,.cap-foot{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;align-items:center;gap:20px}.cap-schematic{height:68%;display:flex;align-items:center;justify-content:center}.cap-schematic img{height:100%;width:100%;object-fit:contain;opacity:.78;transition:opacity .35s,transform .7s var(--ease)}.cap-visual.is-swapping img{opacity:0;transform:scale(.96)}.cap-foot span:last-child{font-size:24px}.cap-footer{margin-top:65px;display:flex;justify-content:flex-end}
.personal-section{background:var(--cotton);padding:clamp(110px,10vw,180px) 0}.personal-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,150px);align-items:center}.personal-copy>h2{margin:40px 0 45px}.personal-copy>p{margin-bottom:40px}.portrait-placeholder{aspect-ratio:4/4.7;background:var(--black);color:var(--white);position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(20px,3vw,55px);overflow:hidden}.portrait-corner,.portrait-bottom{font-size:10px;letter-spacing:.13em;opacity:.65}.portrait-words{font-size:clamp(43px,4.5vw,84px);font-weight:400;line-height:1.09;letter-spacing:-.073em;position:relative;z-index:1}.portrait-cross{position:absolute;inset:20% 20%;border:1px solid rgba(255,255,255,.25)}.portrait-cross::before,.portrait-cross::after{content:'';position:absolute;background:rgba(255,255,255,.3);left:50%;top:50%;transform:translate(-50%,-50%)}.portrait-cross::before{height:1px;width:42px}.portrait-cross::after{width:1px;height:42px}
.references-teaser{background:var(--white);padding:clamp(115px,11vw,190px) 0}.ref-heading{margin:70px 0 80px;display:grid;grid-template-columns:1.35fr .65fr;align-items:end;gap:80px}.ref-heading p{margin:0 0 10px}.ref-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,52px)}.ref-placeholder{aspect-ratio:1.25;background:var(--blue);display:flex;flex-direction:column;justify-content:space-between;padding:clamp(18px,3vw,45px);position:relative;overflow:hidden}.ref-placeholder-green{background:var(--green)}.ref-placeholder>span,.ref-placeholder small{font-size:10px;letter-spacing:.13em}.ref-placeholder strong{font-size:clamp(32px,3.6vw,70px);font-weight:400;letter-spacing:-.06em;align-self:flex-start;line-height:1.1}.ref-placeholder i{position:absolute;right:30px;bottom:30px;font-size:29px;font-style:normal;transition:transform .4s}.ref-tile:hover .ref-placeholder i{transform:translate(6px,-6px)}.ref-desc{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:16px;font-size:10px;letter-spacing:.07em;margin-top:14px}.ref-footnote{max-width:500px;margin:45px 0 23px;font-size:13px;line-height:1.5;opacity:.65}
/* Closing camera is literally the intro lockup, seen while zooming out. */
.outro-scroll{height:270svh;background:var(--black)}.outro-sticky{height:100svh;position:sticky;top:0;overflow:hidden;background:var(--black);isolation:isolate}.outro-world{position:absolute;inset:0;background:var(--black);transform-origin:50% 50%;will-change:transform}.outro-centre{position:absolute;left:50%;top:49%;width:100%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:clamp(45px,5.7vh,76px)}.outro-top-note,.outro-bottom-note{position:absolute;left:var(--pad);color:rgba(255,255,255,.55);font-size:10px;letter-spacing:.13em}.outro-top-note{top:calc(var(--navheight) + 39px)}.outro-bottom-note{bottom:32px}.outro-slogan{color:var(--white);font-size:clamp(24px,3vw,48px);letter-spacing:-.06em;line-height:1.18;margin:0;text-align:center}.outro-slogan em{font-style:normal;color:var(--cotton)}#space-input{width:100%;height:100%;background:none;border:0;color:var(--black);outline:0;text-align:center;font-family:'Segoe Print','Bradley Hand','URW Chancery L',cursive;font-size:clamp(18px,3.1vw,43px);letter-spacing:-.035em;white-space:nowrap;padding:0 8px;line-height:1;font-weight:400}#space-input::placeholder{color:rgba(33,34,39,.45)}#space-input:focus-visible{outline:2px solid var(--black);outline-offset:-4px}.outro-world:not(.outro-ready) #space-input{pointer-events:none}.outro-world.outro-ready .claim-box:focus-within{outline:2px solid var(--cotton);outline-offset:6px}
.contact-section{background:var(--white);padding:clamp(130px,12vw,195px) 0}.contact-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(55px,9vw,170px);margin-top:70px}.contact-copy>h2{margin:0 0 40px}.phone-block{display:flex;flex-direction:column;gap:11px;margin-top:70px!important}.phone-block span{font-size:12px;letter-spacing:.06em}.phone-block a{font-size:clamp(30px,4vw,60px);letter-spacing:-.065em}.project-form{max-width:640px}.subject-label,.project-form label span{display:block;font-size:11px;letter-spacing:.1em}.subject-display{font-size:clamp(26px,2.8vw,45px);letter-spacing:-.06em;line-height:1.18;display:block;border-bottom:1px solid var(--black);padding:24px 0 22px;margin-bottom:35px;overflow-wrap:anywhere}.project-form label{display:block;margin-bottom:27px}.project-form label input,.project-form label textarea{width:100%;display:block;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px 0 14px;outline-offset:2px;font-size:16px;color:var(--black)}.project-form textarea{resize:vertical;min-height:100px}.form-submit{border:1px solid var(--black);background:var(--black);color:var(--white);width:100%;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;font-size:14px;transition:background .3s,color .3s}.form-submit:hover{background:var(--white);color:var(--black)}.form-submit span:last-child{font-size:24px}.form-note{font-size:11px;line-height:1.55;opacity:.65;margin-top:21px}.form-status{min-height:22px;font-size:13px}
.site-footer{background:var(--cotton);padding:105px 0 32px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:clamp(40px,7vw,140px);padding-bottom:120px}.footer-grid>div:first-child img{width:190px;height:auto;margin-left:-27px}.footer-grid>div:first-child p{font-size:clamp(22px,2.5vw,38px);line-height:1.2;max-width:330px;letter-spacing:-.06em}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:14px}.footer-grid>div:not(:first-child)>span{font-size:10px;letter-spacing:.13em;margin-bottom:16px}.footer-grid a{font-size:15px}.footer-grid p{font-size:14px;line-height:1.65}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;letter-spacing:.09em}.footer-bottom>div{display:flex;gap:27px}
/* Inner pages share the same editorial language; real content, not invented case studies. */
.inner-hero{min-height:clamp(650px,85svh,920px);background:var(--black);color:var(--white);padding:calc(var(--navheight) + 120px) 0 80px;display:flex;align-items:flex-end;position:relative;overflow:hidden}.inner-hero--cotton{background:var(--cotton);color:var(--black)}.inner-hero--blue{background:var(--blue);color:var(--black)}.inner-hero--white{background:var(--white);color:var(--black)}.inner-hero .wrap{width:100%;position:relative;z-index:1}.inner-hero .subheader{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px solid currentColor;font-size:11px;letter-spacing:.13em;opacity:.7}.inner-hero h1{font-size:clamp(65px,10vw,171px);font-weight:400;line-height:.98;letter-spacing:-.084em;max-width:1450px;margin:clamp(65px,10vh,135px) 0 45px}.inner-hero .hero-details{display:flex;justify-content:space-between;align-items:end;gap:30px}.inner-hero .hero-details p{font-size:clamp(20px,2vw,30px);line-height:1.42;letter-spacing:-.03em;max-width:670px;margin:0}.inner-hero .hero-details>span{font-size:11px;letter-spacing:.11em;opacity:.7}.inner-content{padding:clamp(105px,10vw,165px) 0}.inner-content--cotton{background:var(--cotton)}.inner-content--green{background:var(--green)}.inner-content--blue{background:var(--blue)}.inner-content--dark{background:var(--black);color:var(--white)}.split-statement{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(35px,6vw,110px);align-items:start}.split-statement h2{font-size:clamp(46px,6.8vw,108px);font-weight:400;line-height:1.02;letter-spacing:-.078em;margin:0}.split-statement>div>p{font-size:clamp(19px,1.8vw,27px);line-height:1.53;margin:0 0 30px}.feature-rows{border-top:1px solid var(--line);margin-top:80px}.feature-row{display:grid;grid-template-columns:65px 1fr 1fr;gap:30px;border-bottom:1px solid var(--line);padding:45px 0;align-items:start}.feature-row>span{font-size:11px;opacity:.6}.feature-row h3{font-size:clamp(28px,3.5vw,58px);line-height:1.1;font-weight:400;letter-spacing:-.065em;margin:0}.feature-row p{font-size:clamp(16px,1.4vw,21px);line-height:1.55;margin:0;max-width:580px}.section-cta{display:inline-flex;gap:55px;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid currentColor;font-size:16px;margin-top:40px}.section-cta span{font-size:24px}.inner-image-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,3vw,50px);margin-top:65px}.inner-photo{min-height:340px;aspect-ratio:4/4.4;padding:30px;background:var(--blue);display:flex;flex-direction:column;justify-content:space-between}.inner-photo:nth-child(even){background:var(--green)}.inner-photo span,.inner-photo small{font-size:11px;letter-spacing:.12em}.inner-photo strong{font-size:clamp(38px,4vw,65px);font-weight:400;letter-spacing:-.06em}.inner-photo+figcaption{display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-size:15px}.inner-photo+figcaption strong{font-size:24px;font-weight:400}.inner-intro{font-size:clamp(28px,3.4vw,55px);line-height:1.24;letter-spacing:-.05em;max-width:940px;margin:0 0 70px}.mini-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.mini-card{padding:32px;background:var(--white);border:1px solid var(--line);min-height:290px;display:flex;flex-direction:column}.mini-card>span{font-size:11px;letter-spacing:.08em}.mini-card h3{font-size:clamp(27px,3vw,47px);letter-spacing:-.055em;line-height:1.15;font-weight:400;margin:50px 0 20px}.mini-card p{font-size:16px;line-height:1.5;margin:auto 0 0}.quote-policy{border-top:1px solid var(--line);padding-top:26px;font-size:16px;max-width:760px;line-height:1.5;margin-top:70px}.ref-editorial{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center}.ref-editorial .ref-placeholder{aspect-ratio:1.15}.ref-editorial h3{font-size:clamp(40px,5.3vw,85px);font-weight:400;letter-spacing:-.07em;line-height:1.07;margin:18px 0 25px}.ref-editorial p{font-size:18px;line-height:1.55}.meta-caption{font-size:11px;letter-spacing:.12em}.plain-form{max-width:780px;margin-top:70px}.plain-form .field{display:block;margin:0 0 23px}.plain-form .field>span{font-size:12px;letter-spacing:.07em;display:block;margin-bottom:10px}.plain-form input,.plain-form textarea{width:100%;padding:16px;border:1px solid var(--line);border-radius:0;background:var(--white);font-size:16px}.plain-form textarea{min-height:120px;resize:vertical}.plain-form .file-line{border:1px dashed var(--black);padding:22px;margin:25px 0}.plain-form .file-line input{border:0;padding:10px 0}.plain-form .form-submit{max-width:380px}.legal-placeholder{min-height:60vh;display:flex;align-items:center;background:var(--cotton);padding:170px 0}.legal-placeholder h1{font-size:clamp(50px,7vw,95px);letter-spacing:-.075em;font-weight:400}.legal-placeholder p{font-size:21px;line-height:1.5;max-width:710px}
@media(min-width:1720px){.header-row{height:82px}:root{--navheight:82px}}
@media(max-width:1280px){.nav-desktop{gap:17px;margin-left:5px}.nav-desktop a,.header-call,.header-project{font-size:12px}.header-actions{gap:14px}.header-meta{display:none}.header-brand{width:135px}.hero-identifier{top:calc(var(--navheight) + 20px)}}
@media(max-width:970px){:root{--navheight:70px}.nav-desktop,.header-project{display:none}.header-row{justify-content:space-between}.header-call{margin-right:6px}.header-actions{margin-left:auto;flex-direction:row-reverse}.menu-button{display:flex}.header-brand{width:133px}.intro-grid{grid-template-columns:1.1fr .9fr;gap:40px}.process-layout{grid-template-columns:1.1fr .9fr;gap:30px}.process-copy h2{font-size:clamp(43px,6vw,69px)}.process-copy-step h3{font-size:clamp(25px,3.5vw,35px)}.capability-layout{gap:30px}.cap-row strong{font-size:28px}.capabilities-heading{gap:28px}.personal-grid{gap:35px}.contact-grid{gap:45px}}
@media(max-width:720px){:root{--pad:24px;--navheight:64px}.header-call{font-size:12px}.header-brand{width:125px}.hero-scroll,.outro-scroll{height:225svh}.hero-centre,.outro-centre{top:47%;gap:clamp(43px,6.5vh,65px)}.claim-lockup{width:min(92vw,490px)}.hero-slogan,.outro-slogan{font-size:clamp(25px,6vw,34px);max-width:90vw}.hero-identifier,.hero-bottom{font-size:9px;left:var(--pad);right:var(--pad)}.hero-identifier{top:calc(var(--navheight) + 26px)}.hero-bottom{bottom:22px}.hero-bottom>span:first-child{display:none}.intro-section{padding-top:110px;padding-bottom:115px}.section-top{font-size:9px}.section-top span:last-child{max-width:52%;text-align:right}.huge-head{font-size:clamp(41px,8.9vw,77px)}.intro-grid,.capabilities-heading,.ref-heading{display:grid;grid-template-columns:1fr;gap:35px;margin:65px 0 80px}.intro-aside{padding-bottom:0}.sequence{grid-template-columns:1fr}.seq-card,.seq-card:nth-of-type(2),.seq-card:nth-of-type(3){min-height:205px;padding:25px 0 38px;border-right:0;border-bottom:1px solid var(--line)}.seq-card h3{margin:26px 0 16px;font-size:38px}.seq-symbol{right:12px;bottom:20px}.legacy-section{padding:100px 0}.legacy-layout{display:block}.legacy-side{min-height:0;flex-direction:row;justify-content:space-between;margin-bottom:50px}.legacy-statement{font-size:clamp(49px,9.5vw,79px)}.legacy-description{margin:32px 0 0;max-width:500px}.process-scroll{height:300svh}.process-sticky{height:100svh}.process-layout{display:flex;flex-direction:column;gap:5px;padding-top:calc(var(--navheight) + 18px);height:100%;justify-content:center}.process-panel{width:100%;height:49%;display:flex;flex-direction:column}.panel-caption{font-size:9px;padding-bottom:10px}.plan-canvas{max-height:none;flex:1;min-height:0;aspect-ratio:auto}.plan-canvas svg{height:100%}.drawing-corner{bottom:0;font-size:9px}.process-progress{font-size:8px;padding-top:10px}.process-copy{width:100%;height:43%;display:flex;flex-direction:column}.process-copy .eyebrow{font-size:9px}.process-copy h2{font-size:clamp(40px,8vw,60px);margin:12px 0 16px}.process-copy-steps{height:160px;flex-shrink:0}.process-copy-step{inset:13px 0 0}.step-kicker{font-size:9px}.process-copy-step h3{font-size:clamp(27px,5vw,39px);margin:11px 0 8px}.process-copy-step p{font-size:clamp(14px,3vw,16px);line-height:1.42}.process-explainer{font-size:8px;margin-top:6px}.capabilities-section{padding:100px 0}.capability-layout{display:flex;flex-direction:column-reverse;gap:20px}.cap-visual{width:100%;position:relative;top:auto;aspect-ratio:1.55;min-height:260px}.cap-schematic{height:74%}.cap-list{width:100%}.cap-row{min-height:95px;padding:16px 0;grid-template-columns:30px 1fr 20px}.cap-row strong{font-size:clamp(26px,6vw,39px)}.cap-row small{font-size:11px;margin-top:7px}.cap-row>span:first-child{font-size:11px}.cap-footer{margin-top:40px}.personal-grid,.contact-grid{grid-template-columns:1fr;gap:65px}.personal-section{padding:105px 0}.portrait-placeholder{max-width:580px;width:100%;aspect-ratio:1/.94}.portrait-words{font-size:clamp(45px,9vw,70px)}.references-teaser{padding:100px 0}.ref-grid{grid-template-columns:1fr;gap:35px}.ref-heading{margin-bottom:48px}.ref-placeholder{aspect-ratio:1.45}.ref-placeholder strong{font-size:48px}.contact-section{padding:100px 0}.contact-grid{margin-top:60px}.contact-copy>h2{margin-bottom:30px}.contact-copy>p{max-width:550px}.phone-block{margin-top:30px!important}.site-footer{padding-top:65px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px;padding-bottom:70px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-wrap:wrap;line-height:1.5}.footer-bottom>span:last-child{display:none}.inner-hero{min-height:clamp(540px,80svh,780px);padding:calc(var(--navheight) + 65px) 0 65px}.inner-hero h1{font-size:clamp(48px,10.4vw,89px);margin:70px 0 40px}.inner-hero .hero-details{display:block}.inner-hero .hero-details>span{display:block;margin-top:30px}.split-statement,.ref-editorial{grid-template-columns:1fr;gap:35px}.feature-row{grid-template-columns:35px 1fr;gap:12px;padding:30px 0}.feature-row p{grid-column:2}.inner-image-grid,.mini-cards{grid-template-columns:1fr}.mini-card{min-height:230px}.inner-photo{min-height:250px;aspect-ratio:4/4}.inner-content{padding:100px 0}}
@media(max-width:390px){:root{--pad:19px;--navheight:62px}.hero-slogan,.outro-slogan{font-size:24px}.hero-identifier{font-size:8px}.claim-lockup{width:94vw}.hero-centre,.outro-centre{gap:39px}.process-panel{height:45%}.process-copy{height:48%}.process-copy h2{font-size:37px}.process-copy-steps{height:185px}.cap-row strong{font-size:25px}.huge-head{font-size:40px}.legacy-statement{font-size:43px}.ref-placeholder strong{font-size:39px}.footer-grid{grid-template-columns:1fr;gap:34px}.footer-grid>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}.hero-scroll,.outro-scroll{height:100svh}.process-scroll{height:auto}.process-sticky{position:relative;min-height:100svh}.hero-camera,.outro-world{transform:none!important}.cotton-arrival{opacity:0!important}.reveal,.reveal-lines,.seq-card{opacity:1!important;transform:none!important}.drawing-wires,.drawing-verified{opacity:1!important}.drawing-wires .wire-path{stroke-dashoffset:0!important}.process-copy-step{opacity:0!important}.process-copy-step.is-active{opacity:1!important}}

/* Corrections after browser review. SVG crosses stay vector-sharp at every scale. */
.cross-field{position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath d='M12 15h6m-3-3v6' fill='none' stroke='white' stroke-opacity='.2' stroke-width='.8'/%3E%3C/svg%3E")}
.hero-centre,.outro-centre{gap:clamp(43px,5.7vh,76px)}
.hero-slogan,.outro-slogan{font-weight:400;letter-spacing:-.045em;line-height:1.18}
.handwriting{width:63%;height:90%}.handwriting path{stroke-width:1.9;vector-effect:none}
#space-input{position:relative;inset:auto;opacity:1;font-family:var(--type);font-size:clamp(16px,2.6vw,36px);letter-spacing:-.035em;padding-inline:12px;cursor:text;border-radius:0}
.outro-world:not(.outro-ready) #space-input{visibility:hidden}
.outro-top-note,.outro-bottom-note{display:none}
.intro-aside>p,.personal-copy>p{background:var(--white);padding:24px;max-width:590px}
.process-scroll{height:280svh;background:var(--blue);position:relative}
.process-sticky{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden}
.process-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(36px,6vw,100px);align-items:center;width:100%;padding-top:var(--navheight)}
.process-panel,.process-copy{min-width:0}.panel-caption,.process-progress{font-size:10px;letter-spacing:.08em;display:flex;justify-content:space-between;gap:16px;align-items:center}
.panel-caption{border-bottom:1px solid var(--line);padding-bottom:18px}.panel-caption span:last-child{font-size:9px;text-align:right}
.project-folder{position:relative;height:min(51svh,490px);margin:52px 0 24px;background:var(--black);border-radius:0 5px 5px 5px;padding:18px}
.folder-tab{position:absolute;top:-27px;left:0;background:var(--black);color:white;padding:9px 20px;font-size:10px;letter-spacing:.05em;border-radius:4px 4px 0 0}
.folder-sheet{position:absolute;inset:18px;background:white;padding:clamp(24px,3vw,45px);display:flex;flex-direction:column;opacity:0;transform:translateY(24px);transition:opacity .45s,transform .7s var(--ease);color:var(--black)}
.sheet-index,.sheet-foot{font-size:11px;letter-spacing:.055em}.folder-sheet h3{font-size:clamp(30px,3.5vw,52px);line-height:1.06;letter-spacing:-.055em;font-weight:400;margin:30px 0}
.sheet-rows{display:grid;gap:0;font-size:clamp(13px,1.2vw,17px)}.sheet-rows span{border-top:1px solid var(--line);padding:12px 0}.sheet-foot{margin-top:auto;padding-top:18px}
.process-scroll:not([data-phase]) [data-sheet="0"],.process-scroll[data-phase="0"] [data-sheet="0"],.process-scroll[data-phase="1"] [data-sheet="1"],.process-scroll[data-phase="2"] [data-sheet="2"]{opacity:1;transform:none}
.process-progress>div{height:2px;flex:1;background:var(--line)}.process-progress i{display:block;width:100%;height:2px;background:var(--black);transform-origin:left;transform:scaleX(0)}
.process-copy h2{font-size:clamp(43px,4.7vw,78px);line-height:1.04;letter-spacing:-.065em;font-weight:400;margin:28px 0 32px}
.process-copy-steps{position:relative;min-height:260px;border-top:1px solid var(--line)}.process-copy-step{position:absolute;inset:24px 0 0;opacity:0;transform:translateY(15px);transition:opacity .4s,transform .6s var(--ease);pointer-events:none}.process-copy-step.is-active{opacity:1;transform:none;pointer-events:auto}
.step-kicker{font-size:10px;letter-spacing:.09em}.process-copy-step h3{font-size:clamp(26px,2.7vw,40px);font-weight:400;line-height:1.1;letter-spacing:-.045em;margin:22px 0 18px}.process-copy-step p{font-size:18px;line-height:1.5;margin:0;background:white;padding:18px}
.process-explainer{font-size:12px;line-height:1.5;margin-top:24px;max-width:400px}
@media(max-width:970px){.process-layout{gap:28px}.folder-sheet{padding:24px}.sheet-rows{font-size:13px}.process-copy-step p{font-size:16px}.process-copy h2{font-size:43px}}
@media(max-width:720px){.process-scroll{height:300svh}.process-layout{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:20px;padding-top:calc(var(--navheight) + 14px);padding-bottom:16px;height:100%}.process-panel{height:auto;flex-shrink:1}.panel-caption{font-size:9px;padding-bottom:10px}.panel-caption span:last-child{font-size:8px;max-width:140px}.project-folder{height:29svh;min-height:205px;margin:35px 0 12px;padding:12px}.folder-sheet{inset:12px;padding:18px}.folder-sheet h3{font-size:26px;margin:12px 0}.sheet-index,.sheet-foot{font-size:9px}.sheet-rows{font-size:12px}.sheet-rows span{padding:7px 0}.sheet-foot{display:none}.process-progress{font-size:8px}.process-copy{height:auto}.process-copy .eyebrow{font-size:9px}.process-copy h2{font-size:35px;margin:12px 0 15px}.process-copy-steps{min-height:215px}.process-copy-step{inset:15px 0 0}.step-kicker{font-size:9px}.process-copy-step h3{font-size:26px;margin:14px 0 12px}.process-copy-step p{font-size:15px;line-height:1.45;padding:12px}.process-explainer{font-size:10px;margin:12px 0 0}.cap-row{gap:8px}.ref-placeholder strong{font-size:clamp(31px,8.9vw,48px)}.outro-slogan{font-size:24px}.intro-aside>p,.personal-copy>p{padding:20px}}
@media(max-height:720px) and (max-width:720px){.process-scroll{height:auto;padding:70px 0}.process-sticky{position:relative;height:auto;overflow:visible}.process-layout{height:auto}.project-folder{height:270px}.process-copy-step{position:relative;inset:auto;opacity:1;transform:none;margin-top:26px}.process-copy-steps{min-height:0}}
@media(prefers-reduced-motion:reduce){.hero-scroll,.outro-scroll{height:100svh}.hero-sticky,.outro-sticky{position:relative}.process-scroll{height:auto;padding:90px 0}.process-sticky{height:auto;position:relative;overflow:visible}.process-layout{height:auto;padding-top:0}.process-copy-step,.process-copy-step.is-active{position:relative;inset:auto;opacity:1!important;transform:none;margin-top:32px;pointer-events:auto}.process-copy-steps{height:auto;min-height:0}.project-folder{height:auto;display:grid;gap:15px}.folder-sheet{position:relative;inset:auto;opacity:1!important;transform:none!important;min-height:310px}.process-copy{height:auto}.process-progress{display:none}}

.hero-camera,.outro-world{background:transparent}.outro-you{position:absolute;left:18.5%;top:5%;pointer-events:none}.outro-you path{stroke-dashoffset:0}.claim-box:focus-within .outro-you,.claim-box:has(input:not(:placeholder-shown)) .outro-you{display:none}#space-input::placeholder{color:transparent}#space-input:focus::placeholder{color:rgba(33,34,39,.45)}.outro-world:not(.outro-ready) .outro-you{visibility:hidden}.process-copy-step.is-active{transition-delay:.1s}
html{scroll-behavior:auto}
.inner-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inner-image-grid figure{min-width:0;margin:0}.inner-photo+figcaption{flex-wrap:wrap}.inner-photo small{overflow-wrap:anywhere}
@media(max-width:720px){.inner-image-grid{grid-template-columns:minmax(0,1fr)}}
.folder-sheet{transition:opacity .18s,transform .55s var(--ease)}
.process-scroll[data-phase="0"] [data-sheet="0"],.process-scroll[data-phase="1"] [data-sheet="1"],.process-scroll[data-phase="2"] [data-sheet="2"]{transition-delay:.18s}
@media(max-width:720px){.outro-slogan{font-size:clamp(25px,6vw,34px)}}
@media(max-width:390px){.outro-slogan{font-size:24px}}

/* Geometry from the supplied original one-line claim: artboard x=140…1480, y=140.3…285.7; rectangle x=845.4, width=634.6, height=140.1. */
.claim-lockup{display:block;position:relative;aspect-ratio:1340 / 145.4}
.claim-lockup>img{display:block;width:100%;height:100%}
.claim-box{position:absolute;left:52.641791%;top:0;width:47.358209%;height:96.354883%;aspect-ratio:auto}
.cross-field{background-image:url('../assets/cross-tile-original.svg');background-size:30px 30px;opacity:.25}
.outro-world:not(.outro-ready) #space-input{visibility:visible}
