:root{--bg:#111310;--paper:#f2f3ed;--muted:#b0b4aa;--accent:#d5fd71;--line:#34372f;--display:Impact,'Arial Narrow','Helvetica Neue',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--paper);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}.skip{position:fixed;top:-100px;z-index:99;background:var(--accent);color:var(--bg);padding:20px}.skip:focus{top:0}.header{height:98px;position:absolute;inset:0 0 auto;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 4.6%;border-bottom:1px solid #ffffff28;background:linear-gradient(#111310b3,#11131000)}.brand{display:flex;gap:12px;align-items:center;font-weight:900;letter-spacing:2px;font-size:27px;line-height:1}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:1.8px;margin-top:7px}.brandmark{position:relative;width:49px;height:49px;overflow:hidden;border-radius:50%;flex-shrink:0}.brandmark img{position:absolute;width:151.5%;max-width:none;top:-94.65%;left:-25.7%}.header nav{display:flex;gap:36px;font-size:14px}.header nav a{padding:12px 0;transition:color .2s}.header nav a:hover{color:var(--accent)}.button{display:inline-flex;gap:32px;align-items:center;justify-content:space-between;background:var(--accent);padding:21px 26px;color:var(--bg);font-size:15px;font-weight:700;border:1px solid var(--accent);transition:background .2s,transform .2s;cursor:pointer}.button:hover{background:#e7ffa9;transform:translateY(-3px)}.button span{font-size:23px;line-height:1}.button.small{padding:13px 18px;font-size:14px;gap:25px}.hero{min-height:850px;height:100svh;max-height:1150px;position:relative;isolation:isolate;overflow:hidden}.hero-media{position:absolute;top:0;right:0;width:58%;height:100%;z-index:-1;overflow:hidden;background:#242620}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:62% 40%;filter:saturate(.45) brightness(.72);transform:scale(1.045);will-change:transform}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg),#11131080 23%,transparent 58%),linear-gradient(0deg,var(--bg),transparent 25%,#11131033)}.photo-label{position:absolute;right:8%;top:50%;writing-mode:vertical-rl;z-index:2;font-size:10px;letter-spacing:3px;color:#fff9}.hero-copy{padding:165px 4.6% 120px;max-width:1400px;margin:auto}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:600;display:flex;align-items:center;gap:15px}.line{width:36px;height:1px;background:var(--accent)}h1{font-family:var(--display);font-stretch:condensed;font-size:clamp(80px,8.9vw,154px);line-height:.94;font-weight:900;letter-spacing:-.025em;margin:36px 0 25px}h1 em{font-style:normal;color:var(--accent)}.hero-description{color:#d7d9d0;font-size:17px;line-height:1.65;margin:0 0 28px}.hero-actions{display:flex;align-items:center;gap:32px}.text-link{display:inline-flex;gap:18px;align-items:center;font-size:14px;border-bottom:1px solid #b0b4aa;padding:12px 0}.text-link:hover{color:var(--accent)}.hero-bottom{position:absolute;bottom:28px;left:4.6%;right:4.6%;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1.8px;color:var(--muted)}.hero-bottom a{display:flex;gap:17px;align-items:center}.hero-bottom a span{font-size:22px;color:var(--accent)}.preview-footer{padding:24px 4.6%;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}@media(min-width:1600px){.hero-copy{max-width:none}}@media(max-width:850px){.header{height:82px}.header nav{display:none}.hero{min-height:820px;max-height:none}.hero-media{width:100%}.hero-media img{object-position:64% 40%;opacity:.63}.hero-media:after{background:linear-gradient(90deg,#111310b8,transparent),linear-gradient(0deg,#111310 3%,transparent 75%)}.hero-copy{padding-top:160px}.hero h1{font-size:clamp(72px,13vw,115px)}.hero-bottom>span:last-child{display:none}.hero-actions{gap:20px}.photo-label{display:none}}@media(max-width:500px){.header{padding:0 5%}.brand{font-size:23px;gap:8px}.brand small{font-size:8px}.brandmark{width:38px;height:38px}.button.small{font-size:12px;padding:12px;gap:10px}.hero{min-height:790px;height:100svh}.hero-copy{padding:162px 5% 120px}.hero .eyebrow{font-size:9px;gap:9px;letter-spacing:1px}.hero h1{font-size:clamp(64px,15vw,78px);line-height:1;margin-top:40px}.hero-description{font-size:16px;margin-top:26px}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px}.hero-bottom{font-size:8px}.hero-media img{object-position:58% center}.hero-bottom>span:first-child{max-width:110px;line-height:1.5}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.ribbon{background:var(--accent);color:var(--bg);overflow:hidden;padding:21px 0;transform:rotate(-1.5deg);width:102%;margin:0 -1%;position:relative;z-index:2}.ribbon>div{font-family:var(--display);font-size:35px;white-space:nowrap;word-spacing:10px;letter-spacing:.5px;transform:translateX(-40px)}.ribbon span{font-family:Arial,sans-serif;font-size:26px;padding:0 22px}.section{padding:108px 4.6%;max-width:1600px;margin:auto}.section-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.section-top>p:last-child{font-size:11px;letter-spacing:1.5px;color:var(--muted)}h2{font-family:var(--display);font-weight:900;font-size:clamp(48px,5.3vw,86px);line-height:1.04;letter-spacing:-.02em;margin:0}h2 span{color:var(--muted)}.section-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:42px}.section-title>div>p{font-size:16px;line-height:1.6;color:var(--muted)}.gallery-controls{display:flex;gap:10px;margin-top:25px}.gallery-controls button{width:45px;height:45px;background:none;border:1px solid #62675c;color:var(--paper);font-size:23px;cursor:pointer;transition:.2s}.gallery-controls button:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.gallery{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#59624c transparent;padding-bottom:18px}.gallery figure{flex:0 0 calc((100% - 48px)/3);margin:0;min-width:240px;scroll-snap-align:start}.shot{aspect-ratio:4/5;overflow:hidden;position:relative;background:#272923}.shot img{position:absolute;max-width:none;height:auto;filter:saturate(.65);transition:filter .4s,scale .5s}.shot:hover img{filter:saturate(1);scale:1.025}.classic img{width:110%;left:-5%;top:-49%}.curls img{width:124%;left:-12%;top:-61%}.beard img{width:108%;left:-4%;top:-21%}.young img{width:110%;left:-5%;top:-28%}.gallery figcaption{display:flex;flex-direction:column;gap:9px;padding-top:21px;font-size:12px;letter-spacing:1px}.gallery figcaption span:last-child{font-size:14px;letter-spacing:0;color:var(--muted)}.insta{margin-top:32px}.craft{height:155vh;min-height:1000px;position:relative;background:#20241e}.craft-sticky{position:sticky;top:0;height:100vh;min-height:690px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.craft-photo{position:relative;overflow:hidden;background:#383d34}.craft-photo img{width:100%;height:100%;object-fit:cover;object-position:60% 50%;transform:scale(1.08);filter:saturate(.35);will-change:transform}.craft-content{padding:13vh 10% 70px;position:relative;align-self:center}.craft-content h2{font-size:clamp(64px,6.3vw,104px);margin:27px 0}.craft-content h2 span{color:var(--accent)}.craft-body{font-size:17px;line-height:1.7;color:#c3c8bc;max-width:380px}.signature{margin-top:30px;font-size:14px;line-height:1.7}.signature strong{font:italic 38px Georgia,serif}.craft-content .text-link{margin-top:12px}.craft-counter{position:absolute;left:35px;bottom:30px;font-size:10px;letter-spacing:3px;writing-mode:vertical-rl;transform:rotate(180deg)}.services{background:var(--paper);color:var(--bg);max-width:none}.services>.section-top,.services-grid{max-width:1450px;margin-left:auto;margin-right:auto}.services .section-top>p:last-child{color:#51564a}.services h2 span{color:#808778}.services-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:70px;margin-top:60px}.service-row{display:grid;grid-template-columns:30px 1fr auto 24px;align-items:center;gap:20px;border-top:1px solid #c3c7bc;padding:27px 0;transition:padding .2s}.service-row:hover{padding-left:10px}.service-number{font-size:11px;color:#616659;align-self:start;margin-top:7px}.service-row h3{font-size:25px;letter-spacing:-.5px;margin:0 0 9px}.service-row p{margin:0;font-size:14px;color:#62695b;line-height:1.5}.duration{font-size:11px;letter-spacing:1px}.service-arrow{font-size:25px}.service-note{font-size:13px;line-height:1.6;color:#616659;border-top:1px solid #c3c7bc;padding-top:24px}.team-section{height:650px;position:relative;overflow:hidden;background:#2a2e26}.team-photo{position:absolute;inset:0;overflow:hidden}.team-photo img{position:absolute;width:100%;height:auto;top:-39vw;min-width:1150px;left:50%;transform:translateX(-50%);filter:brightness(.55) saturate(.4)}.team-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#111310c9,transparent),linear-gradient(0deg,#111310a8,transparent)}.team-note{position:absolute;bottom:75px;left:4.6%}.team-note h2{font-size:clamp(50px,6vw,95px);margin:30px 0}.team-note>p:last-child{font-size:17px;line-height:1.6;color:#d1d5c8}.contact{padding-bottom:0}.contact-title{display:flex;justify-content:space-between;align-items:center;margin:35px 0 70px}.contact-title h2{font-size:clamp(64px,8.5vw,140px)}.contact-title h2 span{color:var(--accent)}.round-book{width:160px;height:160px;flex-shrink:0;border-radius:50%;background:var(--accent);color:var(--bg);display:flex;flex-direction:column;gap:15px;justify-content:center;align-items:center;font-size:11px;letter-spacing:1px;font-weight:700;transition:transform .3s}.round-book:hover{transform:rotate(-8deg)}.round-book span{font-size:60px;font-weight:400;line-height:1}.contact-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:60px;border-top:1px solid var(--line);padding-top:45px}.contact-grid h3{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;margin:0 0 24px;color:var(--muted)}.contact-grid p{font-size:16px;line-height:1.8}.contact-link{display:block;font-size:16px;margin-bottom:15px;overflow-wrap:anywhere}.contact-link:hover{color:var(--accent)}.hours{font-size:15px;margin:0;max-width:270px}.hours>div{display:flex;justify-content:space-between;gap:24px;margin-bottom:14px}.hours dd{margin:0}.contact-grid .hours-note{font-size:12px;color:var(--muted);line-height:1.6}.footer-word{font-family:var(--display);font-weight:900;font-size:clamp(170px,27vw,420px);line-height:.9;letter-spacing:-.045em;margin-top:90px;text-align:center;color:#262b21;position:relative;overflow:hidden}.footer-word span{font:normal 35px Arial;vertical-align:top;display:inline-block;margin-top:30px;margin-left:10px;letter-spacing:0}.preview-footer{display:flex;gap:20px;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1px}.preview-footer button{color:var(--muted);background:transparent;border:1px solid var(--line);font-size:12px;padding:10px;cursor:pointer}.mobile-dock{display:none}.js-motion .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.js-motion .reveal.visible{opacity:1;transform:none}.motion-paused .reveal{opacity:1;transform:none}.motion-paused .hero-media img,.motion-paused .craft-photo img{transform:scale(1.045)!important}.header.is-scrolled{position:fixed;background:#111310ed;backdrop-filter:blur(14px);height:76px;animation:header-in .25s ease}@keyframes header-in{from{transform:translateY(-100%)}to{transform:translateY(0)}}@media(min-width:1500px){.team-photo img{top:-40vw}}@media(max-width:1000px){.craft-content{padding:80px 8% 50px}.craft-content h2{font-size:64px}.services-grid{gap:35px;grid-template-columns:1fr 1.8fr}.contact-grid{gap:30px}.team-photo img{top:-400px}.round-book{width:130px;height:130px}}@media(max-width:700px){.section{padding:75px 5%}.section-top>p:last-child{display:none}.section-title{gap:20px;align-items:flex-start}.section-title h2{font-size:clamp(38px,7.5vw,52px)}.section-title>div>p{display:none}.gallery-controls{margin-top:0;gap:7px}.gallery-controls button{width:37px;height:37px}.gallery{gap:16px}.gallery figure{flex-basis:78%;min-width:0}.ribbon{padding:15px 0}.ribbon>div{font-size:27px}.ribbon span{font-size:21px;padding:0 9px}.craft{height:auto;min-height:0}.craft-sticky{position:relative;height:auto;min-height:0;display:flex;flex-direction:column}.craft-photo{height:500px}.craft-photo img{object-position:center 40%}.craft-content{padding:50px 6% 65px}.craft-content h2{font-size:72px}.craft-body{max-width:100%}.craft-counter{display:none}.services-grid{grid-template-columns:1fr;gap:35px;margin-top:30px}.services h2{font-size:61px}.service-row{gap:12px;grid-template-columns:22px 1fr auto 20px}.service-row h3{font-size:22px}.service-row p{font-size:13px}.duration{font-size:10px}.team-section{height:540px}.team-photo img{min-width:800px;top:-280px}.team-note{bottom:40px;left:6%}.team-note h2{font-size:53px}.contact-title{gap:20px;align-items:flex-start;margin-bottom:50px}.contact-title h2{font-size:clamp(43px,9vw,65px)}.round-book{width:85px;height:85px;font-size:8px;gap:7px;letter-spacing:0}.round-book span{font-size:34px}.contact-grid{grid-template-columns:1fr 1fr;gap:40px 25px}.contact-grid>div:last-child{grid-column:1/-1}.contact-grid h3{font-size:11px;line-height:1.5}.contact-grid p,.contact-link,.hours{font-size:14px}.hours>div{gap:12px}.footer-word{font-size:25vw;margin-top:60px}.footer-word span{font-size:18px;margin-top:6px}.contact.section{padding-bottom:0}.preview-footer{padding:25px 5% 95px;flex-wrap:wrap;font-size:9px;line-height:1.6}.preview-footer>span:first-child{display:none}.mobile-dock{position:fixed;z-index:15;bottom:12px;left:4%;right:4%;display:grid;grid-template-columns:1fr 1.25fr;background:#171b14;box-shadow:0 3px 30px #0008;border:1px solid #484f3b;padding:5px}.mobile-dock a{text-align:center;padding:16px 10px;font-size:14px}.mobile-dock a:last-child{background:var(--accent);color:var(--bg);font-weight:700}.hero-bottom{bottom:35px}.hero{min-height:840px}.hero-copy{padding-bottom:125px}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}.craft{height:auto;min-height:0}.craft-sticky{position:relative}.hero-media img,.craft-photo img{transform:none!important}}
/* The opening image becomes a scroll-controlled camera sequence. */
body{overflow-x:clip}.hero-stage{height:195svh;min-height:1450px;position:relative}.hero-stage .hero{position:sticky;top:0;height:100svh;min-height:720px;max-height:none}.hero-stage .hero-media{width:var(--photo-width,58%);transition:none}.hero-stage .hero-media img{transform-origin:61% 68%;filter:saturate(.65) brightness(.77);transition:none}.hero-stage .hero-media:after{opacity:var(--shade,1)}.hero-copy{position:relative;z-index:2;will-change:transform,opacity}.title-line{display:block;will-change:transform}.hero-detail{position:absolute;z-index:3;left:5%;bottom:16%;opacity:0;transform:translateY(45px);pointer-events:none;max-width:80%;color:#fff}.detail-title{font-family:var(--display);font-size:clamp(60px,7.6vw,124px);line-height:1;margin:24px 0;letter-spacing:-.015em}.detail-title em{font-style:normal;color:var(--accent)}.hero-detail>p:last-child{font-size:17px}.hero-detail .eyebrow{font-size:10px;letter-spacing:2px}.cut-sweep{position:absolute;z-index:4;left:0;top:30%;width:100%;height:1px;opacity:0;pointer-events:none;transform:rotate(-12deg);transform-origin:center}.cut-rule{position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--accent) 22%,#fff 50%,var(--accent) 78%,transparent);box-shadow:0 0 16px #d5fd7150}.scissor-icon{position:absolute;left:var(--scissor-x,15%);width:37px;height:37px;top:-18px;background:#111310;border:1px solid #d5fd7160;border-radius:50%;padding:5px;color:var(--accent)}.hero-bottom{z-index:5}.hero-bottom a{position:relative;padding-bottom:12px}.scroll-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:#fff3}.scroll-progress i{display:block;height:100%;background:var(--accent);transform:scaleX(var(--cut-progress,0));transform-origin:left}.hero-motion{position:absolute;z-index:6;right:4.6%;bottom:90px;border:1px solid #ffffff66;width:38px;height:38px;border-radius:50%;color:white;background:#11131080;cursor:pointer}.hero-motion:hover{background:var(--accent);color:var(--bg)}.motion-symbol{font-size:16px}.hero-stage .photo-label{opacity:var(--copy-opacity,1)}.hero-stage .hero-copy{opacity:var(--copy-opacity,1)}.motion-paused .hero-stage{height:auto;min-height:0}.motion-paused .hero-stage .hero{position:relative}.motion-paused .hero-detail,.motion-paused .cut-sweep{display:none}.motion-paused .hero-copy{opacity:1!important;transform:none!important}.motion-paused .title-line{transform:none!important}.motion-paused .hero-stage .hero-media{width:58%!important}.motion-paused .hero-stage .hero-media:after{opacity:1!important}.motion-paused .hero-bottom a{font-size:0}.motion-paused .hero-bottom a:before{content:'HAARSCHNITTE ENTDECKEN';font-size:10px}.motion-paused .scroll-progress{display:none}@media(min-width:851px) and (max-height:820px){.hero-stage .hero{min-height:680px}.hero-stage .hero-copy{padding-top:130px}.hero-stage h1{font-size:clamp(80px,8vw,130px);margin-top:25px;margin-bottom:20px}.hero-stage .hero-description{margin-bottom:20px}}@media(max-width:850px){.hero-stage{height:175svh;min-height:1300px}.hero-stage .hero-media,.motion-paused .hero-stage .hero-media{width:100%!important}.hero-stage .hero-media img{object-position:61% 45%;transform-origin:60% 68%;opacity:.8}.hero-detail{bottom:20%;left:5%}.detail-title{font-size:clamp(60px,11vw,92px)}}@media(max-width:500px){.hero-stage{height:170svh;min-height:1150px}.hero-stage .hero{min-height:720px}.hero-stage .hero-copy{padding-top:140px}.hero-stage h1{margin-top:28px;font-size:14.5vw}.hero-stage .hero-description{margin-top:20px}.hero-stage .hero-bottom{bottom:86px}.hero-motion{bottom:135px}.hero-detail{bottom:25%;max-width:90%}.hero-detail .eyebrow{font-size:9px;line-height:1.8;letter-spacing:1px;max-width:250px}.detail-title{font-size:14vw}.hero-detail>p:last-child{font-size:15px}}@media(prefers-reduced-motion:reduce){.hero-stage{height:auto;min-height:0}.hero-stage .hero{position:relative}.hero-detail,.cut-sweep{display:none!important}.hero-copy,.title-line{transform:none!important;opacity:1!important}}
/* A floating photographic screen, driven by scroll and fine-pointer movement. */
.craft{background:radial-gradient(ellipse at 24% 45%,#36412a 0%,#1b2018 35%,#12150f 75%);height:165vh}.craft-sticky{overflow:hidden}.craft-photo{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:70px 8% 55px 11%;background:transparent;overflow:visible;perspective:1200px;isolation:isolate}.craft-frame{position:relative;width:100%;max-width:600px;border:1px solid #8e987b;border-radius:16px;background:#1c2118;padding:8px;box-shadow:18px 28px 0 -20px #586148,25px 45px 70px #000b,inset 0 1px 0 #d5fd7180;transform-style:preserve-3d;will-change:transform;transition:transform .12s linear;overflow:hidden}.frame-top,.frame-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 14px;font-size:10px;letter-spacing:1.6px;color:#c0c7b6}.frame-top{border-bottom:1px solid #5a654640}.frame-top>span:last-child{color:#d5fd71;font-size:9px}.frame-bottom{font-size:9px;padding:16px 14px 10px}.frame-bottom>span:last-child{color:var(--accent);font-size:23px;line-height:1}.frame-image{aspect-ratio:4/4.7;width:100%;max-height:61vh;position:relative;overflow:hidden;border-radius:8px;background:#222}.craft-photo .frame-image img{height:100%;width:100%;object-fit:cover;object-position:55% 50%;filter:saturate(.7) contrast(1.05);transform:scale(1.03);transition:none}.frame-glare{position:absolute;inset:0;border-radius:16px;background:radial-gradient(ellipse at var(--glare-x,50%) var(--glare-y,30%),#ffffff12,transparent 65%);pointer-events:none}.frame-credit{font-size:9px;letter-spacing:2px;color:#a3ad97;line-height:1.7;margin:35px 0 0;text-align:center}.craft-content{padding-left:7%;padding-right:8%}.craft-content h2{font-size:clamp(55px,5.4vw,90px)}.craft-counter{display:none}.motion-paused .craft-frame{transform:none!important}.motion-paused .craft{height:auto;min-height:0}.motion-paused .craft-sticky{position:relative;height:auto;min-height:700px}@media(max-width:850px) and (min-width:701px){.craft-photo{padding-left:9%;padding-right:5%}.frame-top{font-size:8px}.frame-top>span:last-child{display:none}.craft-content h2{font-size:51px}.craft-body{font-size:15px}}@media(max-width:700px){.craft{height:auto;min-height:0}.craft-photo{height:auto;padding:85px 12% 15px}.craft-frame{max-width:430px}.frame-image{max-height:none;aspect-ratio:4/4.6}.craft-content{padding:35px 6% 65px}.craft-content h2{font-size:clamp(55px,13vw,80px)}.frame-credit{font-size:8px;letter-spacing:1.4px;margin-top:25px}.craft-sticky{height:auto;position:relative}.frame-top{font-size:8px}.frame-top>span:last-child{font-size:8px}.frame-bottom{font-size:8px}}@media(prefers-reduced-motion:reduce){.craft{height:auto}.craft-frame{transform:none!important}.craft-sticky{position:relative;height:auto;min-height:700px}}
.frame-credit{position:relative;z-index:2;margin-top:48px;color:#aeb9a1}.craft-photo:after{content:"";position:absolute;width:65%;height:30px;bottom:8%;left:17%;background:#0006;filter:blur(25px);z-index:-1}.hero-stage .hero-copy .eyebrow{line-height:1.7}@media(max-width:700px){.frame-credit{margin-top:35px}.craft-photo:after{bottom:15%}}
/* Real footage with scroll-controlled playback. */
.hero-stage{height:330svh;min-height:2400px}.hero-stage .hero-media{width:58%;will-change:opacity}.hero-stage .hero-media img{transform:scale(1.045)!important}.film-scene{position:absolute;inset:0;z-index:1;opacity:0;visibility:hidden;background:#111310;overflow:hidden}.film-screen{position:absolute;inset:0 0 0 28%;overflow:hidden}.film-shots,.film-shade{position:absolute;inset:0}.film-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center;filter:saturate(.65) contrast(1.05);opacity:0;will-change:opacity}.film-shot:first-child{opacity:1;object-position:50% 47%}.film-shot:nth-child(2){object-position:57% center}.film-shot:nth-child(3){object-position:73% center}.film-shade{background:linear-gradient(90deg,#111310 0%,#11131090 18%,transparent 53%),linear-gradient(0deg,#111310 0%,transparent 40%,#11131055);pointer-events:none}.film-story{position:absolute;top:38%;left:5%;z-index:3;max-width:58%;pointer-events:none}.film-story h2{font-size:clamp(50px,6.6vw,105px);line-height:1.03;margin:25px 0;text-shadow:0 2px 35px #0004}.film-story h2 span{color:var(--paper)}.film-story em{font-style:normal;color:var(--accent)}.film-description{color:#d3d7cd;font-size:16px;line-height:1.7;max-width:340px}.film-kicker{color:#dee4d4}.film-steps{display:flex;gap:25px;margin-top:40px}.film-step{position:relative;font-size:10px;letter-spacing:1.3px;color:#c0c6b6;border-top:1px solid #ffffff50;padding-top:13px;min-width:76px}.film-step i{position:absolute;top:-2px;left:0;height:2px;width:100%;background:var(--accent);transform:scaleX(var(--chapter-progress,0));transform-origin:left}.film-step.active{color:var(--accent)}.film-credit{position:absolute;right:5%;bottom:115px;font-size:8px;letter-spacing:1.6px;color:#ffffffa0}.motion-paused .film-scene{display:none!important}.motion-paused .hero-media{opacity:1!important}
@media(max-width:850px){.hero-stage{height:330svh;min-height:2300px}.hero-stage .hero-media{width:100%}.film-screen{inset:0}.film-shade{background:linear-gradient(0deg,#111310 5%,#111310dd 18%,#11131055 47%,transparent 74%,#11131099)}.film-story{top:auto;bottom:17%;max-width:90%}.film-story h2{font-size:clamp(50px,9vw,78px);margin:20px 0}.film-steps{margin-top:25px}.film-kicker{font-size:10px}.film-credit{bottom:110px;right:auto;left:5%}}
@media(max-width:500px){.hero-stage{height:330svh;min-height:2150px}.film-screen{bottom:16%}.film-shot{object-position:55% center}.film-shot:nth-child(2){object-position:55% center}.film-shot:nth-child(3){object-position:73% center}.film-story{bottom:23%;left:6%;max-width:92%}.film-story h2{font-size:12vw;margin:15px 0}.film-description{font-size:13px;max-width:260px}.film-steps{margin-top:22px;gap:20px}.film-step{font-size:9px;min-width:65px}.film-kicker{font-size:9px}.film-credit{bottom:148px;left:6%;font-size:7px;letter-spacing:1px}.film-shade{background:linear-gradient(0deg,#111310 0%,#111310d9 17%,#11131044 50%,transparent 80%,#11131088)}}
@media(prefers-reduced-motion:reduce){.hero-stage{height:auto;min-height:0}.film-scene{display:none!important}}
html,body{overflow-x:clip}@media(min-width:851px){.film-credit{bottom:155px}}

/* Complete service catalogue, grouped for quick scanning. */
.services-grid{grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);gap:7%}.services-intro>p{color:#575c51;line-height:1.7;font-size:16px;margin:28px 0 16px}.services-intro .text-link{border-color:#656d58}.service-category{border-top:1px solid #c4c9ba}.service-category:last-of-type{border-bottom:1px solid #c4c9ba}.service-category summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;padding:27px 0}.service-category summary::-webkit-details-marker{display:none}.category-number{font-size:11px;color:#727969}.service-category summary h3{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:23px;font-weight:600;letter-spacing:-.5px;flex:1}.category-count{font-size:11px;color:#686f60;white-space:nowrap}.category-plus{font-size:27px;font-weight:400;line-height:1;width:22px;text-align:center}.service-category[open] .category-plus{transform:rotate(45deg)}.service-category summary:focus-visible{outline:2px solid #4f6328;outline-offset:5px}.category-services{padding:0 0 18px 32px}.service-item{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 0;border-top:1px solid #daddd3}.service-item h4{font:500 16px/1.5 Arial,Helvetica,sans-serif;margin:0;max-width:590px}.service-item p{font-size:12px;line-height:1.6;color:#656d5d;margin:6px 0 0}.service-cta{font-size:11px;white-space:nowrap;display:flex;gap:15px;align-items:center}.service-cta>span{font-size:20px}.service-item:hover h4{color:#4d602b}.service-item:hover .service-cta{transform:translateX(3px)}.service-note{line-height:1.7}.film-step{min-width:90px}.header nav{gap:25px}.contact-title h2{font-size:clamp(60px,7.4vw,120px)}
@media(max-width:900px){.services-grid{grid-template-columns:1fr;gap:40px}.services-intro>p{margin-top:20px}.service-category summary h3{font-size:21px}.contact-title h2{font-size:clamp(50px,8.4vw,90px)}}
@media(max-width:500px){.category-count{display:none}.service-category summary{gap:12px;padding:23px 0}.service-category summary h3{font-size:21px}.category-services{padding-left:0}.service-item{gap:15px;align-items:flex-start}.service-item h4{font-size:15px}.service-cta{font-size:10px;gap:7px;padding-top:3px}.film-step{min-width:0;font-size:8px;letter-spacing:.8px}.film-steps{gap:18px}.hero-stage h1{font-size:13vw}.contact-title h2{font-size:10.7vw}.services-intro>p{font-size:15px}}
/* A continuous, edited movie: scrolling reveals it, playback supplies the motion. */
.hero-stage{height:190svh;min-height:1500px}.film-movie{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% center;filter:saturate(.72) contrast(1.03)}.film-play{position:absolute;right:8%;top:22%;z-index:5;color:var(--bg);background:var(--accent);border:0;padding:15px 20px;font-size:13px;font-weight:700;cursor:pointer}.film-play[hidden]{display:none}.film-step i{transition:transform .25s linear}
@media(max-width:850px){.hero-stage{height:190svh;min-height:1400px}.film-screen{inset:12% 0 10%}.film-movie{object-position:64% center}}
@media(max-width:500px){.hero-stage{height:180svh;min-height:1200px}.film-screen{inset:13% 0 26%}.film-movie{object-position:63% center}.film-play{right:6%;top:16%}}
.motion-paused .hero-stage{height:auto;min-height:0}@media(prefers-reduced-motion:reduce){.hero-stage{height:auto;min-height:0}}

/* A single, staggered headline entrance; scroll motion stays on the outer lines. */
#hero-title .title-line{clip-path:inset(-.08em -.12em -.12em);--title-delay:.16s}
#hero-title .title-line:nth-child(2){--title-delay:.32s}
#hero-title .title-line:nth-child(3){--title-delay:.48s}
.title-reveal{display:inline-block;transform-origin:0 100%}
.title-accent em{position:relative;display:inline-block;padding-bottom:.075em}
.title-accent em:after{content:"";position:absolute;left:.015em;right:.01em;bottom:.015em;height:.035em;background:var(--accent);transform-origin:left}
.js-motion .title-reveal{animation:headline-enter 1.05s cubic-bezier(.16,1,.3,1) var(--title-delay) both}
.js-motion .title-accent em{background:linear-gradient(110deg,var(--accent) 38%,#f8ffe8 47%,#fff 50%,var(--accent) 62%);background-size:260% 100%;background-position:100% 0;background-clip:text;-webkit-background-clip:text;color:transparent;animation:headline-light 1.4s cubic-bezier(.2,.65,.3,1) 1.1s both}
.js-motion .title-accent em:after{animation:headline-underline .75s cubic-bezier(.16,1,.3,1) 1s both}
@keyframes headline-enter{from{transform:translate3d(0,112%,0) rotate(3deg);opacity:0}to{transform:translate3d(0,0,0) rotate(0);opacity:1}}
@keyframes headline-light{from{background-position:100% 0}to{background-position:0 0}}
@keyframes headline-underline{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.motion-paused .title-reveal,.motion-paused .title-accent em,.motion-paused .title-accent em:after{animation:none!important}
.motion-paused .title-accent em{color:var(--accent);background:none}
@media(prefers-reduced-motion:reduce){.title-reveal{transform:none!important;opacity:1!important}.title-accent em{color:var(--accent)!important;background:none!important}}
