/* A bespoke editorial study, using the site's shared typography and warm palette. */
.web-page{min-width:0}
.web-hero{padding-top:44px;padding-bottom:0}
.web-back{margin-bottom:40px}
.web-hero>.page-kicker{margin-bottom:30px}
.web-hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:7vw;align-items:center}
.web-hero h1{font-size:clamp(58px,6.4vw,100px);line-height:.99;letter-spacing:-.045em;margin-bottom:30px}
.web-hero-copy>p{font-size:14px;max-width:520px;color:var(--muted)}
.web-hero-copy .web-lead{font-size:20px;line-height:1.5;letter-spacing:-.025em;color:var(--ink);max-width:440px;margin-bottom:20px}
.web-hero-copy>.button{margin-top:10px;gap:28px}
.web-layout-study{min-width:0;align-self:center}
.web-study-canvas{position:relative;isolation:isolate;min-height:540px;background:var(--cream);border-radius:var(--radius-card);padding:52px 30px 90px;overflow:hidden;display:flex;align-items:center}
.web-study-browser{position:relative;background:var(--ivory);color:var(--ink);border-radius:13px;width:100%;overflow:hidden;box-shadow:0 22px 40px rgb(59 42 32 / .12);transform:rotate(-4deg);transform-origin:center}
.web-study-toolbar{display:flex;align-items:center;gap:5px;background:var(--mocha);padding:12px 15px;color:var(--ivory)}
.web-study-toolbar>span{width:4px;height:4px;background:var(--latte);border-radius:50%}
.web-study-toolbar>b{font-weight:400;font-size:7px;letter-spacing:.05em;margin:auto}
.web-study-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:21px 26px}
.web-study-nav>strong{font-size:26px;letter-spacing:-.07em;font-weight:700}
.web-study-nav>span{font-size:6px;letter-spacing:.02em}
.web-study-body{position:relative;z-index:2;padding:15px 26px 55px}
.web-study-kicker{display:block;font-size:6px;font-weight:600;letter-spacing:.12em;margin-bottom:20px}
.web-study-body>p{font-size:clamp(27px,3.1vw,48px);font-weight:600;letter-spacing:-.045em;line-height:1.02;margin-bottom:24px}
.web-study-body em{color:var(--accent);font-size:1.12em}
.web-study-link{display:inline-flex;align-items:center;gap:15px;background:var(--accent);color:var(--ivory);padding:10px 14px;border-radius:999px;font-size:7px;font-weight:600}
.web-study-link .ui-icon{width:12px;height:12px}
.web-study-shape{position:absolute;right:-18px;bottom:56px;width:124px;transform:rotate(-35deg);color:var(--latte);opacity:.75;z-index:1}
.web-study-shape>.geo-art{width:100%;color:inherit}
.web-study-bottom{display:flex;justify-content:space-between;gap:8px;padding:18px 26px;font-size:6px;letter-spacing:.1em;background:var(--cream)}
.web-study-note{position:absolute;z-index:3;right:23px;bottom:30px;max-width:220px;padding:20px 25px;background:var(--burgundy);color:var(--ivory);border-radius:13px;transform:rotate(3deg)}
.web-study-note>span{display:block;font-size:7px;letter-spacing:.12em;margin-bottom:12px}
.web-study-note>strong{font-size:21px;font-weight:500;line-height:1.15;letter-spacing:-.025em}
.web-layout-study>figcaption{font-size:9px;color:var(--muted);margin:14px 3px 0;line-height:1.6}
.web-hero-foot{display:flex;justify-content:space-between;gap:25px;padding:40px 0 30px;margin-top:28px;font-size:9px;letter-spacing:.1em;font-weight:600}
.web-scope{padding:100px 0;background:var(--cream)}
.web-section-head{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:end;margin-bottom:56px}
.web-section-head h2{font-size:clamp(40px,4.4vw,68px)}
.web-section-head>div>p,.web-section-head>p{font-size:14px;max-width:500px;color:var(--muted)}
.web-section-head>p,.web-section-head>div>p:last-child{margin-bottom:0}
.web-section-head .web-intro{font-size:21px;line-height:1.5;letter-spacing:-.025em;color:var(--ink)}
.web-scope-list article{display:grid;grid-template-columns:45px 1fr 150px;gap:28px;padding:30px 0;border-top:1px solid var(--latte);align-items:start}
.web-index{font-size:10px;color:var(--accent-readable);padding-top:7px}
.web-scope-list h3{font-size:27px;margin-bottom:14px}
.web-scope-list p{font-size:14px;color:var(--muted);max-width:740px;margin:0}
.web-scope-tag{font-size:8px;line-height:1.7;letter-spacing:.1em;text-align:right;padding-top:8px}
.web-care{padding:90px 0;background:var(--mocha);color:var(--ivory);--heading-em:var(--latte)}
.web-motion-kicker{display:flex;justify-content:space-between;gap:32px;align-items:center;min-height:80px;margin-bottom:30px}
.web-motion-kicker>.section-label{margin:0;color:var(--latte)}
.web-motion-kicker>.geo-art{width:76px;color:var(--latte);margin-right:12px}
.web-care-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw}
.web-care-grid h2{font-size:clamp(40px,4.4vw,68px)}
.web-care-grid p{font-size:14px;color:var(--cream)}
.web-care-grid .web-care-lead{font-size:22px;line-height:1.5;letter-spacing:-.025em;color:var(--ivory)}
.web-care .text-link{color:var(--ivory);border-color:var(--latte);margin-top:4px}
.web-care .text-link:hover{color:var(--latte);border-color:var(--latte)}
.web-care :focus-visible{outline-color:var(--ivory)}
.web-care-notes{display:flex;justify-content:space-between;gap:25px;margin-top:60px;color:var(--latte);font-size:10px;letter-spacing:.03em}
.web-method{padding-top:105px;padding-bottom:95px}
.web-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding:0;margin:0;list-style:none}
.web-steps li{border-top:1px solid var(--line);padding-top:22px}
.web-steps li>span{display:block;font-size:9px;color:var(--accent-readable);letter-spacing:.07em;margin-bottom:25px}
.web-steps h3{font-size:24px;line-height:1.2;margin-bottom:16px;min-height:58px}
.web-steps p{font-size:13px;color:var(--muted);margin-bottom:0}
.web-local{display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding-top:35px;padding-bottom:90px}
.web-local h2{font-size:clamp(38px,4vw,62px)}
.web-local-copy>p{font-size:14px;color:var(--muted)}
.web-local-copy .text-link{margin-top:10px;max-width:100%}
.web-faq{display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;padding-top:30px;padding-bottom:110px}
.web-faq h2{font-size:clamp(40px,4.4vw,68px)}
.web-faq details{border-top:1px solid var(--line)}
.web-faq details:last-child{border-bottom:1px solid var(--line)}
.web-faq summary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 0}
.web-faq summary h3{font-size:19px;line-height:1.4;letter-spacing:-.015em}
.web-faq .plus{flex:none}
.web-faq details p{font-size:13px;color:var(--muted);padding-right:35px;margin-bottom:24px}
.web-final{background:var(--accent-surface);color:var(--ivory);padding:80px 0;--heading-em:var(--ivory)}
.web-final>.wrap{display:flex;justify-content:space-between;align-items:center;gap:45px}
.web-final h2{font-size:clamp(48px,5.4vw,82px);margin-bottom:28px}
.web-final p{font-size:14px;max-width:620px;margin:0}
.web-final .button{flex:none;gap:28px}
.web-final :focus-visible{outline-color:var(--ivory)}
@media(max-width:1050px){
 .web-hero-grid{gap:4vw;grid-template-columns:1fr 1fr}
 .web-hero h1{font-size:64px}
 .web-hero-copy .web-lead{font-size:18px}
 .web-hero-copy>p{font-size:13px}
 .web-study-canvas{min-height:490px;padding:42px 22px 95px}
 .web-study-body{padding-bottom:45px}
 .web-study-body>p{font-size:34px}
 .web-study-note{right:17px;bottom:27px;padding:18px 22px}
 .web-study-note>strong{font-size:19px}
 .web-section-head,.web-care-grid,.web-local{gap:6vw}
 .web-scope-list article{grid-template-columns:30px 1fr;gap:20px}
 .web-scope-tag{grid-column:2;text-align:left;padding:0}
 .web-steps{grid-template-columns:1fr 1fr;gap:35px}
 .web-steps h3{min-height:0}
 .web-final>.wrap{align-items:flex-start;flex-direction:column;gap:32px}
}
@media(max-width:700px){
 .web-hero{padding-top:28px}
 .web-back{margin-bottom:30px}
 .web-hero-grid{grid-template-columns:1fr;gap:38px}
 .web-hero h1{font-size:clamp(55px,14vw,78px);line-height:1;letter-spacing:-.04em;margin-bottom:25px}
 .web-hero-copy .web-lead{font-size:19px;max-width:440px}
 .web-hero-copy>p{font-size:14px;max-width:none}
 .web-hero-copy>.button{font-size:11px;padding:15px 20px;gap:23px}
 .web-layout-study{max-width:500px;width:100%;justify-self:center}
 .web-study-canvas{min-height:440px;padding:38px 28px 85px}
 .web-study-browser{border-radius:11px}
 .web-study-toolbar{padding:10px 13px}
 .web-study-nav{padding:18px 22px}
 .web-study-body{padding:12px 22px 44px}
 .web-study-body>p{font-size:clamp(29px,8vw,43px)}
 .web-study-note{right:19px;bottom:23px;padding:17px 22px}
 .web-study-note>strong{font-size:19px}
 .web-study-note>span{font-size:6px;margin-bottom:10px}
 .web-study-shape{width:110px;bottom:45px;right:-24px}
 .web-study-bottom{padding:16px 22px}
 .web-layout-study>figcaption{font-size:9px}
 .web-hero-foot{font-size:6px;letter-spacing:.07em;gap:10px;padding:28px 0;margin-top:5px}
 .web-scope{padding:65px 0}
 .web-section-head{grid-template-columns:1fr;gap:28px;margin-bottom:35px}
 .web-section-head h2,.web-care-grid h2{font-size:clamp(36px,9.6vw,52px)}
 .web-section-head .web-intro{font-size:19px}
 .web-section-head>p,.web-section-head>div>p{font-size:14px;max-width:none}
 .web-scope-list article{grid-template-columns:23px 1fr;gap:12px;padding:26px 0}
 .web-index{font-size:9px;padding-top:5px}
 .web-scope-list h3{font-size:23px;line-height:1.2}
 .web-scope-list p{font-size:13px}
 .web-scope-tag{font-size:7px}
 .web-care{padding:60px 0}
 .web-motion-kicker{gap:20px;min-height:62px;margin-bottom:26px}
 .web-motion-kicker>.section-label{font-size:8px}
 .web-motion-kicker>.geo-art{width:54px;margin-right:5px}
 .web-care-grid{grid-template-columns:1fr;gap:30px}
 .web-care-grid .web-care-lead{font-size:20px}
 .web-care-grid p{font-size:13px}
 .web-care .text-link{font-size:11px;gap:20px}
 .web-care-notes{flex-direction:column;gap:13px;margin-top:35px;font-size:10px}
 .web-method{padding-top:65px;padding-bottom:55px}
 .web-steps{grid-template-columns:1fr;gap:25px}
 .web-steps li{padding-top:20px}
 .web-steps li>span{font-size:8px;margin-bottom:14px}
 .web-steps h3{font-size:25px;margin-bottom:13px}
 .web-steps p{font-size:13px}
 .web-local{grid-template-columns:1fr;gap:28px;padding-top:10px;padding-bottom:55px}
 .web-local h2{font-size:clamp(34px,9.5vw,49px)}
 .web-local-copy>p{font-size:13px}
 .web-local-copy .text-link{font-size:11px;gap:16px;align-items:flex-start}
 .web-local-copy .text-link>.ui-icon{flex:none}
 .web-faq{grid-template-columns:1fr;gap:30px;padding-top:15px;padding-bottom:65px}
 .web-faq h2{font-size:clamp(37px,10vw,50px)}
 .web-faq summary{padding:21px 0;gap:20px}
 .web-faq summary h3{font-size:18px}
 .web-faq details p{padding-right:15px;font-size:13px}
 .web-final{padding:60px 0}
 .web-final .section-label{font-size:8px}
 .web-final h2{font-size:clamp(43px,11.5vw,60px);margin-bottom:25px}
 .web-final p{font-size:13px}
 .web-final .button{font-size:11px;padding:15px 20px;gap:23px;max-width:100%}
}
@media(max-width:360px){
 .web-study-canvas{padding:35px 21px 80px;min-height:410px}
 .web-study-nav{padding:17px}
 .web-study-body{padding:12px 17px 36px}
 .web-study-body>p{font-size:29px}
 .web-study-nav>span{font-size:5px}
 .web-study-kicker{font-size:5px}
 .web-study-note{right:14px;bottom:20px;padding:15px 19px}
 .web-study-note>strong{font-size:18px}
 .web-hero-foot{font-size:5.5px}
}
@media print{
 .web-study-browser,.web-study-note{transform:none}
 .web-motion-kicker>.geo-art{display:none}
}

/* Homepage service chapter: a calm, light counterpart to the OttoLab panel. */
.web-home{padding:100px 0;background:var(--cream)}
.web-home-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:9vw;align-items:center}
.web-home-copy{min-width:0;max-width:580px}
.web-home-copy .section-label{font-size:10px;letter-spacing:.08em;margin-bottom:28px}
.web-home-copy h2{font-size:clamp(46px,4.7vw,74px);line-height:1.03;margin-bottom:30px}
.web-home-copy h2 em{color:var(--heading-em)}
.web-home-copy>p{font-size:14px;color:var(--muted);max-width:535px}
.web-home-copy>.button{margin-top:10px;gap:26px}
.web-home-art{min-width:0;width:100%;max-width:520px;justify-self:start}
.web-home-window{background:var(--ivory);border-radius:18px;overflow:hidden;box-shadow:0 18px 45px rgb(59 42 32 / .07)}
.web-home-browserbar{display:flex;gap:5px;align-items:center;padding:16px 20px;background:var(--mocha);color:var(--ivory)}
.web-home-browserbar>i{width:4px;height:4px;border-radius:50%;background:var(--latte);flex:none}
.web-home-browserbar>span{font-size:7px;letter-spacing:.12em;margin-left:auto}
.web-home-preview{position:relative;isolation:isolate;padding:36px 36px 38px;min-height:330px;overflow:hidden}
.web-home-art-kicker{display:block;font-size:7px;letter-spacing:.12em;font-weight:600;margin-bottom:22px}
.web-home-preview>strong{display:block;font-size:clamp(55px,6.7vw,100px);font-weight:600;letter-spacing:-.055em;line-height:.85;position:relative;z-index:2}
.web-home-preview>strong em{font-size:1.12em;letter-spacing:-.03em;color:var(--accent)}
.web-home-art-lines{display:flex;flex-direction:column;gap:6px;max-width:130px;margin-top:30px}
.web-home-art-lines>span{display:block;height:2px;background:var(--latte);opacity:.6;width:100%}
.web-home-art-lines>span:nth-child(2){width:80%}
.web-home-art-lines>span:nth-child(3){width:54%}
.web-home-mark{position:absolute;right:22px;bottom:28px;width:90px;color:var(--latte);transform:rotate(-35deg);z-index:1}
.web-home-mark>.geo-art{display:block;width:100%;height:auto;color:inherit}
.web-home-art-foot{display:flex;justify-content:space-between;gap:12px;padding:18px 24px;background:var(--paper);font-size:6px;letter-spacing:.12em;font-weight:600;color:var(--muted)}
@media(max-width:1000px){
 .web-home-grid{gap:6vw;grid-template-columns:1fr 1.1fr}
 .web-home-preview{padding:30px;min-height:305px}
 .web-home-preview>strong{font-size:72px}
 .web-home-copy h2{font-size:53px}
 .web-home-copy .section-label{font-size:9px}
 .web-home-copy>p{font-size:13px}
 .web-home-copy>.button{font-size:11px;gap:20px;padding:15px 20px}
}
@media(max-width:700px){
 .web-home{padding:65px 0}
 .web-home-grid{grid-template-columns:1fr;gap:38px}
 .web-home-copy{grid-row:1;max-width:none}
 .web-home-copy .section-label{font-size:8px;line-height:1.8;margin-bottom:26px}
 .web-home-copy h2{font-size:clamp(42px,11.6vw,62px);margin-bottom:27px}
 .web-home-copy>p{font-size:13px;max-width:none}
 .web-home-copy>.button{font-size:11px;gap:22px;padding:15px 20px;max-width:100%}
 .web-home-art{max-width:430px;justify-self:center}
 .web-home-window{border-radius:16px}
 .web-home-preview{min-height:290px;padding:30px}
 .web-home-preview>strong{font-size:clamp(65px,19vw,88px)}
 .web-home-mark{width:78px;right:24px;bottom:28px}
 .web-home-browserbar{padding:14px 18px}
 .web-home-browserbar>span{font-size:6px}
 .web-home-art-foot{font-size:6px;padding:17px 21px}
}
@media(max-width:360px){
 .web-home-copy>.button{gap:16px;padding:15px 18px}
 .web-home-preview{padding:27px;min-height:278px}
 .web-home-preview>strong{font-size:65px}
 .web-home-art-kicker{font-size:6px}
 .web-home-mark{right:18px;width:68px}
}
