@font-face{font-family:Outfit;src:url('fonts/outfit-latin.woff2') format('woff2');font-weight:100 900;font-display:swap}

:root{--yellow:#ffde59;--ink:#111111;--blue:#4dc4ff;--green:#00e676;--white:#fff;--gap:clamp(20px,4vw,80px);--header:88px;--pin:122px;--rule:1.5px solid var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 15px);overflow-x:clip}body{margin:0;background:white;color:var(--ink);font-family:Outfit,Arial,sans-serif;font-weight:400;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;background:none}a,button,summary{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Outfit,Arial,sans-serif;font-weight:600;letter-spacing:-.035em}img,video{display:block;width:100%;height:100%;object-fit:cover}p{letter-spacing:-.025em;line-height:1.4}::selection{background:var(--yellow);color:var(--ink)}:focus-visible{outline:3px solid #0086c4;outline-offset:5px}.skip{position:fixed;top:-90px;left:20px;z-index:150;background:var(--yellow);padding:16px}.skip:focus{top:12px}.small-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase}.button{display:inline-flex;gap:28px;align-items:center;justify-content:space-between;border:var(--rule);border-radius:7px;padding:14px 19px;font-family:Outfit,Arial,sans-serif;font-size:16px;font-weight:500;letter-spacing:0;line-height:1;transition:background .2s,color .2s,transform .2s}.button>span{font-size:23px;line-height:.9}.button:hover{background:var(--ink);color:var(--white);transform:translateY(-2px)}.yellow{background:var(--yellow)}.white{background:var(--white)}
.header{height:var(--header);position:fixed;top:0;left:0;right:0;z-index:60;background:white;border-bottom:var(--rule);padding:15px var(--gap);display:flex;align-items:center;justify-content:space-between;gap:35px}.logo{width:145px;height:54px;display:block;flex-shrink:0}.logo img{object-fit:contain}.nav{display:flex;align-items:center;gap:32px;margin-left:auto}.nav a{position:relative;font-family:Outfit,Arial,sans-serif;font-size:16px;font-weight:400;white-space:nowrap;padding:7px 0}.nav a:after{content:'';position:absolute;left:0;right:0;bottom:1px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s}.nav a.active:after,.nav a:hover:after{transform:scaleX(1)}.nav-cta{display:flex;align-items:center;gap:25px;margin-left:15px;background:var(--ink);color:white;font-family:Outfit,Arial,sans-serif;font-size:16px;font-weight:400;border-radius:7px;padding:12px 17px;transition:background .2s,color .2s}.nav-cta span{font-size:22px}.nav-cta:hover{background:var(--yellow);color:var(--ink)}.menu-toggle,#mobile-nav{display:none}
.hero{position:relative;margin-top:var(--header);height:calc(100svh - var(--header));min-height:640px;max-height:1100px;isolation:isolate;overflow:hidden;background:#272c2e}.hero-films{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr 1fr;z-index:-1}.film{height:100%;overflow:hidden;position:relative;border-right:3px solid white}.film:last-child{border-right:0}.film video{object-fit:cover;filter:none;opacity:1}.film-one video{object-position:44% center}.film-two video{object-position:50% center}.film-three video{object-position:50% center}.hero-top{padding:22px var(--gap);display:flex;justify-content:space-between;align-items:start;gap:20px}.hero-top p{font-size:13px;line-height:1.35;font-weight:400;background:white;padding:12px 16px;border-radius:3px;letter-spacing:-.025em}.hero-top .button{font-size:13px;padding:12px 15px;background:white}.hero-title-plate{position:absolute;left:var(--gap);bottom:66px;background:white;padding:17px 28px 22px;max-width:calc(100% - var(--gap)*2);border-radius:3px}.hero h1{font-size:clamp(45px,5.65vw,95px);line-height:1.02;font-weight:500;letter-spacing:-.045em}.hero-highlight{background:var(--yellow);padding:0 .08em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.hero-foot{position:absolute;left:var(--gap);right:var(--gap);bottom:19px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:9px;letter-spacing:.04em;color:white;text-shadow:0 1px 3px #000}.hero-foot a{display:flex;gap:12px;align-items:center}.hero-foot a span{font-size:22px;line-height:1}.video-toggle{border:1px solid white;border-radius:50%;width:31px;height:31px;font-size:14px;background:#111}.hero-swiss-label{position:absolute;top:24px;right:var(--gap);display:block;width:250px;padding:12px 15px;background:white;border-radius:3px}.hero-swiss-label img{width:100%;height:auto;object-fit:contain}
.manifesto{display:grid;grid-template-columns:1.2fr 1fr 60px;gap:65px;align-items:end;padding:90px var(--gap) 100px;border-bottom:var(--rule);background:white;position:relative;z-index:1}.manifesto>p{font-family:Outfit,Arial,sans-serif;font-size:clamp(34px,3.7vw,64px);font-weight:400;line-height:1.1;letter-spacing:-.04em}.manifesto>div{font-size:18px;line-height:1.5;max-width:440px}.manifesto-arrow{font-size:65px;line-height:.9}.marked{position:relative;display:inline-block}.marked svg{position:absolute;inset:-8% -4%;height:116%;width:108%;fill:none;stroke:var(--ink);stroke-width:1.5;stroke-dasharray:2400;stroke-dashoffset:2400;transition:stroke-dashoffset 1.5s .2s;pointer-events:none}.marked.in-view svg{stroke-dashoffset:0}
.services{background:#fff;position:relative;padding:95px var(--gap) 160px;z-index:1;border-bottom:var(--rule)}.services-heading{text-align:center;max-width:1000px;margin:0 auto 95px}.services-heading h2{font-size:clamp(56px,7.4vw,124px);line-height:1.02;letter-spacing:-.045em;font-weight:500;margin:24px 0}.services-heading h2>span{position:relative}.services-heading h2>span:after{content:'';position:absolute;left:0;right:0;bottom:-.025em;height:3px;background:var(--yellow);transform:rotate(-2deg)}.services-heading p{font-size:18px;margin-top:26px}.services-right{max-width:1160px;margin:0 auto;position:relative;min-width:0}.service-card{position:sticky;top:var(--pin);margin-bottom:110px;isolation:isolate;padding:0;transform-origin:center top}.service-card:last-child{margin-bottom:0}.card-content{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;gap:24px 50px;background:white;padding:28px 0 35px;border-top:var(--rule);will-change:transform,filter,opacity;transform-origin:center top}.card-heading{grid-column:2;grid-row:1;display:flex;justify-content:space-between;align-items:start;gap:20px}.card-heading h3{font-size:clamp(37px,4.2vw,65px);line-height:1.02;letter-spacing:-.04em;font-weight:500}.card-heading>span{font-size:11px;padding-top:7px}.card-body{display:contents}.card-film{grid-column:1;grid-row:1/3;position:relative;min-height:450px;height:100%;max-height:570px;overflow:hidden;border:0;border-radius:2px}.card-film video{object-fit:cover;object-position:center}.service-card[data-card="1"] .card-film video{object-position:center}.card-film>span{position:absolute;bottom:12px;left:15px;right:15px;font-size:8px;background:white;color:var(--ink);padding:8px;width:max-content;max-width:calc(100% - 30px);letter-spacing:.01em}.card-info{grid-column:2;grid-row:2;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.card-info>p{font-size:17px;line-height:1.4;padding-bottom:23px}.card-info ul{list-style:none;padding:0;margin:0;width:100%}.card-info li{border-top:1px solid #1114;font-size:16px;letter-spacing:-.025em;line-height:1.3;padding:13px 0 13px 22px;position:relative}.card-info li:before{content:'';position:absolute;left:0;top:12px;font-size:16px}.card-info li:last-child{border-bottom:1px solid #1114}.card-info>a{font-size:10px;letter-spacing:.02em;border-bottom:1px solid;margin-top:27px;line-height:1.4}.card-info>a:hover{background:var(--yellow)}.stock-note{position:absolute;left:var(--gap);bottom:24px;font-size:8px;letter-spacing:.03em}
.trades{padding:46px var(--gap) 90px;background:var(--ink);color:white;position:relative}.trade-heading{display:grid;grid-template-columns:1fr 1fr;gap:25px 50px;align-items:end;margin-bottom:65px}.trade-heading .small-label{grid-column:1/-1;color:#ffffffb8}.trade-heading h2{font-size:clamp(42px,5.7vw,92px);line-height:1.02;letter-spacing:-.04em;font-weight:400}.trade-heading p{font-size:17px;line-height:1.5;max-width:430px;justify-self:end}.trade-words{list-style:none;padding:0;margin:0}.trade-word{position:relative;display:block;font-family:Outfit,Arial,sans-serif;font-weight:500;font-size:clamp(65px,11.4vw,192px);line-height:1.04;letter-spacing:-.05em;padding:11px 70px 19px 0;border-bottom:1px solid #ffffff59;white-space:nowrap}.trade-word:first-child{border-top:1px solid #ffffff59}.trade-word>.lit{position:absolute;inset:11px 70px 19px 0;color:var(--blue);clip-path:inset(100% 0 0 0);pointer-events:none}.trade-arrow{position:absolute;right:5px;top:50%;transform:translateY(-50%);font-family:Outfit,Arial,sans-serif;font-size:.35em;color:var(--blue);letter-spacing:0}.trade-foot{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:45px}.trade-foot>span{font-size:9px;letter-spacing:.045em}.trade-foot a{font-size:15px;border-bottom:1px solid}.word-beam{position:fixed;top:46vh;height:clamp(60px,9.4vw,150px);left:0;right:0;z-index:35;pointer-events:none;background:linear-gradient(90deg,#4dc4ff00,#4dc4ff0d 35%,#4dc4ff09 70%,#4dc4ff00);border-top:1px solid #4dc4ff20;border-bottom:1px solid #4dc4ff20;opacity:0}.has-beam .word-beam{opacity:1}
.working{background:var(--blue);padding:46px var(--gap) 75px;position:relative;border-bottom:var(--rule)}.chapter-title>span{font-size:11px;letter-spacing:.05em}.chapter-title h2{font-size:clamp(55px,7.4vw,126px);line-height:1.02;letter-spacing:-.045em;font-weight:500;margin-top:25px}.outlined{color:var(--ink);font-weight:300}.working-body{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:55px;align-items:start}.working-image{position:relative;aspect-ratio:1.12;overflow:hidden;border-radius:2px}.working-image video{object-position:center}.image-note{position:absolute;top:17px;left:17px;background:white;padding:9px 12px;font-size:9px;transform:rotate(-4deg);border:1px solid var(--ink)}.big-arrow{display:none}.working-details>p{font-family:Outfit,Arial,sans-serif;font-size:clamp(28px,3.1vw,49px);font-weight:400;line-height:1.1;margin:0 0 30px;letter-spacing:-.035em}.text-mark{background:white;padding:0 .08em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.step{display:grid;grid-template-columns:40px 1fr;gap:15px;border-top:1px solid #1118;padding:22px 0}.step:last-child{border-bottom:1px solid #1118}.step>span{font-size:11px;padding-top:4px}.step h3{font-size:28px;font-weight:500;line-height:1.05;margin-bottom:10px}.step p{font-size:16px;line-height:1.45;max-width:470px}.price-line{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:65px;padding-top:35px;border-top:var(--rule);align-items:end}.price-line>p{font-family:Outfit,Arial,sans-serif;font-size:clamp(35px,4.1vw,70px);font-weight:500;line-height:1.1;letter-spacing:-.04em}.price-line>div{font-size:16px;line-height:1.5;max-width:480px}.price-line .button{display:flex;width:max-content;margin-top:25px;font-size:13px;gap:40px;padding:13px 17px}
.team{padding:100px var(--gap) 85px;background:white;position:relative;z-index:28;border-bottom:var(--rule)}.team-title h2{font-size:clamp(48px,6.4vw,110px);font-weight:500;line-height:1.06;margin:25px 0 30px;letter-spacing:-.04em}.team-title p{font-size:19px;line-height:1.45}.people{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;margin-top:50px;align-items:end}.person-photo{aspect-ratio:.8;position:relative;overflow:hidden;background:#eee;border-radius:2px}.person-photo img{object-fit:cover;filter:grayscale(1);transition:filter .4s,transform .8s}.person-photo:hover img{filter:grayscale(0);transform:scale(1.03)}.person-photo>span{position:absolute;left:12px;right:12px;bottom:14px;background:var(--yellow);font-size:8px;padding:9px;line-height:1.1;transform:rotate(-3deg);text-align:center}.people figure:nth-child(2){transform:translateY(30px)}.people figure:nth-child(2) .person-photo>span{transform:rotate(3deg);background:var(--blue)}figcaption{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:13px;font-size:10px}figcaption strong{font-family:Outfit,Arial,sans-serif;font-size:23px;font-weight:500;letter-spacing:-.025em}.team-note{padding:35px 0 0 20px}.team-note p{font-family:Outfit,Arial,sans-serif;font-size:31px;font-weight:400;line-height:1.1;letter-spacing:-.025em;margin-bottom:35px}.team-note a{font-size:17px;line-height:1.7;text-decoration:underline;text-underline-offset:4px}.team-note>span{display:block;margin-top:55px;font-size:9px;line-height:1.5}.questions{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:65px var(--gap) 90px;background:white;position:relative;z-index:28}.questions h2{font-size:clamp(35px,4vw,65px);font-weight:500;line-height:1.05;letter-spacing:-.03em}.questions details{border-top:1px solid #1117}.questions details:last-child{border-bottom:1px solid #1117}summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font-family:Outfit,Arial,sans-serif;font-size:20px;font-weight:400;letter-spacing:-.02em;line-height:1.25}summary::-webkit-details-marker{display:none}summary>span{font-size:27px;transition:transform .3s}details[open] summary>span{transform:rotate(45deg)}details p{font-size:15px;line-height:1.5;padding-bottom:25px;max-width:550px}
.contact{background:#f4f4f4;position:relative;z-index:28;border-top:var(--rule);padding:45px var(--gap) 65px}.contact h2{font-size:clamp(58px,9.5vw,165px);font-weight:500;line-height:1.02;letter-spacing:-.045em;margin:35px 0 50px}.type-cycle{display:inline-block;animation:type-cycle 11s steps(1,end) infinite;background:var(--yellow);padding:0 .05em}.question-mark{display:inline-block;transform:rotate(9deg);margin-left:.03em}.contact-bottom{display:grid;grid-template-columns:1fr 1fr;gap:65px;border-top:var(--rule);padding-top:30px;align-items:end}.contact-bottom>p{font-size:19px;line-height:1.4}.contact-links{display:flex;flex-direction:column;gap:17px}.contact-links a{display:flex;justify-content:space-between;gap:15px;align-items:center;font-family:Outfit,Arial,sans-serif;font-weight:400;font-size:clamp(22px,2.55vw,42px);letter-spacing:-.025em;line-height:1.15}.contact-links a:hover{text-decoration:underline;text-underline-offset:6px}.contact-links a span{font-family:Outfit,Arial,sans-serif;font-size:1.1em;transition:transform .2s}.contact-links a:hover span{transform:translate(4px,-4px)}footer{background:var(--ink);color:white;position:relative;z-index:28;padding:35px var(--gap) 24px;overflow:hidden}.footer-top{display:flex;align-items:start;justify-content:space-between;gap:30px;font-size:11px;line-height:1.5}.footer-top>div{display:flex;gap:25px}.footer-top a:hover{text-decoration:underline}.motion-toggle{font-size:9px;padding:0;text-decoration:underline;text-underline-offset:4px}.footer-word{font-family:Outfit,Arial,sans-serif;font-size:clamp(55px,11.2vw,200px);font-weight:500;line-height:1;letter-spacing:-.035em;display:flex;justify-content:space-between;align-items:center;margin:55px 0 35px;white-space:nowrap}.footer-word>span{font-family:Outfit,Arial,sans-serif;font-weight:400;font-size:.8em;color:var(--yellow)}.footer-bottom{font-size:7px;display:flex;justify-content:space-between;gap:25px;letter-spacing:.04em;border-top:1px solid #ffffff50;padding-top:18px}
.motion-off *,.motion-off *:before,.motion-off *:after{animation-play-state:paused!important}.motion-off .card-content{transform:none!important;filter:none!important;opacity:1!important}.motion-off .service-card{position:relative!important;top:auto!important}.motion-off .marked svg{stroke-dashoffset:0}.motion-off .word-beam{display:none}.motion-off .trade-word>.lit{clip-path:inset(0)!important}.motion-off .type-cycle{animation:none}
@keyframes type-cycle{0%,36%,100%{font-style:normal;font-weight:500}40%,47%{font-style:italic;font-family:Georgia,serif;font-weight:400}49%,55%{font-style:normal;font-weight:300}58%,65%{font-style:normal;font-weight:600}}
@media(max-width:1100px){:root{--header:80px;--pin:110px}.header{gap:24px}.logo{width:125px;height:47px}.nav{gap:22px}.nav a{font-size:14px}.nav-cta{font-size:14px;margin-left:0;gap:17px}.manifesto{gap:35px;grid-template-columns:1.2fr 1fr 35px}.manifesto>div{font-size:16px}.manifesto-arrow{font-size:45px}.card-content{gap:24px 35px}.card-film{min-height:445px}.card-info li{font-size:15px;padding-top:12px;padding-bottom:12px}.working-body,.price-line,.questions,.contact-bottom{gap:35px}.people{gap:25px}figcaption{display:block}figcaption>span{display:block;margin-top:5px}.team-note{padding-left:0}.team-note p{font-size:27px}.team-note a{font-size:15px}}
@media(max-width:700px){:root{--gap:20px;--header:74px;--pin:95px}.header{padding-top:12px;padding-bottom:12px;gap:17px}.logo{width:124px;height:46px}.nav{display:none}.nav-cta{margin-left:auto;font-size:14px;gap:14px;padding:9px 12px;border-radius:5px}.nav-cta span{font-size:19px}.menu-toggle{width:27px;height:27px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0}.menu-toggle span{height:1.5px;width:20px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.25px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}#mobile-nav:not([hidden]){position:absolute;display:flex;flex-direction:column;top:100%;left:0;right:0;padding:14px 20px 27px;border-bottom:var(--rule);background:white}#mobile-nav a{font-family:Outfit,Arial,sans-serif;font-size:27px;padding:13px 0;border-bottom:1px solid #1113}.hero{min-height:590px;max-height:850px}.hero-films{grid-template-columns:1fr 1fr}.film-three{display:none}.film{border-right:2px solid white}.film-two{border-right:0}.hero-swiss-label{width:210px;top:18px;right:16px;padding:10px 12px}.hero-top{padding:18px var(--gap)}.hero-top p{font-size:10px;line-height:1.45;padding:9px 11px}.hero-top .button{display:none}.hero-title-plate{left:16px;bottom:64px;max-width:calc(100% - 32px);padding:15px 15px 18px}.hero h1{font-size:7.7vw;line-height:1.1;letter-spacing:-.04em}.hero-foot{left:20px;right:20px;font-size:7px;bottom:19px;gap:10px}.hero-foot a{gap:6px}.hero-foot a span{font-size:18px}.video-toggle{width:27px;height:27px;font-size:12px}.manifesto{grid-template-columns:1fr 28px;gap:25px 16px;padding:50px var(--gap) 55px}.manifesto>p{font-size:34px;grid-column:1/-1}.manifesto>div{font-size:15px;line-height:1.55;max-width:340px}.manifesto-arrow{font-size:35px}.services{padding:65px var(--gap) 100px}.services-heading{margin-bottom:45px}.services-heading h2{font-size:13vw;line-height:1.05;margin:22px 0}.services-heading p{font-size:14px;margin-top:23px}.small-label{font-size:9px;letter-spacing:.05em}.services-right{padding:0}.service-card{margin-bottom:65px}.card-content{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px;padding-top:20px;padding-bottom:25px}.card-heading{grid-column:1/-1;grid-row:1;align-items:center}.card-heading h3{font-size:37px;line-height:1.02}.card-heading h3 br{display:none}.card-heading h3 br:after{content:' '}.card-heading>span{font-size:10px;align-self:start}.card-film{grid-column:1;grid-row:2;min-height:0;height:335px;max-height:none}.card-info{grid-column:2;grid-row:2}.card-film>span{font-size:6px;left:7px;right:7px;bottom:8px;width:auto;padding:6px;line-height:1.4}.card-info>p{font-size:12px;line-height:1.4;padding-bottom:13px}.card-info li{font-size:12px;line-height:1.3;padding:10px 0 10px 14px}.card-info li:before{font-size:12px;top:9px}.card-info>a{font-size:7px;margin-top:17px;letter-spacing:0}.stock-note{font-size:6px;bottom:20px}.trades{padding:30px var(--gap) 55px}.trade-heading{display:block;margin-bottom:40px}.trade-heading h2{font-size:43px;margin-top:25px}.trade-heading p{font-size:14px;line-height:1.5;margin-top:23px;max-width:320px}.trade-word{font-size:12.4vw;line-height:1.15;padding:20px 28px 24px 0;letter-spacing:-.04em}.trade-word>.lit{inset:20px 28px 24px 0}.trade-arrow{font-size:.4em;right:0}.trade-foot{display:block;margin-top:30px}.trade-foot>span{font-size:7px;display:block}.trade-foot a{display:inline-block;font-size:13px;margin-top:20px}.word-beam{height:13vw}.working{padding-top:32px;padding-bottom:50px}.chapter-title>span{font-size:9px}.chapter-title h2{font-size:12vw;line-height:1.05;margin-top:25px}.working-body{display:block;margin-top:35px}.working-image{aspect-ratio:1.2}.image-note{font-size:7px;left:12px;top:12px;padding:7px 9px}.working-details{padding-top:30px}.working-details>p{font-size:30px;margin-bottom:28px}.step{grid-template-columns:26px 1fr;gap:12px;padding:20px 0}.step>span{font-size:9px}.step h3{font-size:25px}.step p{font-size:14px;line-height:1.5}.price-line{display:block;margin-top:35px;padding-top:30px}.price-line>p{font-size:8.1vw;line-height:1.15}.price-line>div{font-size:14px;margin-top:23px}.price-line .button{font-size:12px;margin-top:25px}.team{padding-top:65px;padding-bottom:60px}.team-title h2{font-size:10.4vw;line-height:1.1;margin-top:25px}.team-title p{font-size:16px}.people{grid-template-columns:1fr 1fr;gap:25px 16px;margin-top:35px}.person-photo{aspect-ratio:.7}.person-photo>span{font-size:5px;left:6px;right:6px;bottom:13px;padding:6px 3px;line-height:1.3}figcaption strong{font-size:20px}figcaption>span{font-size:8px}.people figure:nth-child(2){transform:translateY(25px)}.team-note{grid-column:1/-1;padding-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:25px 15px}.team-note p{font-size:25px;margin:0}.team-note a{font-size:12px;align-self:end}.team-note>span{grid-column:1/-1;font-size:7px;margin-top:0}.questions{display:block;padding-top:30px;padding-bottom:60px}.questions h2{font-size:35px;margin-bottom:25px}summary{font-size:19px;padding:19px 0}summary>span{font-size:25px}details p{font-size:14px;line-height:1.55}.contact{padding-top:35px;padding-bottom:45px}.contact h2{font-size:11.4vw;line-height:1.1;margin:30px 0 35px}.contact-bottom{display:block;padding-top:25px}.contact-bottom>p{font-size:16px}.contact-links{margin-top:30px;gap:17px}.contact-links a{font-size:23px}.footer-top{flex-wrap:wrap;font-size:9px;gap:25px}.footer-top>div{gap:20px}.motion-toggle{font-size:7px}.footer-word{font-size:10.6vw;margin:40px 0 27px}.footer-bottom{font-size:5px;line-height:1.5;gap:15px}footer{padding-top:30px;padding-bottom:20px}}
@media(max-width:359px){:root{--gap:16px}.logo{width:108px}.nav-cta{font-size:12px;gap:12px;padding:9px 11px}.header{gap:13px}.card-heading h3{font-size:33px}.card-info li{font-size:11px}.card-info>p{font-size:11px}.card-film{height:325px}.hero h1{font-size:7.7vw}.hero{min-height:560px}.contact-links a{font-size:20px}.team-note a{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.marked svg{stroke-dashoffset:0}.service-card{position:relative;top:auto}.card-content{transform:none!important;filter:none!important;opacity:1!important}.word-beam{display:none}.trade-word>.lit{clip-path:inset(0)!important}}
@media(min-width:360px) and (max-width:700px){.card-info li,.card-info>p{font-size:13px}}

/* Fliesstext and industry ribbon. Existing layouts remain in style.css. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

.craft-ribbon{position:relative;z-index:2;overflow:hidden;padding:38px 0 34px;border-top:1px solid #1112;border-bottom:1px solid #1112;background:white;color:var(--ink)}
.craft-ribbon--blue{background:white}
/* Extra vertical space inside each moving group keeps umlaut ink inside the clipping lane. */
.craft-lane{overflow:hidden}
.craft-track{display:flex;width:max-content;animation:craft-drift 90s linear infinite;will-change:transform}
.craft-lane:nth-child(2) .craft-track{animation-direction:reverse;animation-duration:105s}
.craft-group{display:flex;flex:none;align-items:center;justify-content:space-around;min-width:100vw;gap:.65em;padding-inline:.325em;padding-block:.16em .08em;font-family:Outfit,Arial,sans-serif;font-size:clamp(34px,4.2vw,72px);font-weight:500;letter-spacing:-.035em;line-height:1.2;white-space:nowrap}
.craft-divider{color:var(--blue);font-family:Outfit,Arial,sans-serif;font-size:.52em;font-weight:400;line-height:1;letter-spacing:0}
.craft-lane:nth-child(2){color:#454545}
@keyframes craft-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

.intro-flow{position:relative;padding:115px var(--gap) 65px;background:white}
.intro-flow>p{font-family:Outfit,Arial,sans-serif;font-size:clamp(35px,4.35vw,76px);font-weight:400;line-height:1.28;letter-spacing:-.035em;text-indent:0}
.intro-flow strong{font-weight:650}
.flow-unit{display:inline-block;white-space:nowrap;text-indent:0}
.flow-ring{display:inline-flex;align-items:center;gap:.13em;padding:.05em .27em .13em;margin:0 .015em;border:1.5px solid var(--ink);border-radius:999px;color:#006da3;line-height:1.1;text-indent:0;white-space:nowrap;vertical-align:baseline}
.flow-icon{font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size:.95em;line-height:1;letter-spacing:0;transform:rotate(-9deg);margin-right:.04em}
.flow-pointer{color:var(--ink);font-weight:500;font-size:1.05em;line-height:.8;margin-left:.03em}

@media(max-width:1000px){.intro-flow{padding-top:85px}.intro-flow>p{font-size:4.6vw}.craft-group{font-size:4.4vw}}
@media(max-width:700px){
 .craft-ribbon{padding:22px 0 20px}
 .craft-group{font-size:clamp(26px,7.6vw,48px);line-height:1.2;gap:.65em;padding-inline:.325em}
 .craft-track{animation-duration:65s}
 .craft-lane:nth-child(2) .craft-track{animation-duration:78s}
 .intro-flow{padding:50px var(--gap) 35px}
 .intro-flow>p{font-size:clamp(26px,7.3vw,47px);line-height:1.38;text-indent:0;letter-spacing:-.03em}
 .flow-ring{border-width:1px;padding-left:.18em;padding-right:.18em}
}
@media(prefers-reduced-motion:reduce){.craft-track{animation:none;will-change:auto}}
.motion-off .craft-track{animation-play-state:paused;will-change:auto}

/* Hero after removing the small captions, project CTA and pause control. */
.hero-foot{justify-content:center}

/* The agency's software workbench, with local original brand assets. */
.toolkit{padding:85px var(--gap) 65px;background:white;border-top:var(--rule);border-bottom:var(--rule)}
.toolkit-heading{display:grid;grid-template-columns:1.35fr 1fr;gap:60px;align-items:end}
.toolkit-heading h2{font-size:clamp(48px,6.2vw,100px);font-weight:500;line-height:1.04;letter-spacing:-.045em}
.toolkit-heading>p{max-width:420px;justify-self:end;font-size:17px;line-height:1.5;letter-spacing:-.02em;padding-bottom:4px}
.toolkit-list{list-style:none;margin:65px 0 0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0}
.toolkit-list>li{min-width:0;border-top:1px solid #1113;border-bottom:1px solid #1113}
.toolkit-list a{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;padding:30px 6px 27px;height:100%}
.toolkit-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100px;margin-bottom:21px}
.toolkit-icon img{object-fit:contain;max-width:80px;max-height:80px;width:80px;height:80px;transition:transform .25s}
.toolkit-list strong{font-family:Outfit,Arial,sans-serif;font-size:clamp(13px,1.32vw,20px);line-height:1.2;font-weight:500;letter-spacing:-.02em}
.toolkit-purpose{font-size:10px;line-height:1.5;margin-top:8px;color:#555;letter-spacing:0}
.toolkit-list a:hover .toolkit-icon img,.toolkit-list a:focus-visible .toolkit-icon img{transform:translateY(-5px)}
.toolkit-list a:hover strong{text-decoration:underline;text-underline-offset:4px}
.toolkit-foot{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:26px}
.toolkit-foot>p{font-family:Outfit,Arial,sans-serif;font-size:23px;letter-spacing:-.03em;line-height:1.3}
.toolkit-foot>span{font-size:11px;line-height:1.4;color:#555}
@media(max-width:1000px){
 .toolkit-heading{grid-template-columns:1fr 1fr;gap:30px}
 .toolkit-heading>p{font-size:15px}
 .toolkit-list{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:45px}
 .toolkit-list>li{border-bottom:0}
 .toolkit-list>li:nth-child(n+5){border-bottom:1px solid #1113}
 .toolkit-list>li:last-child{grid-column:3/5}
 .toolkit-list strong{font-size:18px}
}
@media(max-width:700px){
 .toolkit{padding-top:55px;padding-bottom:35px}
 .toolkit-heading{display:block}
 .toolkit-heading h2{font-size:11.5vw}
 .toolkit-heading>p{font-size:15px;margin-top:25px;max-width:380px}
 .toolkit-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:35px}
 .toolkit-list>li:nth-child(n+5){border-bottom:0}
 .toolkit-list>li:last-child{grid-column:1/-1;border-bottom:1px solid #1113}
 .toolkit-list a{padding-top:23px;padding-bottom:23px}
 .toolkit-icon{height:80px;margin-bottom:14px}
 .toolkit-icon img{max-width:64px;max-height:64px}
 .toolkit-list strong{font-size:17px}
 .toolkit-purpose{font-size:10px;margin-top:6px}
 .toolkit-foot{display:block;padding-top:24px}
 .toolkit-foot>p{font-size:22px}
 .toolkit-foot>span{display:block;font-size:10px;margin-top:9px}
}
@media(prefers-reduced-motion:reduce){.toolkit-list a:hover .toolkit-icon img,.toolkit-list a:focus-visible .toolkit-icon img{transform:none}}
.motion-off .toolkit-icon img{transform:none!important;transition:none}

/* The text stays black without JavaScript; scrolling fills a grey base from left to right. */
.flow-word{display:inline-block;padding-block:.1em .16em;margin-block:-.1em -.16em}
.flow-ring-copy{display:inline-block}
.intro-flow.has-scroll-fill .flow-word{background-image:linear-gradient(to right,var(--ink) 0,var(--ink) var(--word-fill,0%),#c5c5c5 var(--word-fill,0%),#c5c5c5 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.motion-off .intro-flow.has-scroll-fill .flow-word{background:none;color:var(--ink);-webkit-text-fill-color:var(--ink)}
@media(prefers-reduced-motion:reduce){.intro-flow.has-scroll-fill .flow-word{background:none;color:var(--ink);-webkit-text-fill-color:var(--ink)}}

/* Reference revision 2.9: typography, expanding benefits, zoom field and hello. */
/* Rings and emojis stay; word filling is defined in additions.css. */
.keep-together{white-space:nowrap}
.intro-flow{padding-top:100px;padding-bottom:100px}
.intro-flow>p{font-family:Outfit,Arial,sans-serif;font-size:clamp(35px,4.35vw,76px);font-weight:400;line-height:1.38;letter-spacing:-.035em;text-transform:none;text-align:left;color:var(--ink)}
.intro-flow .flow-ring{color:var(--ink);border-color:var(--ink);box-shadow:none}
.intro-flow .flow-icon{display:inline-block}

/* Shared palette for the benefits ribbons and service fan. */
:root{--section-ink:#202b38;--section-petrol:#315b61;--section-stone:#e9eef2;--section-paper:#fff;--section-text:#18232b}
.benefits-showcase{background:white;padding:55px 0 85px;overflow:hidden}
.benefits-heading{padding:0 var(--gap);display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:95px}
.benefits-heading h2{font-size:clamp(35px,4.2vw,68px);font-weight:500;letter-spacing:-.045em;line-height:1.05}
.benefits-heading p{font-size:14px;max-width:210px;line-height:1.4;padding-bottom:4px}
.benefit-row{--benefit-color:#2455f5;--benefit-ink:#fff;--rest:62%;--arrow:clamp(130px,11.4vw,176px)}
.benefit-row:nth-child(2){--benefit-color:var(--yellow);--benefit-ink:#fff;--rest:54%}
.benefit-row:nth-child(3){--benefit-color:#39e58c;--benefit-ink:#fff;--rest:46%}
.benefit-row:nth-child(4){--benefit-color:#762cf5;--benefit-ink:#fff;--rest:49%}
.benefit-row h3{font-size:inherit;line-height:1;margin:0;font-weight:400}
.benefit-trigger{width:100%;display:flex;align-items:center;text-align:left;padding:0;border:0;background:transparent;color:var(--benefit-ink);font:inherit;cursor:default}
.benefit-surface{background:var(--benefit-color);display:flex;align-items:center;gap:30px;width:calc(100% - var(--arrow));height:var(--arrow);min-height:var(--arrow);border-radius:0 120px 120px 0;padding:25px 35px;transition:width .65s cubic-bezier(.2,.7,.1,1),border-radius .5s;overflow:hidden}
.benefit-title{font-family:Outfit,Arial,sans-serif;font-size:clamp(37px,5.3vw,88px);line-height:1.04;letter-spacing:-.05em;font-weight:500;white-space:nowrap;flex:none}
.benefit-detail{display:flex;align-items:center;gap:20px;opacity:1;flex:1;min-width:0;max-width:550px;transition:opacity .3s .1s,max-width .6s;visibility:visible}
.benefit-copy{font-family:Outfit,Arial,sans-serif;font-size:14px;line-height:1.4;letter-spacing:-.025em;font-weight:400;min-width:165px;max-width:245px}
.benefit-art{display:block;width:clamp(65px,7.6vw,110px);flex:none;transform:translate(var(--art-x,0px),var(--art-y,0px)) rotate(var(--art-r,-6deg));transition:transform .25s}
.benefit-art{color:var(--section-text)}
.benefit-row:first-child .benefit-art svg>path:last-child{stroke:var(--benefit-ink)}
.benefit-art svg [fill="#4dc4ff"]{fill:var(--yellow)}

.benefit-art svg{display:block;width:100%;height:auto;overflow:visible}
.benefit-arrow{background:var(--benefit-color);display:grid;place-items:center;border-radius:50%;width:var(--arrow);height:var(--arrow);font-family:Outfit,Arial,sans-serif;font-size:clamp(50px,6vw,90px);line-height:1;flex:none;transform:rotate(0);transition:opacity .2s,transform .5s}

.benefits-ready .benefit-row:not(.is-active) .benefit-surface{width:var(--rest);gap:0}
.benefits-ready .benefit-row:not(.is-active) .benefit-detail{max-width:0;opacity:0;visibility:hidden;transition:opacity .15s,max-width .6s,visibility 0s .2s}
.benefits-ready .benefit-row:not(.is-active) .benefit-arrow{opacity:0;transform:rotate(-45deg)}
.benefit-trigger:focus-visible{outline:3px solid var(--benefit-ink);outline-offset:-4px;border-radius:0 120px 120px 0}
.benefit-trigger:focus-visible .benefit-title{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}

/* A contained, tactile word playground with a single zoom destination. */
.word-zoom{background:var(--blue);position:relative;isolation:isolate}
.zoom-pin{position:relative;overflow:hidden;background:var(--blue);padding:75px 24px 100px}
.zoom-field{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px}
.zoom-cell{display:flex;align-items:center;justify-content:center;flex:none;position:relative;min-height:55px;padding:12px 24px;border:2px solid #111;border-radius:999px;background:var(--blue);color:var(--ink);font-family:Outfit,Arial,sans-serif;font-size:22px;font-weight:500;line-height:1.1;letter-spacing:-.04em;white-space:nowrap;box-shadow:none;user-select:none;-webkit-user-select:none;touch-action:pan-y;transition:background .2s,color .2s,box-shadow .2s}
.zoom-cell[hidden]{display:none}
.zoom-cell:nth-child(11n+2),.zoom-cell:nth-child(11n+8){background:#79d3ff}
.zoom-cell:focus-visible{outline:5px solid #111;outline-offset:8px}
.zoom-cell.is-held{z-index:8;box-shadow:0 11px 0 #111}
.zoom-focus{background:var(--blue)!important;color:#111!important;flex-direction:column;z-index:4}
.zoom-focus-word{display:block;line-height:1.02;letter-spacing:-.06em}
.zoom-focus-arrow{display:none;font-family:Outfit,Arial,sans-serif;line-height:1}
.zoom-hint{display:none;position:absolute;top:25px;left:0;right:0;text-align:center;font-size:12px;letter-spacing:.025em;line-height:1.4;margin:0;z-index:10;pointer-events:none}
.zoom-cta{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;gap:25px;background:#fff;color:var(--ink);border:1px solid #111;border-radius:999px;padding:13px 23px;font-size:16px;line-height:1.2;white-space:nowrap;z-index:10;transition:background .2s}
.zoom-cta:hover{background:var(--yellow)}.zoom-cta span{font-size:28px;line-height:1}
.zoom-ready{height:245svh}
.zoom-ready .zoom-pin{position:sticky;top:var(--header);height:calc(100svh - var(--header));min-height:400px;padding:0}
.zoom-ready .zoom-field{display:block;position:absolute;left:50%;top:var(--field-y,50%);width:var(--field-w,2970px);height:var(--field-h,1620px);transform:translate(-50%,-50%) scale(var(--zoom,.4));transform-origin:center;isolation:isolate}
.zoom-ready .zoom-cell{position:absolute;left:50%;top:50%;width:var(--bubble-w,270px);height:var(--bubble-h,108px);min-height:0;padding:0 16px;font-size:var(--bubble-font,27px);will-change:auto;border-radius:999px;transform:translate3d(var(--bubble-x,0px),var(--bubble-y,0px),0) translate(-50%,-50%) rotate(var(--bubble-rotate,0deg))}
.zoom-ready .zoom-focus{height:var(--focus-h,108px);width:270px;border-radius:999px;gap:var(--focus-gap,0px);border-width:var(--focus-border,2px);box-shadow:0 var(--focus-shadow,0px) 0 #111;background:var(--focus-color,#4dc4ff)!important;transform:translate(-50%,-50%)}
.zoom-ready .zoom-focus-word{font-size:var(--focus-word-font,27px);letter-spacing:-.04em;text-transform:var(--focus-case,uppercase)}
.zoom-ready .zoom-focus-arrow{display:block;opacity:var(--focus-detail,0);font-size:var(--focus-arrow,0px);height:var(--focus-arrow,0px)}
.zoom-ready button.zoom-cell{cursor:grab}.is-bubble-dragging .zoom-cell{cursor:grabbing!important}
@media(hover:hover) and (pointer:fine){.zoom-cell:not(.zoom-focus):hover{background:#111;color:var(--blue)}.zoom-focus:hover{background:var(--focus-hover,#111)!important;color:var(--focus-hover-ink,#4dc4ff)!important}}

.contact--hello{padding:50px var(--gap) 0;background:#fff;border:0;border-radius:0;overflow:hidden;position:relative}
.hello-main{position:relative;display:grid;grid-template-columns:1.25fr 1fr;align-items:end;min-height:500px}
.hello-links{padding-bottom:50px;z-index:2;position:relative}
.contact-copy{display:block;width:fit-content;max-width:100%;padding:0;text-align:left;background:none;color:inherit;border:0;border-radius:0}
.contact-copy:focus-visible{outline-offset:10px}
.copy-icon{width:.8em;height:.8em;flex:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.copy-feedback{min-height:1.5em;margin-top:25px;font-size:13px;line-height:1.5;letter-spacing:0;color:#555;opacity:0;transition:opacity .2s}
.copy-feedback.is-visible{opacity:1}
.contact-copy+.contact-copy{margin-top:56px}
.hello-label{display:block;font-family:Outfit,Arial,sans-serif;font-size:clamp(70px,8.7vw,140px);font-weight:500;line-height:.95;letter-spacing:-.065em}
.hello-value{display:flex;align-items:center;gap:15px;font-family:Outfit,Arial,sans-serif;font-size:clamp(19px,2.5vw,40px);line-height:1.3;letter-spacing:-.04em;margin-top:15px}
.hello-value>span{font-size:inherit}
.contact-copy:hover .copy-icon{transform:translate(2px,-2px)}
.contact-copy:hover .hello-value{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.hello-character{width:100%;height:auto;max-height:620px;align-self:end;transform:translateY(3px);overflow:visible}
.hello-wave{transform-origin:175px 335px;animation:hello-wave 3.2s ease-in-out infinite}
@keyframes hello-wave{0%,52%,100%{transform:rotate(0)}12%,32%{transform:rotate(-10deg)}22%,42%{transform:rotate(7deg)}}
footer{background:white;color:var(--ink);padding:0;border:0;border-radius:0;overflow:hidden}
footer .footer-bottom{padding:25px var(--gap);border-top:1px solid #1113;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:15px 25px;font-size:11px;line-height:1.5;letter-spacing:0}
.footer-legal{display:flex;gap:25px}
.footer-legal a:hover{text-decoration:underline;text-underline-offset:4px}

@media(min-width:1500px){.benefit-copy{font-size:17px;max-width:290px}.benefit-detail{gap:35px}.benefit-surface{padding-left:var(--gap)}}
@media(max-width:1100px){
 .benefit-title{font-size:5.1vw}.benefit-surface{gap:20px;padding:22px 25px}.benefit-detail{gap:15px}.benefit-art{width:65px}.benefit-copy{font-size:14px;min-width:130px}
 .hello-main{grid-template-columns:1.2fr 1fr;min-height:430px}.hello-label{font-size:8.5vw}.hello-value{font-size:2.45vw}
}
@media(max-width:700px){
 .intro-flow{padding-top:55px;padding-bottom:60px}.intro-flow>p{font-size:clamp(26px,7.3vw,47px);line-height:1.5;letter-spacing:-.035em}
 .benefits-showcase{padding:45px 0 55px}.benefits-heading{display:block;margin-bottom:42px;padding-right:25px}.benefits-heading h2{font-size:36px}.benefits-heading p{font-size:13px;margin-top:15px;max-width:none}
 .benefit-row{--rest:95%;--arrow:0px}.benefit-row:nth-child(n){--rest:95%}
 .benefit-surface{width:100%;border-radius:0 40px 40px 0;padding:22px 20px;display:block;min-height:88px;height:auto}.benefit-title{font-size:clamp(30px,8.4vw,50px);letter-spacing:-.045em;line-height:1.13}.benefit-arrow{display:none}
 .benefit-detail{margin-top:18px;max-width:100%;gap:20px;max-height:200px;transition:opacity .3s,max-height .5s,margin-top .5s}
 .benefit-art{width:80px}.benefit-copy{font-size:14px;max-width:300px;min-width:0}
 .benefits-ready .benefit-row:not(.is-active) .benefit-detail{max-height:0;max-width:100%;margin-top:0;overflow:hidden}
 .benefit-trigger:focus-visible{border-radius:0 40px 40px 0}.benefit-trigger:focus-visible .benefit-title{text-underline-offset:5px}
 .zoom-ready{height:210svh}.zoom-cta{font-size:13px;gap:20px;padding:11px 18px;bottom:22px}.zoom-hint{font-size:10px;top:22px}
 .contact--hello{border-radius:0;padding:40px var(--gap) 0;border:0}
 .hello-main{display:block;min-height:0}.hello-links{padding-bottom:0}.hello-label{font-size:17vw;line-height:1}.hello-value{font-size:5.5vw;gap:10px;margin-top:10px}.contact-copy+.contact-copy{margin-top:36px}.copy-feedback{font-size:11px;margin-top:20px}
 .hello-character{display:block;width:83%;max-width:360px;max-height:none;margin:15px 0 0 auto}
 footer .footer-bottom{display:grid;grid-template-columns:1fr auto;font-size:10px;padding:20px var(--gap);gap:12px 20px}.footer-address{grid-column:1;grid-row:2}.footer-bottom>span:first-child{grid-column:1/-1;grid-row:1}.footer-legal{grid-column:2;grid-row:2;margin:0;gap:18px}
}
.motion-off .hello-wave{animation-play-state:paused}
.motion-off .benefit-art{transform:none!important}.motion-off .benefit-surface,.motion-off .benefit-detail,.motion-off .benefit-arrow,.motion-off .zoom-cell{transition:none}
.motion-off .zoom-ready{height:auto}.motion-off .zoom-ready .zoom-pin{position:relative;top:0}
@media(prefers-reduced-motion:reduce){
 .hello-wave{animation:none}.benefit-surface,.benefit-detail,.benefit-arrow,.benefit-art,.zoom-cell{transition:none!important}.benefit-art{transform:none!important}.zoom-ready{height:auto}.zoom-ready .zoom-pin{position:relative;top:0}
}

@media(max-width:380px){.footer-address{grid-column:1/-1}.footer-legal{grid-column:1/-1;grid-row:3}}

/* Mobile: stable row geometry prevents scroll-trigger feedback and skipped items. */
@media(max-width:700px){
 .benefits-list{overflow-anchor:none}
 .benefits-ready .benefit-surface{height:var(--benefit-closed-height,88px);min-height:0;transition:width .5s cubic-bezier(.2,.7,.1,1),height .5s cubic-bezier(.2,.7,.1,1)}
 .benefits-ready .is-active .benefit-surface{height:var(--benefit-open-height,190px)}
}

.motion-off .benefits-ready .benefit-surface{transition:none!important}

/* Mobile benefits stay in view while the four entries open in sequence. */
.benefits-pin{display:contents}
@media(max-width:700px){
 .benefits-showcase.benefits-pinned{overflow:visible;padding:0;height:calc(var(--benefit-pin-height) + var(--benefit-travel));position:relative}
 .benefits-pinned .benefits-pin{display:flex;flex-direction:column;justify-content:center;position:sticky;top:var(--benefit-pin-top);height:var(--benefit-pin-height);padding:22px 0;background:#fff}
 .benefits-pinned .benefits-heading{margin-bottom:26px}
 .benefits-pinned .benefits-list{flex:none;height:calc(var(--benefit-open-height) + 3 * var(--benefit-closed-height))}
}

/* Version 2.11: open sections, original brand accents and direct typography. */
:root{--chapter-space:clamp(65px,7vw,115px);--chapter-title:clamp(44px,6.2vw,100px);--chapter-lead:17px;--flow-size:clamp(35px,4.35vw,76px);--flow-leading:1.38}
main{background:white}
.header .nav a,.header .nav-cta{font-family:Outfit,Arial,sans-serif;font-size:17.6px;font-weight:600;letter-spacing:0}
.header .nav-cta{background:var(--yellow);color:var(--ink);border:1.5px solid var(--ink);border-radius:4px}
.header .nav-cta:hover{background:var(--ink);color:white}
.content-chapter{position:relative;background:white;color:var(--ink);border:0;border-radius:0;padding:var(--chapter-space) var(--gap) 85px;margin:0}
.content-chapter .chapter-head{display:block;max-width:1000px;margin:0 auto 64px;text-align:center}
.content-chapter .small-label{display:inline-block;border:0;border-radius:0;padding:0;font-family:Outfit,Arial,sans-serif;font-size:11px;font-weight:500;line-height:1.3;letter-spacing:.04em;color:inherit}
.content-chapter .chapter-head h2{font-family:Outfit,Arial,sans-serif;font-size:var(--chapter-title);font-weight:500;line-height:1.025;letter-spacing:-.05em;margin:25px 0 0}
.content-chapter .chapter-head>p{font-family:Outfit,Arial,sans-serif;font-size:var(--chapter-lead);font-weight:400;line-height:1.45;letter-spacing:-.025em;max-width:550px;margin:22px auto 0;padding:0;text-align:center}
.content-chapter .chapter-head .outlined{font-weight:inherit;color:inherit}
.services-heading h2>span:after{display:none}
.content-chapter a.button,.content-chapter .card-info>a{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid #111;border-radius:4px;padding:12px 18px;background:var(--yellow);color:#111;font-family:Outfit,Arial,sans-serif;font-size:12px;line-height:1.25;letter-spacing:0;text-decoration:none}
.content-chapter a.button:hover,.content-chapter .card-info>a:hover{background:var(--ink);color:white;transform:none}

/* Sticky service cards retain their scale and blur as the next card arrives. */
.services{padding-top:45px;padding-bottom:100px}
.services-right{max-width:1160px}
.service-card{margin-bottom:80px}
.card-content{border:0;border-top:1.5px solid #111;border-radius:0;padding:24px 0;gap:24px 35px;background:white}
.card-film{border-radius:0;min-height:430px;max-height:560px}
.card-film>span{font-size:9px;padding:8px 12px;border-radius:0;left:14px;right:14px;bottom:14px}
.card-heading h3{font-family:Outfit,Arial,sans-serif;font-weight:500;letter-spacing:-.045em}
.card-heading>span{font-size:12px;border:0;align-self:start;padding-top:8px}
.card-info li{border-color:#1113}
.card-info>a{margin-top:24px}
.stock-note{bottom:28px;letter-spacing:.02em}

/* A flat inverse section; the stationary light band remains intact. */
.content-chapter.trades{background:var(--ink);color:white;padding-bottom:75px}
.trade-word,.trade-word:first-child{border-color:#ffffff50}
.trade-foot{margin-top:35px}
.trade-foot a{display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid #fff8;padding:10px 0;font-size:14px}

/* Team: one open editorial spread with two real portraits. */
.content-chapter.team{background:var(--yellow);display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:7vw;padding-top:90px;padding-bottom:90px}
.team-intro h2{font-family:Outfit,Arial,sans-serif;font-size:clamp(44px,4.7vw,76px);font-weight:500;line-height:1.04;letter-spacing:-.05em;margin:30px 0}
.team-intro p{font-size:17px;line-height:1.55;max-width:450px}
.team-intro p+p{margin-top:18px}
.team-direct{display:inline-flex;align-items:center;gap:30px;font-family:Outfit,Arial,sans-serif;font-weight:500;font-size:20px;border-bottom:1px solid #111;padding:7px 0;margin-top:25px}
.team-direct span{font-size:28px}.team-direct:hover span{transform:translate(3px,-3px)}
.team-portraits{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.team-portraits figure:nth-child(2){margin-top:70px}
.team-photo{aspect-ratio:.78;overflow:hidden;background:white}
.team-photo img{height:100%;width:100%;object-fit:cover;object-position:center top}
.team-portraits figcaption{display:block;margin-top:18px}
.team-portraits figcaption strong{font-size:clamp(21px,2vw,30px);font-weight:500;line-height:1.15}
.team-portraits figcaption>span{display:block;font-size:12px;line-height:1.4;margin-top:7px}

/* Logos and questions sit on open surfaces with simple dividing rules. */
.toolkit-list{gap:0;margin:0;padding:0}
.toolkit-list>li,.toolkit-list>li:nth-child(n+5){border:0;border-top:1px solid #1113;border-bottom:1px solid #1113;border-radius:0;overflow:hidden}
.toolkit-list a{padding:28px 8px;transition:background .2s}
.toolkit-list a:hover,.toolkit-list a:focus-visible{background:#fff5ce}
.toolkit-icon{height:90px;margin-bottom:18px}
.toolkit-list strong{font-size:clamp(13px,1.25vw,19px);font-weight:500;line-height:1.25}
.toolkit-purpose{font-size:11px;line-height:1.4}
.toolkit-foot{padding-top:28px}.toolkit-foot>p{font-size:24px;font-weight:500}.toolkit-foot>span{font-size:12px}
.questions{display:block;padding-top:30px}
.questions>div:not(.chapter-head){max-width:1000px;margin:0 auto}
.questions details,.questions details:last-child{border:0;border-top:1px solid #1115;border-radius:0;margin:0;padding:0;background:white}
.questions details:last-child{border-bottom:1px solid #1115}
.questions summary{font-size:clamp(22px,2.1vw,32px);font-weight:500;letter-spacing:-.035em;line-height:1.2;padding:26px 0;gap:25px}
.questions summary>span{font-size:32px;flex:none;font-weight:400}
.questions details p{font-size:16px;line-height:1.5;max-width:820px;padding-bottom:25px;padding-right:55px}

@media(max-width:1100px){
 .header .nav a,.header .nav-cta{font-size:16px}
 .content-chapter .chapter-head{margin-bottom:50px}
 .card-content{gap:22px 25px}.card-film{min-height:430px}
 .content-chapter.team{gap:40px}.team-portraits{gap:16px}.team-intro p{font-size:15px}.team-portraits figcaption>span{font-size:10px}
 .toolkit-list strong{font-size:18px}.toolkit-list>li:last-child{grid-column:3/5}
}
@media(max-width:700px){
 :root{--chapter-space:55px;--chapter-title:clamp(37px,10.5vw,65px);--chapter-lead:15px;--flow-size:clamp(26px,7.3vw,47px);--flow-leading:1.5}
 .header .nav-cta{font-size:14px}.header #mobile-nav a{font-weight:600;letter-spacing:0}
 .content-chapter{padding:var(--chapter-space) var(--gap) 55px}
 .content-chapter .chapter-head{margin-bottom:35px}
 .content-chapter .small-label{font-size:9px;letter-spacing:.03em}
 .content-chapter .chapter-head h2{margin-top:21px}
 .content-chapter .chapter-head>p{margin-top:18px;max-width:360px}
 .content-chapter a.button,.content-chapter .card-info>a{font-size:10px;padding:10px 13px;gap:15px}
 .services{padding-top:30px;padding-bottom:85px}.service-card{margin-bottom:60px}.card-content{padding:20px 0;gap:18px 14px}
 .card-heading h3{font-size:33px;line-height:1.04}.card-heading>span{font-size:9px;padding-top:2px}
 .card-film{height:380px;min-height:0;max-height:none}.card-film>span{font-size:7px;line-height:1.3;left:8px;right:8px;bottom:10px;padding:6px 8px;max-width:calc(100% - 16px)}
 .card-info>p,.card-info li{font-size:14px;line-height:1.35}.card-info>p{padding-bottom:15px}.card-info li{padding:10px 0 10px 15px}.card-info li:before{top:9px}
 .card-info>a{margin-top:18px;white-space:normal;text-align:left}
 .stock-note{font-size:6px;bottom:24px}
 .content-chapter.trades{padding-bottom:50px}.trade-foot a{font-size:12px;padding:10px 0}.trade-foot>span{font-size:8px}
 .content-chapter.team{display:block;padding:60px var(--gap)}
 .team-intro h2{font-size:44px;margin:24px 0}.team-intro p{font-size:16px}.team-direct{font-size:18px;margin-top:20px}
 .team-portraits{margin-top:40px;gap:15px}.team-portraits figure:nth-child(2){margin-top:38px}.team-photo{aspect-ratio:.75}
 .team-portraits figcaption{margin-top:13px}.team-portraits figcaption strong{font-size:22px}.team-portraits figcaption>span{font-size:10px}
 .toolkit-list>li:last-child{grid-column:1/-1}.toolkit-list>li:nth-child(n+3){border-top:0}.toolkit-list a{padding:24px 8px}.toolkit-list strong{font-size:17px}.toolkit-purpose{font-size:11px}.toolkit-icon{height:75px;margin-bottom:14px}
 .toolkit-foot{display:block;padding-top:24px}.toolkit-foot>p{font-size:22px;line-height:1.2}.toolkit-foot>span{font-size:11px;margin-top:12px}
 .questions summary{font-size:21px;line-height:1.2;gap:15px;padding:22px 0}.questions summary>span{font-size:28px}.questions details p{font-size:15px;line-height:1.5;padding-right:0;padding-bottom:22px}
}
@media(max-width:359px){.card-heading h3{font-size:30px}.card-film{height:395px}.card-info>p,.card-info li{font-size:13px}.card-info>a{font-size:9px;padding:9px 11px}.team-portraits figcaption strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){.toolkit-list a{transition:none}.team-direct:hover span{transform:none}}

/* Headings start directly after removing the small chapter labels. */
.content-chapter .chapter-head h2:first-child,.team-intro h2:first-child{margin-top:0}

/* Version 2.17: one shared section for trades and AI search visibility. */
.ai-search{padding-inline:0;padding-bottom:var(--chapter-space)}
.ai-search .chapter-head{padding-inline:var(--gap);max-width:1200px;margin-bottom:55px}
.ai-ribbon{background:#f0faff;border:0;padding:34px 0 28px}
.ai-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px;max-width:1100px;padding:14px var(--gap);margin:0 auto}
.ai-brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;min-width:0;padding:4px;color:var(--ink);border-radius:0}
.ai-brand img{display:block;width:clamp(76px,7.4vw,110px);height:clamp(76px,7.4vw,110px);object-fit:contain;filter:none;animation:ai-logo-turn 28s linear infinite;transform-origin:center;will-change:transform}
.ai-brand>span{font-family:Outfit,Arial,sans-serif;font-weight:400;font-size:16px;line-height:1.3;letter-spacing:0}
.ai-brand:focus-visible{outline:2px solid var(--ink);outline-offset:7px}
.ai-brand:hover img,.ai-brand:focus-visible img{animation-play-state:paused}
@keyframes ai-logo-turn{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.ai-search-copy{font-family:Outfit,Arial,sans-serif;font-size:var(--flow-size);line-height:var(--flow-leading);letter-spacing:-.035em;max-width:1500px;padding:65px var(--gap) 0;margin:0 auto}
.ai-platform{white-space:nowrap}
@media(max-width:700px){.ai-search .chapter-head{margin-bottom:35px}.ai-ribbon{padding:18px 0 15px}.ai-search-copy{padding-top:35px}}

/* Frame the large project and active teams without a colour filter. */
.film-one video{object-position:35% center}
.film-two video{object-position:86% center}
.film-three video{object-position:48% center}

/* Shared sizes make the opening statement, AI text and section titles consistent. */
.studio-intro>p,.intro-flow>p,.ai-search-copy,.team .team-intro p{font-family:Outfit,Arial,sans-serif;font-size:var(--flow-size);font-weight:400;line-height:var(--flow-leading);letter-spacing:-.035em}
.benefits-heading h2,.team-intro h2{font-size:var(--chapter-title);font-weight:500;line-height:1.025;letter-spacing:-.05em}
@media(max-width:700px){.ai-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 28px;padding-block:18px}.ai-brand{gap:22px}.ai-brand img{width:76px;height:76px}.ai-brand>span{font-size:14px}}
@media(prefers-reduced-motion:reduce){.ai-brand img{animation:none;transform:none;will-change:auto}}
.motion-off .ai-brand img{animation:none;transform:none;will-change:auto}

/* Version 2.20: title, real portraits, introduction and personal contact. */
.content-chapter.team{display:block;padding-top:var(--chapter-space);padding-bottom:var(--chapter-space)}
.team .team-portraits{max-width:1120px;margin:0 auto 48px;gap:28px}
.team .team-portraits figure:nth-child(2){margin-top:70px}
.team .team-photo{aspect-ratio:1201 / 1310;background:transparent;overflow:visible}
.team .team-photo img{object-fit:contain}
.team .team-intro{max-width:calc(1500px - var(--gap)*2);margin:0 auto}
.team .team-intro p{max-width:none}
/* A translucent, uneven felt-tip stroke repeats naturally across wrapped lines. */
.ai-highlight{color:inherit;background-color:transparent;padding:.025em .08em .06em;box-decoration-break:clone;-webkit-box-decoration-break:clone;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 100' preserveAspectRatio='none'%3E%3Cpath d='M3 16 71 11 163 15 260 9 353 13 462 8 598 14 595 87 502 91 403 86 301 94 193 88 99 93 1 86Z' fill='%23ff80ba' fill-opacity='.72'/%3E%3Cpath d='M0 25 132 20 266 24 422 18 600 23 598 78 438 83 284 79 137 85 2 80Z' fill='%23ff6caf' fill-opacity='.3'/%3E%3C/svg%3E");background-size:100% 100%;background-repeat:no-repeat}
@media(max-width:700px){.team .team-portraits{margin-bottom:32px;gap:15px}.team .team-portraits figure:nth-child(2){margin-top:38px}}

/* Version 2.23: a short studio introduction before the benefits. */
.studio-intro{position:relative;background:white}
.studio-intro,.intro-flow{padding:100px var(--gap)}
.studio-intro>p,.intro-flow>p{width:100%;max-width:none;margin:0;color:var(--ink);text-align:left;text-indent:0}
@media(max-width:700px){.studio-intro,.intro-flow{padding-top:55px;padding-bottom:60px}}

/* Version 2.26: spacious FAQ with the same readable type as the flowing text. */
.questions.content-chapter{padding-top:var(--chapter-space);padding-bottom:var(--chapter-space)}
.questions>div.faq-list{max-width:calc(1500px - var(--gap)*2)}
.questions summary,.questions details .faq-answer p{font-family:Outfit,Arial,sans-serif;font-size:var(--flow-size);line-height:var(--flow-leading);letter-spacing:-.035em}
.questions summary{font-weight:500;padding:32px 0;gap:35px;align-items:flex-start}
.questions summary>span{font-size:var(--flow-size);line-height:var(--flow-leading);transition:transform .45s cubic-bezier(.22,1,.36,1)}
.questions .faq-answer{display:flow-root;padding:0 70px 36px 0}
.questions details .faq-answer p{font-weight:300;max-width:none;padding:0;color:var(--ink)}
.questions details[open] summary>span{transform:rotate(45deg)}
.questions details summary[aria-expanded="false"]>span{transform:rotate(0)}
@media(max-width:700px){.questions summary{padding:25px 0;gap:16px}.questions .faq-answer{padding:0 0 28px}}
@media(prefers-reduced-motion:reduce){.questions summary>span{transition:none}}

/* Generated stills ready for later image-to-video replacement. */
.hero .film>img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 40%}

/* Clear, readable role labels in the site’s primary typeface. */
.team .team-portraits figcaption>span{font-family:Outfit,Arial,sans-serif;font-size:clamp(16px,1.6vw,23px);font-weight:400;letter-spacing:-.02em;line-height:1.35}
.benefit-arrow svg{width:52%;height:52%}

/* Mobile: full-width film with an inset headline and consistent flowing copy. */
@media(max-width:700px){
 .hero{height:auto;min-height:0;max-height:none;background:#fff;display:flex;flex-direction:column}
 .hero-films{position:relative;inset:auto;display:block;height:clamp(500px,calc(85svh - var(--header)),760px);width:100%;z-index:auto;flex:none}
 .hero .film-one{display:block;border:0;width:100%}
 .hero .film-two,.hero .film-three{display:none}
 .hero .film-one video{object-position:40% center}
 .hero-swiss-label{width:178px;top:16px;right:16px;padding:9px 12px;z-index:1}
 .hero-title-plate{position:absolute;left:16px;right:16px;bottom:65px;max-width:none;width:auto;margin:0;padding:16px 14px;border-radius:4px;z-index:1}
 .hero h1{font-size:clamp(26px,7.7vw,36px);line-height:1.14;letter-spacing:-.045em}
 .hero-foot{position:absolute;left:var(--gap);right:var(--gap);bottom:22px;padding:0;color:#fff;text-shadow:0 1px 4px #000;justify-content:center;font-size:10px;z-index:1}
 .hero-foot a{gap:12px}.hero-foot a span{font-size:21px}
 .studio-intro,.intro-flow{padding:0 0 55px}
 .studio-intro{padding-bottom:10px}
 .studio-intro>p,.intro-flow>p,.ai-search-copy{width:100%;max-width:none;margin:0;padding:35px var(--gap) 0;font-family:Outfit,Arial,sans-serif;font-size:var(--flow-size);font-weight:400;line-height:var(--flow-leading);letter-spacing:-.035em;text-align:left;text-indent:0}
 .intro-flow .flow-ring,.intro-flow .flow-ring-copy,.intro-flow .flow-unit{display:inline;border:0;padding:0;margin:0;line-height:inherit;white-space:normal}
 .intro-flow .flow-icon{display:none}
 .intro-flow.has-scroll-fill .flow-word{background:none;color:var(--ink);-webkit-text-fill-color:var(--ink)}
}

/* Give each portrait the full available width on phones. */
@media(max-width:700px){
 .team .team-portraits{grid-template-columns:1fr;max-width:440px;gap:38px;margin-bottom:40px}
 .team .team-portraits figure:nth-child(2){margin-top:0}
 .team .team-portraits figcaption{margin-top:16px}
 .team .team-portraits figcaption strong{font-size:28px}
 .team .team-portraits figcaption>span{font-size:19px}
}

footer,footer .footer-bottom,footer a{font-family:Outfit,Arial,sans-serif}

/* Equal visual text edges across all three mobile text sections. */
@media(max-width:700px){
 .studio-intro>p,.intro-flow>p,.ai-search-copy{text-align:justify;text-align-last:left;hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:8 3 3}
 .ai-search-copy .ai-platform{hyphens:none;-webkit-hyphens:none}
}

/* Keep the mobile introduction concise before the AI section. */
@media(max-width:700px){.intro-flow{display:none}}

/* White backing follows the headline; a compact square leads into the page. */
.hero-title-plate{background:none;padding:0;border-radius:0;bottom:88px}
.hero h1{line-height:1.25}
.hero-title-copy{background:#fff;padding:.06em .18em .1em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero-foot .hero-scroll-button{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #fff;background:#fff;color:var(--ink);border-radius:0;text-shadow:none;transition:background .2s}
.hero-scroll-button svg{width:24px;height:24px}
.hero-foot .hero-scroll-button:hover{background:var(--yellow);border-color:var(--yellow)}
.hero-swiss-mobile{display:none}
@media(max-width:700px){
 .hero-title-plate{left:16px;right:16px;bottom:86px;padding:0;background:none}
 .hero h1{line-height:1.3}
 .hero-swiss-desktop{display:none}
 .hero-swiss-mobile{position:static;display:block;width:178px;padding:9px 12px;margin-top:16px;border-radius:0}
 .hero-foot{bottom:18px}
}

/* Align the hero scroll control to the right edge of the content. */
.hero-foot{justify-content:flex-end}
@media(max-width:700px){.hero-foot{right:16px}}

.questions details .faq-answer p+p{margin-top:.8em}

/* A deliberate three-line desktop headline and a direct team callback action. */
.hero-mobile-space{display:none}
.hero-title-last{white-space:nowrap}
.team .team-direct{display:inline-flex;align-items:center;justify-content:center;min-height:52px;margin-top:28px;padding:14px 22px;border:1px solid #23734f;border-radius:4px;background:#23734f;color:#fff;font:500 20px/1.3 Outfit,Arial,sans-serif;text-decoration:none;cursor:pointer;transition:background .2s}
.team .team-direct:hover{background:#18573b;border-color:#18573b}
@media(max-width:700px){.hero-desktop-break{display:none}.hero-mobile-space{display:inline}.hero-title-last{white-space:normal}.team .team-direct{font-size:18px}}

/* Quiet square disclosure, with room for its rotated corners. */
.questions summary>.faq-square{display:block;width:.48em;height:.48em;background:#000;border:0;border-radius:0;margin:.45em .18em 0 .12em;flex:none;transform:rotate(0);transition:transform .7s cubic-bezier(.4,0,.2,1)}
.questions details[open] summary>.faq-square{transform:rotate(-45deg)}
.questions details summary[aria-expanded="false"]>.faq-square{transform:rotate(0)}
@media(prefers-reduced-motion:reduce){.questions summary>.faq-square{transition:none}}

/* Version 2.39: rounded cards and softer unfolding, without an outer frame. */
.services-fan{padding:var(--chapter-space) var(--gap) 90px;background:#fff;font-family:Outfit,Arial,sans-serif;position:relative}
.services-fan-track{max-width:1500px;margin:0 auto;position:relative}
.services-fan-stage{position:relative}
.services-fan.is-pinned .services-fan-stage{position:sticky;top:var(--desktop-pin-top,calc(var(--header) + 18px))}
.benefit-fan{--spine:84px;--page-width:700px;--card-height:620px;display:flex;gap:8px;position:relative;isolation:isolate}
.benefit-leaf{flex:0 0 var(--spine);min-width:0;height:var(--card-height);display:flex;overflow:hidden;border-radius:42px;position:relative;transition:flex-basis .85s cubic-bezier(.2,.7,.1,1),flex-grow .85s cubic-bezier(.2,.7,.1,1);background:var(--leaf);color:var(--leaf-ink,#111)}
.benefit-leaf.is-active{flex:1 1 var(--spine)}
.benefit-leaf:nth-child(1){--leaf:var(--section-stone);--leaf-ink:var(--section-text)}.benefit-leaf:nth-child(2){--leaf:var(--section-ink);--leaf-ink:var(--section-paper)}.benefit-leaf:nth-child(3){--leaf:var(--yellow);--leaf-ink:var(--section-text)}.benefit-leaf:nth-child(4){--leaf:var(--section-petrol);--leaf-ink:var(--section-paper)}
.benefit-spine{flex:0 0 var(--spine);width:var(--spine);display:flex;flex-direction:column;align-items:center;padding:40px 0;background:none;border:0;color:inherit;font-family:Outfit,Arial,sans-serif}
.benefit-spine>strong{writing-mode:vertical-rl;font-size:38px;font-weight:400;line-height:1;letter-spacing:-.035em}.benefit-spine:focus-visible{outline:3px solid currentColor;outline-offset:-6px}.benefit-leaf:last-child .benefit-spine{border-color:#ffffff30}
.benefit-page{flex:0 0 var(--page-width);width:var(--page-width);padding:48px;display:flex;flex-direction:column;justify-content:center;gap:32px;opacity:0;visibility:hidden;transform:translateX(18px);transition:opacity .28s ease,transform .65s cubic-bezier(.2,.7,.1,1),visibility .28s;position:relative}
.benefit-leaf.is-active .benefit-page{opacity:1;visibility:visible;transform:translateX(0);transition-delay:.18s}
.benefit-page h2{font-family:Outfit,Arial,sans-serif;font-size:clamp(44px,4.8vw,76px);font-weight:500;line-height:1.04;letter-spacing:-.05em;margin:0;max-width:920px}
.benefit-page p{font-family:Outfit,Arial,sans-serif;font-size:clamp(23px,2.05vw,32px);font-weight:400;line-height:1.38;letter-spacing:-.025em;max-width:790px;margin:0}
@media(max-width:1100px) and (min-width:901px){.benefit-fan{--spine:68px}.benefit-spine{padding-top:34px}.benefit-spine>strong{font-size:33px}.benefit-page{padding:36px;gap:28px}.benefit-page h2{font-size:46px}.benefit-page p{font-size:24px}}
@media(max-width:900px){.services-fan{padding:55px var(--gap)}.benefit-fan{display:block}.benefit-leaf{display:block;height:auto;transition:none;border-radius:28px;margin-bottom:8px}.benefit-leaf:last-child{margin-bottom:0}.benefit-spine{width:100%;display:flex;flex-direction:row;align-items:center;padding:25px 28px;border:0;min-height:85px}.benefit-spine>strong{writing-mode:horizontal-tb;font-size:32px}.benefit-page{display:none;width:auto;max-width:none;padding:10px 28px 42px;gap:26px;opacity:1;visibility:visible;transform:none;transition:none}.benefit-leaf.is-active .benefit-page{display:flex;animation:fan-copy-in .65s cubic-bezier(.2,.7,.1,1) both}.benefit-page h2{font-size:clamp(36px,6.2vw,52px)}.benefit-page p{font-size:clamp(21px,3vw,26px)}}
@keyframes fan-copy-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:400px){.benefit-spine{padding:23px 22px;min-height:80px}.benefit-spine>strong{font-size:30px}.benefit-page{padding:8px 22px 36px;gap:24px}.benefit-page h2{font-size:36px}.benefit-page p{font-size:22px}}
@media(prefers-reduced-motion:reduce){.benefit-leaf,.benefit-page{transition:none!important;animation:none!important}}.motion-off .benefit-leaf,.motion-off .benefit-page{transition:none!important;animation:none!important}

/* Scroll-linked illustrations: progress is supplied by service-fan.js. */
.fan-search-phrase{display:inline-block;position:relative;max-width:100%}
.fan-search-lens{position:absolute;width:clamp(120px,11vw,158px);height:auto;left:0;top:0;transform:translate(var(--lens-x,0px),var(--lens-y,0px));pointer-events:none;z-index:1;filter:drop-shadow(0 4px 5px #0008)}
.fan-request-art{display:block;width:clamp(280px,32vw,460px);max-width:100%;height:auto;aspect-ratio:3;margin:0 auto;flex:none;overflow:visible}
.fan-mail,.fan-mail-stream{transform:translate(var(--mail-x,0px),var(--mail-y,0px)) rotate(var(--mail-rotation,0deg)) scale(var(--mail-scale,.85));opacity:var(--mail-opacity,0)}
.fan-mail-check{transform-box:fill-box;transform-origin:center;transform:scale(var(--check-scale,1))}
@media(prefers-reduced-motion:reduce){.fan-search-lens{display:none}.fan-mail{transform:translate(var(--mail-rest-x),var(--mail-rest-y)) scale(1.6);opacity:1}.fan-mail-check{transform:none}}
.motion-off .fan-search-lens{display:none}.motion-off .fan-mail{transform:translate(var(--mail-rest-x),var(--mail-rest-y)) scale(1.6);opacity:1}.motion-off .fan-mail-check{transform:none}
.fan-mail:nth-of-type(1){--mail-rest-x:188px;--mail-rest-y:74.0px;--mail-rest-y:80.4px}
.fan-mail:nth-of-type(3){--mail-rest-x:190px;--mail-rest-y:65.6px;--mail-rest-y:71.2px}
.fan-mail:nth-of-type(5){--mail-rest-x:188px;--mail-rest-y:57.2px;--mail-rest-y:62.0px}
.fan-mail:nth-of-type(7){--mail-rest-x:190px;--mail-rest-y:48.8px;--mail-rest-y:52.8px}
.fan-mail:nth-of-type(9){--mail-rest-x:188px;--mail-rest-y:40.4px;--mail-rest-y:43.6px}
.fan-mail:nth-of-type(11){--mail-rest-x:190px;--mail-rest-y:32.0px;--mail-rest-y:34.4px}

/* Centre the illustration on the whole card, including its spine. */
@media(min-width:901px){.fan-request-art,.fan-extra-art{transform:translateX(calc(2px - var(--spine)/2))}}

/* Mobile scroll stage: compact headers, a stable height and no scroll jumps. */
@media(max-width:900px){
 .services-fan.is-mobile-scroll{--mobile-spine:50px;overflow-anchor:none}
 .services-fan.is-mobile-scroll .services-fan-stage{position:sticky;top:var(--mobile-pin-top,calc(var(--header) + 12px))}
 .is-mobile-scroll .benefit-leaf{height:var(--mobile-spine);transition:height .45s cubic-bezier(.2,.7,.1,1);border-radius:22px}
 .is-mobile-scroll .benefit-leaf.is-active{height:calc(var(--mobile-spine) + var(--mobile-page-height))}
 .is-mobile-scroll .benefit-spine{height:var(--mobile-spine);min-height:0;padding:12px 22px}
 .is-mobile-scroll .benefit-spine>strong{font-size:25px}
 .is-mobile-scroll .benefit-page{position:absolute;top:var(--mobile-spine);left:0;right:0;display:flex;width:auto;height:var(--mobile-page-height);padding:8px 22px 24px;gap:18px;justify-content:center;opacity:0;visibility:hidden;transform:none;animation:none;transition:opacity .25s}
 .is-mobile-scroll .benefit-leaf.is-active .benefit-page{opacity:1;visibility:visible;animation:none;transition-delay:.12s}
 .is-mobile-scroll .benefit-page h2{font-size:clamp(28px,7.8vw,36px);line-height:1.06}
 .is-mobile-scroll .benefit-page p{font-size:18px;line-height:1.4}
 .is-mobile-scroll .fan-request-art{width:min(100%,330px);height:auto}
 .is-mobile-scroll .fan-search-lens{width:96px}
 .services-fan.is-mobile-flow .benefit-page{display:flex;opacity:1;visibility:visible;animation:none}
}

/* Resume normal page scrolling before the following section enters. */
.services-fan.is-pinned,.services-fan.is-mobile-scroll{padding-bottom:var(--fan-exit-space,24px)}

/* Desktop-only incoming envelopes; the original stack remains in place. */
@media(max-width:900px),(prefers-reduced-motion:reduce){.fan-mail-stream{display:none}}
.motion-off .fan-mail-stream{display:none}

/* Selected from the local atelier: shop (03) and visitor routes (01). */
.fan-extra-art{display:block;width:clamp(300px,34vw,480px);max-width:100%;height:auto;aspect-ratio:520/220;align-self:center;flex:none;overflow:visible;--paper:#fff}
.fan-routes-art{color:var(--section-text)}
.fan-routes-art>path{stroke:white}
.fan-shop-left{transform-origin:162px 80px;animation:fan-shop-left 6s cubic-bezier(.2,.7,.1,1) infinite}
.fan-shop-right{transform-origin:358px 80px;animation:fan-shop-right 6s cubic-bezier(.2,.7,.1,1) infinite}
.fan-shop-brand{animation:fan-shop-show 6s ease infinite}
.fan-route-top{animation:fan-route-top 4.8s linear infinite}
.fan-route-bottom{animation:fan-route-bottom 4.8s 1.2s linear infinite}
.fan-route-later{animation-delay:2.4s}
.fan-extra-art .fan-motion{animation-play-state:paused}
.benefit-leaf.is-active .is-art-visible .fan-motion,.is-mobile-flow .is-art-visible .fan-motion{animation-play-state:running}
.services-fan.is-document-hidden .fan-extra-art .fan-motion{animation-play-state:paused}
@keyframes fan-shop-left{0%,12%,100%{transform:scaleX(1)}38%,85%{transform:scaleX(.06)}}
@keyframes fan-shop-right{0%,15%,100%{transform:scaleX(1)}41%,85%{transform:scaleX(.06)}}
@keyframes fan-shop-show{0%,25%,100%{opacity:.2}45%,85%{opacity:1}}
@keyframes fan-route-top{0%,5%{transform:translate(111px,58px);opacity:0}10%{opacity:1}40%{transform:translate(199px,58px)}60%{transform:translate(203px,110px)}83%,100%{transform:translate(317px,110px);opacity:0}}
@keyframes fan-route-bottom{0%,5%{transform:translate(111px,163px);opacity:0}10%{opacity:1}40%{transform:translate(199px,163px)}60%{transform:translate(203px,110px)}83%,100%{transform:translate(317px,110px);opacity:0}}
@media(max-width:900px){.fan-extra-art{width:min(100%,360px)}.is-mobile-scroll .fan-extra-art{width:min(100%,330px);height:100px;aspect-ratio:auto}}
@media(prefers-reduced-motion:reduce){.fan-extra-art .fan-motion{animation:none}.fan-shop-left,.fan-shop-right{transform:scaleX(.06)}.fan-shop-brand{opacity:1}.fan-route-top,.fan-route-bottom{display:none}}
.motion-off .fan-extra-art .fan-motion{animation:none}.motion-off .fan-shop-left,.motion-off .fan-shop-right{transform:scaleX(.06)}.motion-off .fan-shop-brand{opacity:1}.motion-off .fan-route-top,.motion-off .fan-route-bottom{display:none}

.header .nav-cta.callback-open{background:#23734f;color:#fff;border-color:#23734f;cursor:pointer}
.header .nav-cta.callback-open:hover{background:#18573b;border-color:#18573b;color:#fff}
.nav-cta.callback-open svg{width:22px;height:22px;flex:none}
.header .mobile-callback{font-family:Outfit,Arial,sans-serif;font-size:27px;font-weight:600;text-align:left;padding:13px 0;border:0;border-bottom:1px solid #1113;background:none;color:#23734f}
html.callback-is-open{overflow:hidden}
.callback-dialog{position:fixed;inset:0;margin:auto;width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:40px;border:1px solid var(--ink);border-radius:4px;background:#fff;color:var(--ink);font-family:Outfit,Arial,sans-serif;box-shadow:0 16px 60px #0002}
.callback-dialog::backdrop{background:#0008;backdrop-filter:blur(3px)}
.callback-close{position:absolute;right:16px;top:16px;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:0;background:#fff;color:var(--ink);cursor:pointer}
.callback-close:hover{background:var(--ink);color:#fff}
.callback-close svg{width:20px;height:20px}
.callback-dialog h2{font-family:Outfit,Arial,sans-serif;font-size:clamp(32px,4vw,48px);line-height:1.05;font-weight:500;letter-spacing:-.045em;margin:16px 32px 32px 0}
#callback-form{display:grid;gap:0}
.callback-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
#callback-form label{font-size:16px;font-weight:400}
#callback-form .callback-fields label{display:grid;gap:10px;min-width:0}
#callback-form input:not([type="checkbox"]){display:block;width:100%;min-width:0;min-height:52px;padding:13px 14px;font:400 17px/1.4 Outfit,Arial,sans-serif;color:var(--ink);background:#fff;border:1px solid var(--ink);border-radius:0;box-shadow:none}
#callback-form input::placeholder{color:#777;opacity:1}
#callback-form input:not([type="checkbox"]):focus-visible{outline:2px solid #23734f;outline-offset:2px}
.callback-topics{border:0;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}
.callback-topics legend{font-size:16px;font-weight:400;margin-bottom:12px;padding:0}
.callback-topics legend span{font-size:13px;color:#666}
#callback-form .callback-option{position:relative;margin:0;cursor:pointer;min-width:0}
.callback-option input{position:absolute;opacity:0;width:1px;height:1px}
.callback-option span{display:flex;align-items:center;gap:10px;min-height:48px;padding:11px 14px;border:1px solid var(--ink);background:#fff;color:var(--ink);border-radius:0;font-size:16px;font-weight:400}
.callback-option span:before{content:'';display:grid;place-items:center;width:14px;height:14px;border:1px solid currentColor;font-size:12px;line-height:1;flex:none}
.callback-option input:checked+span{background:var(--ink);color:#fff}
.callback-option input:checked+span:before{content:'✓'}
.callback-option input:focus-visible+span{outline:2px solid #23734f;outline-offset:3px}
.callback-option input:disabled+span{opacity:.6;cursor:default}
.callback-submit{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;margin-top:28px;padding:15px 18px;border:1px solid #23734f;border-radius:4px;background:#23734f;color:#fff;font:500 18px/1.3 Outfit,Arial,sans-serif;cursor:pointer}
.callback-submit:hover{background:#18573b;border-color:#18573b}
.callback-submit:disabled{cursor:default;opacity:.7}
.callback-dialog button:focus-visible,.callback-open:focus-visible{outline:3px solid #23734f;outline-offset:4px}
.callback-note{font:400 13px/1.45 Outfit,Arial,sans-serif;margin:14px 0 0;text-align:center;color:#666}
.callback-note a{text-decoration:underline;text-underline-offset:3px}
.callback-status{font:400 15px/1.45 Outfit,Arial,sans-serif;margin:16px 0 0;color:var(--ink)}
.callback-status:empty{display:none}
.callback-status[data-state="error"]{color:#9b2929}
.callback-status[data-state="success"]{padding:14px;border:1px solid #23734f;background:#fff;color:#18573b;border-radius:0}
@media(max-width:700px){
 .header .nav-cta.callback-open{gap:10px;margin-left:auto;padding:10px 12px}
 .nav-cta.callback-open svg{width:18px;height:18px}
 .callback-dialog{padding:24px 20px}
 .callback-dialog h2{margin:22px 28px 28px 0}
 .callback-close{right:12px;top:12px;width:32px;height:32px}
 .callback-fields{gap:10px}
 #callback-form .callback-fields input{font-size:16px;padding:12px 9px}
 .callback-option span{padding:11px 10px;font-size:15px;gap:8px}
 .callback-submit{font-size:17px}
}
.callback-option span{height:100%}
@media(max-width:359px){.callback-option span{font-size:14px;padding:10px 7px;gap:6px}}

#callback-form .callback-consent{display:flex;align-items:flex-start;gap:10px;margin:24px 0 0;font:400 14px/1.4 Outfit,Arial,sans-serif;cursor:pointer}
.callback-consent input{appearance:none;-webkit-appearance:none;display:grid;place-items:center;flex:0 0 18px;width:18px;height:18px;margin:1px 0 0;border:1px solid var(--ink);border-radius:0;background:#fff;color:#fff;cursor:pointer}
.callback-consent input:checked{background:var(--ink)}
.callback-consent input:checked:after{content:'✓';font-size:14px;line-height:1}
.callback-consent input:focus-visible{outline:2px solid #23734f;outline-offset:3px}
.callback-consent a{text-decoration:underline;text-underline-offset:3px}
.callback-consent input:disabled{opacity:.6;cursor:default}
