:root{--ink:#182024;--dark:#18242a;--dark-2:#202d32;--paper:#f3f1eb;--soft:#eae7df;--warm:#e7e4db;--line:#ccc9bf;--muted-ink:#59615c;--accent:#806747}
body{background:var(--paper)}
.service-page .os-plaster-details{grid-template-columns:1fr;max-width:900px}.service-page .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.os-about .service-breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--muted-ink)}
.site-header{background:#f3f1eb;height:88px;backdrop-filter:none}
.site-header-inner{gap:20px}.site-logo{width:225px}.desktop-nav{gap:16px}.desktop-nav a{font-size:13px}
.header-action{background:#d5e99c;color:#182024;border-color:#d5e99c}
.button,.public-button{font-weight:600;min-height:48px}.button-light{background:transparent}.button-dark:hover{transform:none}
.hero-section{max-width:1440px;margin:auto;padding:48px 5vw;gap:48px;min-height:0;background:var(--paper);grid-template-columns:1.2fr .8fr;align-items:center}
.hero-copy{padding:0}.hero-section h1{font-size:clamp(38px,4.7vw,66px);font-weight:500;line-height:1.08;letter-spacing:-.04em}
.hero-subtitle{font-size:clamp(19px,1.8vw,25px);line-height:1.5;color:var(--ink);margin:6px 0 20px}.hero-text{font-size:16px}
.hero-visual{min-height:0;aspect-ratio:9/16;max-height:680px;background:transparent}.hero-visual>img{filter:none;object-fit:cover}.hero-visual::after{display:none}
.site-section{padding:64px max(5vw,calc((100vw - 1296px)/2))}.section-light{background:var(--paper)}
.section-heading h2,.contact-copy h2,.os-owner h2{font-size:clamp(29px,3vw,43px);font-weight:500;line-height:1.15;letter-spacing:-.025em}
.section-heading>p{max-width:440px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}
.service-card{border:0;border-top:1px solid var(--line);background:transparent;padding:28px 0;min-height:0}.card-number{min-height:32px}.service-card h3{font-weight:500;font-size:25px}.service-card:hover{border-color:var(--accent)}
.new-badge{font-weight:500}.os-turnkey{padding:25px;background:var(--warm);display:grid;grid-template-columns:1fr 2fr;gap:28px;margin-top:10px}.os-turnkey h3{font-weight:500;font-size:24px;margin:0}.os-turnkey p{margin:0}.os-turnkey a{display:block;margin-top:10px;text-decoration:underline;text-underline-offset:4px}
.os-owner{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}.os-owner figure{margin:0;max-width:480px}.os-owner img{width:100%;aspect-ratio:1;object-fit:cover}.os-owner figcaption{font-size:14px;color:var(--muted-ink);margin-top:12px}.os-owner p{max-width:690px}.os-owner .button{margin-top:14px}
.os-about{max-width:1296px;margin:auto;padding:35px 5vw 70px}.os-about-intro{max-width:900px;margin:40px 0}.os-about h1{font-size:clamp(34px,4vw,56px);font-weight:500;line-height:1.12;letter-spacing:-.035em}.os-about-intro>p:last-child{font-size:20px}.os-reading{max-width:800px;margin:50px auto 0}.os-reading section{padding:25px 0;border-top:1px solid var(--line)}.os-reading h2{font-size:30px;font-weight:500;line-height:1.25}
.promotion-banner{box-shadow:none}.promotion-copy h2{font-size:clamp(28px,3vw,42px);font-weight:500}.promotion-banner,.promotion-media{min-height:260px}.promotion-copy{padding:32px}.promotion-mark{background:var(--dark-2)}
.review-card,.article-card{background:transparent;box-shadow:none}.professional-card{background:transparent}.professional-card h3{font-weight:500}.review-form{background:transparent}.site-footer{background:#e7e4db}.footer-bottom{line-height:1.7}.footer-bottom a{text-decoration:underline}
.service-page{max-width:1296px}.service-page .service-hero h1{font-weight:500;letter-spacing:-.035em}.service-page .service-price{background:#e7e4db;box-shadow:none}.service-page .service-hero-actions{flex-wrap:wrap}
.os-calc{padding:40px;margin:40px 0;background:#18242a;color:#f3f1eb;scroll-margin-top:105px}.os-calc h2{font-size:clamp(28px,3vw,40px);font-weight:500;line-height:1.15;margin:12px 0 18px}.os-calc .eyebrow{color:#d0b18b}.os-calc p{color:#d0d6d2}.os-calc-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:36px}.os-calc label{display:block}.os-calc input[type=number]{display:block;width:min(100%,280px);background:#f3f1eb;color:#182024;border:1px solid #a7aba0;border-radius:3px;font-size:26px;padding:12px;margin:10px 0}.os-calc fieldset{border:0;padding:0;margin:24px 0}.os-calc legend{margin-bottom:12px}.os-calc-option{position:relative;padding:16px;border:1px solid #5b696d;border-radius:4px;margin:8px 0;cursor:pointer}.os-calc-option:has(input:checked){border-color:#d5e99c;background:#28372f}.os-calc-option input{accent-color:#d5e99c;width:18px;height:18px;vertical-align:middle;margin-right:9px}.os-calc-option strong{float:right;color:#d5e99c}.os-calc-option small{display:block;margin:5px 0 0 32px;color:#c4cdc8}.os-calc a:not(.button){text-decoration:underline;text-underline-offset:4px}.os-calc-result{border-top:1px solid #65716e;padding-top:20px}.os-calc-result dl{margin:0}.os-calc-result dl>div{display:flex;justify-content:space-between;gap:16px;margin:14px 0}.os-calc-result dd{margin:0;white-space:nowrap}.os-calc-total{border-top:1px solid #65716e;padding-top:18px;font-size:24px}.os-calc-total dd{font-weight:600}.os-calc .button{background:#d5e99c;color:#182024;border-color:#d5e99c;width:100%;text-align:center;white-space:normal;padding:12px}.os-calc small{font-size:13px}.os-calc details{border-top:1px solid #65716e;padding:18px 0}.os-calc summary{cursor:pointer;font-weight:600}.os-calc ul{padding-left:22px}.os-calc-error{color:#ffcfbf!important}.os-calc [hidden]{display:none!important}.os-measure-form{border-top:1px solid #65716e;margin-top:25px;padding-top:25px}.os-measure-form .form-columns{grid-template-columns:1fr 1fr}.os-measure-form label{color:#f3f1eb}.os-measure-form .public-button{background:#d5e99c;color:#182024;width:100%;margin-top:18px}.os-measure-form .consent-row{display:flex;margin:14px 0}.os-measure-form .form-message.success{color:#d5e99c}.os-measure-form .form-message.error{color:#ffcfbf}.os-calc-note{font-size:14px;line-height:1.65}
.os-table-wrap{overflow-x:auto;max-width:100%;margin:24px 0}.os-table-wrap:focus{outline:2px solid var(--accent)}.os-table-wrap table{border-collapse:collapse;width:100%;font-size:15px}.os-table-wrap th,.os-table-wrap td{border-bottom:1px solid var(--line);padding:13px 12px;text-align:left;min-width:85px}.os-table-wrap th{background:#e7e4db;font-weight:600}.article-body a{color:#675135;text-decoration:underline;text-underline-offset:3px}.article-heading h1{font-weight:500}.article-body{overflow-wrap:anywhere}.os-article-author{display:block;margin-top:10px;font-size:14px}.article-contact{gap:20px}
@media(min-width:1201px){.desktop-nav{display:flex}.mobile-navigation{display:none}}
@media(max-width:1200px){.desktop-nav{display:none}.mobile-navigation{display:block}.header-action{margin-left:auto}.mobile-navigation{margin-left:0}.mobile-navigation nav{top:88px;background:var(--paper);max-height:calc(100dvh - 88px);overflow-y:auto}}
@media(max-width:760px){.site-header{height:76px}.site-logo{width:180px}.site-header-inner{padding:0 20px;gap:12px}.header-action{display:none}.mobile-navigation{margin-left:auto}.mobile-navigation nav{top:76px;max-height:calc(100dvh - 76px)}.hero-section{grid-template-columns:1fr;padding:32px 20px;gap:28px}.hero-visual{width:min(100%,360px);max-height:none;justify-self:center}.hero-section h1{font-size:38px}.hero-subtitle{font-size:19px}.hero-actions .button{flex:1;white-space:normal;text-align:center}.site-section{padding:40px 20px}.section-heading{display:block}.section-heading>p{margin-top:15px}.service-grid,.os-owner,.os-turnkey,.os-calc-layout{grid-template-columns:1fr}.os-owner{gap:28px}.os-owner figure{max-width:420px}.os-turnkey{gap:10px}.os-about{padding:25px 20px 45px}.os-about-intro{margin:28px 0}.os-reading h2{font-size:26px}.os-calc{padding:26px 20px;margin:30px 0}.os-calc-layout{gap:20px}.os-calc-option strong{float:none;display:block;margin-left:32px;margin-top:8px}.os-calc-total{font-size:21px}.os-measure-form .form-columns{grid-template-columns:1fr}.promotion-wrap{padding:20px}.promotion-banner{grid-template-columns:1fr}.promotion-media{min-height:0}.promotion-media img{max-height:260px}.os-table-wrap{font-size:14px}.service-page{padding-left:20px;padding-right:20px}}
@media(max-width:760px){.service-page .service-grid{grid-template-columns:1fr}.hero-section h1{font-size:clamp(26px,8vw,34px);overflow-wrap:normal;word-break:normal;hyphens:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important}}
