:root{--paper:#f5f6f2;--ink:#17221f;--muted:#5f6762;--line:#dcded7;--lime:#d8ed8b;--dark:#18211e;--serif:'DM Serif Display',Georgia,serif;--sans:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%;display:block}button{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #748d2a;outline-offset:6px}::selection{background:var(--lime);color:var(--ink)}.skip{position:fixed;top:8px;left:10px;padding:12px 20px;background:var(--lime);z-index:100;transform:translateY(-150%)}.skip:focus{transform:translateY(0)}.header{max-width:1536px;margin:auto;height:108px;padding:0 4.2%;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{flex-shrink:0}.brand img{width:174px;height:auto}.navigation{display:flex;gap:36px;margin-left:10%}.navigation>a{font-size:.875rem;font-weight:600;position:relative}.navigation>a:after{content:'';position:absolute;height:1px;background:currentColor;bottom:-6px;left:0;width:0;transition:width .2s}.navigation>a:hover:after{width:100%}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;background:var(--ink);color:white;border:1px solid var(--ink);border-radius:5px;padding:16px 21px;font-weight:600;font-size:.875rem;line-height:1.5;min-height:54px;transition:background .2s,transform .2s;white-space:normal}.button:hover{background:#34473d;transform:translateY(-2px)}.button span{font-size:1.2rem;font-weight:400}.button-small{font-size:.8125rem;padding:11px 18px;min-height:46px}.menu-toggle{display:none}.hero{max-width:1536px;margin:auto;padding:15px 2.1% 0 4.2%;display:grid;grid-template-columns:1.07fr 1fr;gap:4.5%;min-height:685px}.hero-copy{padding:38px 0 30px}.eyebrow{font-size:.75rem;font-weight:650;letter-spacing:.12em;line-height:1.7;margin:0}.hero .eyebrow{display:flex;align-items:center;gap:10px;font-size:.6875rem}.tiny-rule{display:inline-block;width:26px;height:1px;background:var(--ink)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(4.1rem,6.9vw,7.1rem);line-height:1.03;letter-spacing:-.065em;font-weight:500;margin:28px 0 27px}em{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}h1 em{white-space:nowrap;letter-spacing:-.055em}h1 em:after{content:'';display:block}.hero-lead{font-size:1.13rem;letter-spacing:-.025em;font-weight:650;margin-bottom:9px}.hero-description{max-width:410px;font-size:.925rem;line-height:1.8;color:var(--muted);margin-bottom:28px}.hero-actions{display:flex;align-items:center;gap:24px}.text-link{display:inline-flex;gap:13px;align-items:center;font-size:.8125rem;font-weight:650}.text-link:hover{text-decoration:underline;text-underline-offset:6px}.hero-origin{display:flex;align-items:center;gap:9px;font-size:.75rem;color:var(--muted);margin-top:36px}.origin-icon{font-size:1.3rem;line-height:1;color:#647736}.hero-visual{position:relative;min-height:660px;border-radius:8px;overflow:hidden;background:#17221e;color:#fff}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#111b1940,transparent 22%,transparent 58%,#101a18aa);pointer-events:none}.art-top,.art-bottom{position:absolute;z-index:1;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between}.art-top{top:30px;font-size:.625rem;letter-spacing:.15em;color:#d5dfd9}.art-top>span:first-child{border:1px solid #ffffff45;border-radius:100px;padding:7px 11px}.art-bottom{bottom:30px}.art-bottom p{font-size:1.1rem;line-height:1.6;font-weight:450;margin:0}.round-link{border:1px solid #ffffff55;border-radius:50%;width:47px;height:47px;display:grid;place-items:center;font-size:1.3rem;transition:.2s}.round-link:hover{background:var(--lime);color:var(--ink);border-color:var(--lime)}.principles{max-width:1408px;margin:0 auto;padding:37px 0;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);font-size:.8125rem;color:var(--muted)}.principles span{display:flex;align-items:center;gap:10px}.principles span:before{content:'✳';color:#77864f;font-size:1.1rem}.section{max-width:1408px;margin:auto;padding:100px 0}.section-heading>.eyebrow{margin-bottom:27px}.section-heading>div{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:44px}h2{font-size:clamp(2.2rem,3.25vw,3.6rem);font-weight:500;letter-spacing:-.05em;line-height:1.15;margin:0}h2 em{font-size:1.08em}.section-heading>div>p{font-size:.875rem;color:var(--muted);margin-bottom:4px;line-height:1.8}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service{border-radius:8px;padding:40px 40px 0;overflow:hidden;scroll-margin-top:28px}.training{background:#e9ece4}.software{background:var(--dark);color:var(--paper)}.service-top{display:flex;align-items:center;gap:15px;margin-bottom:32px}.service-number{display:grid;place-items:center;border:1px solid #b5bcaf;width:32px;height:32px;border-radius:50%;font-size:.75rem}.service-label{font-size:.6875rem;letter-spacing:.12em}.service-top svg{margin-left:auto}.software .service-number{border-color:#57624c;color:var(--lime)}.software .service-top svg{color:var(--lime)}.service h3{font-size:2.75rem;letter-spacing:-.05em;line-height:1.16;font-weight:500;margin-bottom:19px}.service-intro{font-size:.925rem;color:var(--muted);line-height:1.8;max-width:475px;min-height:81px;margin-bottom:23px}.software .service-intro{color:#adb9b1}.service-details{border-top:1px solid #cdd3c8;margin-bottom:30px}.service-details details,.service-row{border-bottom:1px solid #cdd3c8}.service-details summary,.service-row{display:flex;align-items:center;justify-content:space-between;padding:17px 0;font-size:.875rem;font-weight:600;gap:20px;list-style:none;cursor:pointer}.service-details summary::-webkit-details-marker{display:none}.service-details summary>span{font-weight:400;font-size:1.1rem;transition:transform .2s}.service-details details[open] summary>span{transform:rotate(45deg)}.service-details details>div{padding:0 22px 20px 0;font-size:.875rem;color:var(--muted)}.service-details details p{margin-bottom:12px}.service-details details p:last-child{margin-bottom:0}.inline-button{display:inline-flex;align-items:center;gap:15px;border:0;background:none;padding:0;color:inherit;text-decoration:underline;text-underline-offset:5px;font-size:.875rem}.software .service-details,.software .service-details details{border-color:#3c4740}.software .service-details details>div{color:#b7c0bb}.button-lime{background:var(--lime);color:var(--ink);border-color:var(--lime)}.button-lime:hover{background:#e8f6b7}.training-photo{height:184px;margin:34px -40px 0;position:relative;overflow:hidden}.training-photo img{width:100%;height:100%;object-fit:cover;object-position:center 46%}.training-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#17221fb3,transparent 85%)}.training-photo span{position:absolute;z-index:1;left:40px;bottom:26px;color:white;font-size:1.05rem;line-height:1.5}.workflow{height:184px;margin:34px -40px 0;padding:36px 28px 24px;background:#202b25;display:flex;flex-direction:column;justify-content:center}.workflow-line{display:flex;align-items:center;justify-content:center;gap:11px}.workflow-node{font-size:.75rem;border:1px solid #526253;border-radius:5px;padding:12px 13px;color:#dce3d9}.workflow-node.active{background:var(--lime);color:var(--ink);border-color:var(--lime);letter-spacing:.08em}.workflow-line>span:not(.workflow-node){color:#b4c99d}.workflow>p{color:#9aa89d;text-align:center;font-size:.75rem;margin:17px 0 0}.potential{max-width:1408px;margin:0 auto;display:flex;align-items:center;gap:42px;background:var(--lime);padding:39px 43px;border-radius:8px}.potential-time{border-right:1px solid #71854555;padding-right:38px;display:flex;flex-direction:column;align-items:center}.potential-time strong{font-size:5rem;line-height:1;font-weight:450;letter-spacing:-.08em}.potential-time span{font-size:.625rem;letter-spacing:.13em;margin-top:9px}.potential-copy{flex:1}.potential-copy .eyebrow{font-size:.625rem;margin-bottom:12px}.potential-copy h2{font-size:1.7rem;letter-spacing:-.04em;margin-bottom:10px}.potential-copy>p:last-child{font-size:.8125rem;line-height:1.8;margin-bottom:0;max-width:560px}.potential>.button{flex-shrink:0}.approach{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:118px;padding-bottom:115px}.approach-heading .eyebrow{margin-bottom:26px}.approach-heading h2{font-size:3.35rem;line-height:1.16}.approach-heading>p:last-child{margin:24px 0 0;color:var(--muted);font-size:.925rem;max-width:380px;line-height:1.8}.steps article{display:flex;gap:25px;padding:25px 0;border-bottom:1px solid var(--line)}.steps article:first-child{padding-top:0}.steps article>span{font-size:.75rem;color:#788268;padding-top:5px}.steps h3{font-size:1.25rem;letter-spacing:-.025em;font-weight:600;margin-bottom:9px}.steps p{font-size:.875rem;line-height:1.8;color:var(--muted);max-width:400px;margin-bottom:0}.contact{background:var(--dark);color:var(--paper);padding:80px max(4.2%,calc((100vw - 1408px)/2)) 77px;display:flex;align-items:center;justify-content:space-between;gap:60px}.contact .eyebrow{color:#b9c3bb;margin-bottom:28px}.contact h2{font-size:clamp(3.1rem,5vw,5.4rem);line-height:1.05;margin-bottom:26px}.contact h2 em{color:var(--lime)}.contact>div>p:not(.eyebrow){color:#b5bfb8;font-size:.925rem;line-height:1.8}.contact-email{font-size:1.2rem;display:inline-flex;align-items:center;gap:50px;margin-top:12px;border-bottom:1px solid #7b8b76;padding-bottom:10px}.contact-email>span{color:var(--lime);font-size:1.6rem}.contact-note{padding-right:45px}.asterisk{font-family:Arial,sans-serif;font-size:8rem;display:block;color:var(--lime);line-height:1.2;margin-bottom:24px}.contact .contact-note>p{font-size:1.25rem;color:var(--paper);line-height:1.5;margin-bottom:18px}.contact-note>span:last-child{font-size:.625rem;letter-spacing:.13em;color:#aab4a8}.footer{background:var(--dark);color:var(--paper);padding:0 max(4.2%,calc((100vw - 1408px)/2))}.footer-main{display:flex;align-items:center;gap:65px;padding:36px 0;border-top:1px solid #3a453d}.footer-main p{font-size:.8125rem;line-height:1.9;margin:0}.footer-main p>span{color:#a5b1a9}.footer-links{display:flex;flex-direction:column;gap:6px;font-size:.8125rem;margin-left:auto}.footer a:hover{color:var(--lime)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0;border-top:1px solid #3a453d;font-size:.6875rem;color:#a5b1a9}.footer-bottom>div{display:flex;gap:27px}.design-note{font-size:.625rem}.dialog-close{position:absolute;right:18px;top:13px;border:0;background:none;font-size:2rem;line-height:1;padding:8px}.menu-toggle:focus-visible,.dialog-close:focus-visible{outline-offset:2px}dialog{background:var(--paper);color:var(--ink);border:0;padding:42px;border-radius:12px;width:min(570px,calc(100% - 32px));max-height:calc(100dvh - 40px);box-shadow:0 30px 120px #0004}dialog::backdrop{background:#0d1917a6;backdrop-filter:blur(6px)}dialog .eyebrow{font-size:.625rem;margin-bottom:20px}dialog h2{font-size:2.4rem;margin-bottom:20px}dialog>p:not(.eyebrow){font-size:.875rem;color:var(--muted)}dialog label{display:block;font-size:.875rem;font-weight:650;margin:25px 0 9px}dialog select{width:100%;background:white;border:1px solid #bac3b4;color:var(--ink);padding:13px 9px;border-radius:4px;font-size:.875rem}dialog .button{margin-top:20px;width:100%}.booking-info{padding:18px 0 4px;font-size:.875rem}.booking-info p{margin-bottom:8px}.booking-info small{font-size:.75rem;color:var(--muted)}.booking-date{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);gap:15px}.booking-date span:last-child{font-size:.75rem;color:#586d30}.booking-date.unavailable{color:#747b76}.booking-date.unavailable span:last-child{color:#747b76}.dialog-footnote{font-size:.75rem!important;line-height:1.6;margin:15px 0 0}body.dialog-open{overflow:hidden}
@media(min-width:1540px){.hero{padding-left:64px;padding-right:32px}.header{padding-left:64px;padding-right:64px}}
@media(max-width:1535px){.section,.potential,.principles{margin-left:4.2%;margin-right:4.2%}.hero{gap:4%}h1{font-size:6.75vw}.hero-visual{min-height:635px}.hero{min-height:650px}.hero-actions{gap:20px}.hero-actions .button{padding:15px 17px;font-size:.8125rem;gap:20px}.hero-actions .text-link{font-size:.75rem;gap:9px}.hero-origin{margin-top:29px}.hero-copy{padding-top:32px}.contact{padding-left:4.2%;padding-right:4.2%}}
@media(max-width:1100px){.header{height:94px;gap:20px}.brand img{width:150px}.navigation{margin-left:0;gap:24px}.nav-contact{font-size:.75rem;gap:15px}.hero{padding-top:5px;gap:3%;min-height:600px;grid-template-columns:1.08fr 1fr}.hero-visual{min-height:600px}.hero .eyebrow{font-size:.6rem;letter-spacing:.08em}h1{font-size:6.65vw;margin-top:28px}.hero-description{font-size:.875rem;max-width:365px}.hero-actions{flex-direction:column;align-items:flex-start;gap:15px}.hero-origin{font-size:.65rem}.art-top{left:23px;right:23px;font-size:.55rem}.art-bottom{left:23px;right:23px}.art-bottom p{font-size:1rem}.principles{font-size:.6875rem;gap:12px;padding:29px 0}.principles span{gap:6px}.section{padding-top:75px;padding-bottom:75px}.section-heading>div>p{font-size:.8125rem}.service{padding:30px 28px 0}.service h3{font-size:2.35rem}.service-intro{font-size:.875rem;min-height:102px}.service-details summary,.service-row{font-size:.8125rem}.training-photo,.workflow{margin-left:-28px;margin-right:-28px}.training-photo span{left:28px}.workflow{padding-left:18px;padding-right:18px}.workflow-node{padding:10px 8px;font-size:.625rem}.workflow-line{gap:8px}.potential{gap:28px;padding:30px}.potential-time{padding-right:27px}.potential-time strong{font-size:4rem}.potential-copy h2{font-size:1.5rem}.potential>.button{max-width:185px}.approach{gap:55px;padding-top:90px;padding-bottom:90px}.approach-heading h2{font-size:2.9rem}.footer-main{gap:35px}}
@media(max-width:800px){.header{height:88px}.brand img{width:145px}.nav-contact{margin-left:auto}.navigation{gap:20px}.navigation>a{font-size:.75rem}.navigation>a:last-child{display:none}.hero{grid-template-columns:1fr 1fr;gap:4%;min-height:580px}.hero-visual{min-height:580px}.hero-copy{padding-top:24px}.hero .eyebrow{font-size:.55rem;gap:6px}.tiny-rule{width:18px}h1{font-size:6.6vw;letter-spacing:-.065em;line-height:1.08;margin-bottom:23px}.hero-lead{font-size:1rem}.hero-description{font-size:.8125rem}.hero-origin{font-size:.625rem;max-width:230px;line-height:1.7}.art-top>span:last-child{display:none}.principles{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px}.section-heading>div{display:block}.section-heading>div>p{margin-top:20px}.service-grid{gap:16px}.service{padding:24px 22px 0}.service-top{gap:9px}.service-label{font-size:.5625rem}.service-top svg{width:29px}.service h3{font-size:2.1rem}.service-intro{font-size:.8125rem;min-height:118px}.service>.button{font-size:.75rem;gap:15px;width:100%}.training-photo,.workflow{margin-left:-22px;margin-right:-22px}.training-photo span{left:22px}.workflow-line{gap:5px}.workflow-node{font-size:.6rem;padding:9px 6px}.potential{display:grid;grid-template-columns:86px 1fr;gap:25px}.potential-time{padding-right:24px;grid-row:1/3}.potential>.button{grid-column:2;justify-self:start;max-width:none}.potential-copy>p:last-child{font-size:.875rem}.approach{gap:35px}.approach-heading h2{font-size:2.45rem}.steps h3{font-size:1.1rem}.steps article{gap:16px}.contact{gap:35px}.contact-note{padding-right:0}.contact .contact-note>p{font-size:1rem}.asterisk{font-size:6rem}.contact-note>span:last-child{font-size:.5625rem}.footer-main{gap:30px}.footer-main>.brand img{width:140px}.footer-main p{font-size:.75rem}.footer-links{font-size:.6875rem}.design-note{display:none}}
@media(max-width:620px){html{scroll-padding-top:90px}.header{padding:0 6%;height:82px;position:relative}.brand img{width:140px}.nav-contact{font-size:.6875rem;padding:9px 11px;gap:12px;min-height:39px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:35px;height:44px;background:none;border:0;padding:6px;margin-left:-10px}.menu-toggle span{height:1px;width:23px;background:var(--ink);transition:.2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.navigation{display:none;position:absolute;z-index:10;top:75px;left:4%;right:4%;padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:6px;box-shadow:0 15px 25px #17221f1a}.navigation.open{display:flex;flex-direction:column}.navigation>a{font-size:1rem}.navigation>a:last-child{display:block}.hero{display:flex;flex-direction:column;padding:0 6%;gap:30px;min-height:0}.hero-copy{padding-top:23px;padding-bottom:0}.hero .eyebrow{font-size:.625rem;gap:9px;letter-spacing:.08em}.tiny-rule{width:22px}h1{font-size:clamp(3.5rem,13.65vw,5.2rem);line-height:1.025;margin:25px 0 25px;letter-spacing:-.06em}h1 br:first-of-type{display:none}h1 br:first-of-type:after{content:' '}.hero-lead{font-size:1rem}.hero-description{font-size:.925rem;max-width:none;margin-bottom:26px}.hero-actions{flex-direction:row;flex-wrap:wrap;gap:20px}.hero-actions .button{font-size:.8125rem;padding:15px 16px}.hero-actions .text-link{font-size:.8125rem}.hero-origin{font-size:.6875rem;max-width:none;margin-top:24px}.hero-visual{min-height:440px;margin:0 -2.3%;border-radius:6px}.hero-art{object-position:center 48%}.art-top{top:24px;left:24px;right:24px;font-size:.625rem}.art-top>span:last-child{display:block;font-size:.5rem}.art-bottom{left:24px;right:24px;bottom:24px}.art-bottom p{font-size:1rem}.round-link{width:42px;height:42px}.principles{margin:0 6%;padding:28px 0;gap:10px 10px;font-size:.625rem;letter-spacing:-.01em}.principles span:before{font-size:.875rem}.section{margin-left:6%;margin-right:6%;padding-top:65px;padding-bottom:60px}.section-heading>.eyebrow{font-size:.625rem;margin-bottom:21px}h2{font-size:2.15rem;line-height:1.17}.section-heading>div{margin-bottom:29px}.section-heading>div>p{font-size:.875rem;margin:19px 0 0}.service-grid{grid-template-columns:1fr;gap:20px}.service{padding:28px 25px 0;scroll-margin-top:20px}.service-top{gap:12px;margin-bottom:25px}.service-label{font-size:.625rem}.service-top svg{width:32px}.service h3{font-size:2.5rem}.service-intro{min-height:0;font-size:.925rem;margin-bottom:25px}.service-details summary,.service-row{font-size:.875rem;padding:17px 0}.service>.button{font-size:.8125rem;gap:18px;width:auto}.training-photo,.workflow{margin-left:-25px;margin-right:-25px;height:185px;margin-top:28px}.training-photo span{left:25px}.workflow-line{gap:10px}.workflow-node{font-size:.6875rem;padding:12px 9px}.workflow>p{font-size:.75rem}.potential{margin:0 6%;padding:28px 24px;grid-template-columns:1fr;gap:20px}.potential-time{grid-row:auto;flex-direction:row;justify-content:flex-start;gap:12px;border-right:0;border-bottom:1px solid #71854555;padding:0 0 21px;align-items:baseline}.potential-time strong{font-size:4.4rem}.potential-time span{font-size:.6875rem}.potential-copy .eyebrow{font-size:.6rem}.potential-copy h2{font-size:1.9rem}.potential-copy>p:last-child{font-size:.875rem;line-height:1.8}.potential>.button{grid-column:1;margin-top:1px}.approach{display:block;padding-top:65px;padding-bottom:62px}.approach-heading .eyebrow{font-size:.625rem;margin-bottom:23px}.approach-heading h2{font-size:2.55rem}.approach-heading>p:last-child{font-size:.925rem;margin-top:21px}.steps{margin-top:40px}.steps h3{font-size:1.2rem}.steps p{font-size:.875rem}.steps article{gap:23px;padding:22px 0}.contact{padding:55px 6%;display:block}.contact .eyebrow{font-size:.625rem;margin-bottom:23px}.contact h2{font-size:clamp(2.5rem,9.8vw,3.65rem);line-height:1.1}.contact>div>p:not(.eyebrow){font-size:.875rem}.contact p br{display:none}.contact-email{font-size:1.15rem;margin-top:9px;gap:35px}.contact-note{display:none}.footer{padding:0 6%}.footer-main{display:grid;grid-template-columns:1fr 1fr;gap:23px 20px;padding:28px 0}.footer-main>.brand{grid-column:1/-1}.footer-main>.brand img{width:150px}.footer-main>p{font-size:.6875rem;line-height:1.8}.footer-links{font-size:.6875rem;gap:10px}.footer-bottom{font-size:.625rem;gap:18px;flex-wrap:wrap;padding:21px 0}.footer-bottom>div{gap:20px}dialog{padding:34px 25px}dialog h2{font-size:2.15rem}dialog select{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Readable body text and controls at every breakpoint. */
.hero-description,.service-intro,.service-details details>div,.potential-copy>p:last-child,.approach-heading>p:last-child,.steps p,.contact>div>p:not(.eyebrow),dialog>p:not(.eyebrow),.booking-info{font-size:1rem}
.button,.button-small,.hero-actions .button,.hero-actions .text-link,.text-link,.navigation>a,.service-details summary,.service-row,.service>.button,dialog label,dialog select,.inline-button,.footer-main p,.footer-links{font-size:.875rem}
h1 em{margin-left:.06em}.service-intro{min-height:88px}.service-grid{align-items:start}
@media(max-width:1100px){.service-intro{min-height:116px}.hero-description{max-width:390px}}
@media(max-width:800px){.service-intro{min-height:144px}.hero{min-height:650px}.hero-visual{min-height:650px}}
@media(max-width:620px){h1 br:first-of-type{display:initial}.hero{min-height:0}.hero-visual{min-height:440px}.hero-description{max-width:none}.service-intro{min-height:0}.nav-contact{display:none}.menu-toggle{margin-left:auto}.footer-main{grid-template-columns:1fr}.footer-links{margin-left:0}.footer-main>.brand{grid-column:auto}.hero-actions{flex-direction:column;align-items:flex-start;gap:17px}.hero-origin{margin-top:26px}h1{font-size:clamp(3.35rem,13.4vw,5.2rem)}}

.navigation .mobile-contact{display:none}@media(max-width:620px){.navigation .mobile-contact{display:block}}

/* Freestanding video: the paper surface remains visible through its alpha. */
.motion-visual{background:transparent;color:var(--ink);overflow:hidden;border-radius:0}
.motion-visual:after{display:none}
.motion-visual .hero-art{object-fit:contain;top:47px;bottom:49px;height:calc(100% - 96px);width:100%;filter:none}
.motion-visual .art-top{color:var(--muted);left:18px;right:18px}
.motion-visual .art-top>span:first-child{border-color:var(--line)}
.motion-visual .art-bottom{left:18px;right:18px;justify-content:flex-end}
.motion-visual .art-bottom p{font-size:.925rem}
.motion-visual .round-link{border-color:#aab5a1}
.play-toggle{font-family:var(--sans);font-size:.75rem;letter-spacing:0;border:0;border-bottom:1px solid #c2cabb;padding:4px 0;background:transparent;color:var(--muted);cursor:pointer;min-height:32px}
@media(max-width:620px){.motion-visual{min-height:450px}.motion-visual .hero-art{top:42px;height:calc(100% - 98px)}.motion-visual .art-top,.motion-visual .art-bottom{left:12px;right:12px}.motion-visual .art-bottom p{font-size:.875rem}}

.scroll-hint{font-family:var(--sans);font-size:.75rem!important;letter-spacing:0;color:var(--muted);white-space:nowrap}
.motion-visual .art-top .scroll-hint{display:inline}

/* Portrait film: keep the complete picture and its subtitles in view. */
.hero-visual.film-visual{display:grid;place-items:center;align-self:center;min-height:0;margin:0;background:transparent;overflow:visible;border-radius:0}
.film-visual:after{display:none}
.hero-film{position:relative;width:min(100%,370px);aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:#17221f;box-shadow:0 20px 55px #17221f18;isolation:isolate}
.hero-film-video{display:block;width:100%;height:100%;object-fit:contain}
.hero-film-controls{position:absolute;inset:0;pointer-events:none}
.hero-film-controls[hidden]{display:none}
.hero-film-controls button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid #ffffff65;border-radius:999px;background:#17221fd9;color:#fff;font:500 .75rem/1.2 var(--sans);cursor:pointer;pointer-events:none;opacity:0;transition:opacity .18s ease,background .18s ease}
.hero-film-controls button:hover{background:#2d3b2d}
.hero-film-controls button:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.hero-film-controls .film-toggle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:94px;height:94px;padding:24px;box-shadow:0 4px 25px #0003}
.hero-film-controls .film-sound{position:absolute;bottom:12px;right:12px}
.hero-film:hover .hero-film-controls button,.hero-film:focus-within .hero-film-controls button,.hero-film.is-paused:not(.is-ended) .hero-film-controls button{opacity:1;pointer-events:auto}
.hero-film-video{cursor:pointer}
@media(hover:none),(pointer:coarse){.hero-film-controls button{opacity:1;pointer-events:auto}.hero-film-controls .film-toggle{width:80px;height:80px;padding:20px}}
.film-play-icon,.film-audible-icon,.is-paused .film-pause-icon,.has-sound .film-muted-icon{display:none}
.is-paused .film-play-icon,.has-sound .film-audible-icon{display:block}
@media(min-width:621px) and (max-height:800px){.hero-visual.film-visual{align-self:start;padding-top:12px}.hero-film{width:min(100%,370px,calc(56.25svh - 92.8px))}}
@media(max-width:620px){.hero-visual.film-visual{width:100%;padding:0 0 10px}.hero-film{width:min(100%,350px);border-radius:12px}}

/* Navigation spacing retained from the project gallery layout. */
.navigation{margin-left:0;gap:clamp(18px,2.2vw,34px)}
@media(min-width:621px) and (max-width:1000px){.nav-contact{display:none}.navigation{margin-left:auto}}

/* Continuous native playback, with a small accessible pause control. */
.motion-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.motion-controls .scroll-hint{font-size:.6875rem!important}
.motion-toggle{background:transparent;border:1px solid #bcc6b5;border-radius:100px;font-size:.6875rem;line-height:1;padding:8px 10px;min-height:32px;color:var(--ink)}
.motion-toggle:hover{background:var(--lime);border-color:var(--lime)}
.motion-toggle[hidden]{display:none}
@media(min-width:621px) and (max-width:1000px){.motion-controls{gap:8px}.motion-controls .scroll-hint{font-size:.625rem!important}.motion-toggle{padding:8px}}
@media(max-width:620px){.motion-controls{gap:8px}.motion-controls .scroll-hint{font-size:.625rem!important}}

/* Four small GPU textures smooth slow-motion playback without a frame atlas. */
.motion-visual .video-smoothed{opacity:.001;pointer-events:none}
.motion-visual .smooth-video{pointer-events:none}
.motion-visual .smooth-video[hidden]{display:none}
