/* Topli Dom — visual refinement, October 2026. No CMS or data migration. */
:root{--ink:#18334e;--muted:#52677b;--line:#002c6d20;--radius:20px;--polish-shadow:0 16px 42px #002c6d0a;--polish-glass:#ffffffdb}
html{scroll-padding-top:105px}body{background:#fbfcfe;color:var(--ink);font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}p{margin-bottom:22px}h1,h2,h3,h4{text-wrap:balance}h1{font-size:clamp(40px,4.5vw,64px);line-height:1.13}h2{font-size:clamp(31px,3vw,45px);line-height:1.18;letter-spacing:-.04em}h3{font-size:clamp(23px,2vw,29px);line-height:1.3}.wrap{max-width:1360px;padding-inline:clamp(24px,4vw,48px)}.section{padding-block:84px}.section-heading{margin-bottom:36px;max-width:930px}.section-heading h2:last-child{margin-bottom:0}.eyebrow{font-size:12px;letter-spacing:.12em;margin-bottom:19px;line-height:1.6}.lead{font-size:19px;line-height:1.75}.button{border-radius:12px;font-size:15px;min-height:54px;padding:15px 24px;gap:18px;box-shadow:0 5px 14px #002c6d08;transition:background .25s,color .25s,box-shadow .25s,transform .25s}.button:hover{box-shadow:0 9px 24px #002c6d16}.button.outline{box-shadow:none;background:#ffffff70}.text-link{font-size:15px;min-height:44px}.header,.header.scrolled{height:80px;padding-inline:clamp(24px,4vw,52px);gap:19px;background:#ffffffdc;border-bottom:1px solid #002c6d14;box-shadow:0 4px 30px #002c6d05;backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2)}.brand,.brand img{width:136px;flex-shrink:0}.brand img{height:auto;object-fit:contain}.desktop-nav{gap:20px;font-size:13px}.desktop-nav a{padding-block:12px;line-height:1.5;white-space:nowrap}.header-phone{font-size:13px}.header-cta{min-height:46px;padding:11px 18px;font-size:13px;white-space:nowrap}.menu-toggle,.menu-close{min-width:44px;min-height:44px}.scroll-progress{height:2px}.journey-rail{opacity:.3;pointer-events:none}
.hero.wrap{padding:44px max(48px,calc((100vw - 1264px)/2)) 48px;gap:clamp(28px,4vw,58px);background:radial-gradient(ellipse at 18% 25%,#72a7c419,transparent 65%),linear-gradient(145deg,#f7fafc,#fff)}.hero-copy{padding-block:12px}.hero h1{font-size:clamp(40px,4.35vw,62px);line-height:1.12;margin-bottom:23px}.hero h1 span{text-decoration-thickness:2px;text-underline-offset:9px}.hero-subtitle{font-size:18px;line-height:1.75;max-width:560px;margin-bottom:26px}.hero-visual{height:clamp(360px,31vw,470px)}.hero-photo{border-radius:24px;clip-path:inset(0 round 24px);box-shadow:var(--polish-shadow)}.hero-metric{background:var(--polish-glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:16px 22px;border-color:#ffffffd9;box-shadow:0 10px 32px #002c6d12}.hero-bottom{margin-top:25px}.hero-bottom p{font-size:13px}.proof{background:#fff;border-block:1px solid var(--line)}.proof-grid{padding-block:29px}.proof-grid strong{font-size:clamp(34px,3vw,48px);line-height:1.25}.proof-grid p{font-size:14px;line-height:1.6;margin-top:10px}.proof-partners strong{font-size:23px}
.problem-layout{gap:54px;grid-template-columns:.95fr 1.05fr;align-items:start}.problem-list>div{padding:24px 0;grid-template-columns:46px 1fr 32px;gap:8px 15px}.problem-list h3{font-size:24px;margin-bottom:10px}.problem-list p{font-size:16px;line-height:1.75;margin-bottom:0}.problem-index{font-size:24px}.technical-story,.layer-illustration{border:1px solid #72a7c43b;border-radius:20px;background:#ffffffd9;box-shadow:0 7px 24px #002c6d05}.technical-story{margin-top:28px;padding:24px}.technical-story h3{font-size:21px;margin-bottom:14px}.technical-story svg{max-height:200px}.technical-story .form-note{font-size:13px;line-height:1.6}.house-layout{gap:48px;grid-template-columns:1.2fr .95fr}.house-visual{border:1px solid #72a7c43b;border-radius:24px;background:linear-gradient(135deg,#fff,#eef5f9);padding:26px 20px 16px;box-shadow:var(--polish-shadow)}.house-content{padding:30px;border:1px solid #72a7c43b;border-radius:22px;background:#ffffffc9;backdrop-filter:blur(12px)}.house-content article>p{font-size:17px;line-height:1.75}.house-content h3{font-size:30px}.big-index{font-size:40px;opacity:.35;line-height:1}.house-visual svg{max-height:440px}.hotspot{min-height:44px}.service-grid{gap:24px}.service-card{border-color:#002c6d18;background:#fff;box-shadow:0 7px 26px #002c6d04;transition:box-shadow .3s,transform .3s,border-color .3s}.service-card:hover{box-shadow:var(--polish-shadow);border-color:#72a7c488;transform:translateY(-4px)}.service-image{height:245px}.service-image img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.service-card:hover .service-image img{transform:scale(1.035)}.service-copy{padding:25px 27px}.service-copy h3{font-size:27px}.service-copy p{font-size:16px;line-height:1.75}.service-copy .text-link{width:100%;justify-content:space-between;border-bottom:0;border-top:1px solid var(--line);margin-top:10px;padding-top:18px}.property-grid{gap:22px}.property-card{border:1px solid #72a7c44a;border-radius:20px;padding:26px;background:#ffffff08}.property-card h3{margin:16px 0}.property-card p{font-size:16px;line-height:1.75}.material-grid article{padding:30px;border-radius:20px;box-shadow:0 7px 24px #002c6d04}.material-grid p{font-size:16px}.material-mark{font-size:33px}.process-portal{gap:30px}.portal-line span{font-size:27px}.portal-line small{font-size:13px}.project-portal>a{border-radius:24px;overflow:hidden;box-shadow:var(--polish-shadow)}.project-portal img{transition:transform .8s}.project-portal>a:hover img{transform:scale(1.025)}.project-portal>a>span{background:#002c6dcc;backdrop-filter:blur(12px)}
.page-intro{padding-top:54px;padding-bottom:60px}.page-intro h1{margin-bottom:24px}.page-intro>.lead{max-width:780px}.split-intro{gap:46px}.detail-intro .intro-photo{height:390px;border-radius:22px;box-shadow:var(--polish-shadow)}.assessment-blueprint{gap:38px}.assessment-table td{font-size:16px;line-height:1.75;padding-block:22px}.preparation-layout{gap:42px}.preparation-prompts li{font-size:16px;line-height:1.8}.faq-item{background:#fff;border:1px solid #002c6d18!important;border-radius:16px;margin-bottom:12px;padding-inline:24px!important}.faq-item summary{font-size:19px;padding:22px 0;gap:22px}.faq-item>div{font-size:16px;line-height:1.8;padding:0 20px 24px 0}.faq-symbol{flex-shrink:0;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#72a7c416;font-size:24px}.faq-item[open]{border-color:#72a7c488!important;box-shadow:0 8px 28px #002c6d06}.editorial-quotes .quote-card{padding:32px;border:1px solid #002c6d18;border-radius:20px;background:#fff;box-shadow:0 8px 25px #002c6d04;max-width:none;width:100%;margin:0!important}.editorial-quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.quote-card blockquote{font-size:19px;line-height:1.75}.gallery-item,.gallery-card{border-radius:20px;overflow:hidden}.gallery-grid{gap:18px}.gallery-filters,.filter-buttons{gap:10px;flex-wrap:wrap}.gallery-filters button{min-height:44px;border-radius:10px}.contact-form,.estimate-form{border:1px solid #002c6d20;border-radius:24px;box-shadow:var(--polish-shadow);background:#fff}.contact-form{padding:30px}.contact-form input,.contact-form textarea,.estimate-form input:not([type=radio]):not([type=checkbox]):not([type=file]),.estimate-form textarea{border-radius:12px;font-size:16px;min-height:50px;border-color:#002c6d29;background:#fbfdff}.contact-form input:focus,.contact-form textarea:focus,.estimate-form input:focus,.estimate-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #72a7c41c}.option{border-radius:12px;min-height:54px}.option span{font-size:16px}.estimate-layout{gap:42px}.form-step legend{font-size:25px}.form-note,.form-privacy{font-size:13px;line-height:1.75}.form-progress{border-radius:999px;overflow:hidden}.contact-channels>div{padding:24px}.contact-channels .contact-phone{font-size:26px}.table-shell{border-radius:18px;overflow:hidden;border:1px solid var(--line)}.surface-dark .house-content{background:#ffffff0e}.surface-dark .house-content h3{color:#fff}.surface-dark .faq-item,.surface-dark .quote-card{background:#ffffff0b}.surface-dark .faq-symbol{background:#ffffff12}.surface-dark .property-card{background:#ffffff08}.surface-dark .service-copy :is(h3,p,.text-link){color:var(--navy)}.surface-dark .contact-form label,.surface-dark .contact-form input,.surface-dark .contact-form textarea{color:var(--ink)}.surface-dark .button.outline{background:transparent;color:#fff}.surface-dark .contact-form .button.outline,.surface-dark .estimate-form .button.outline{color:var(--navy)}.final-cta{padding-block:74px}.final-cta h2{max-width:820px;margin-inline:auto;font-size:clamp(34px,3.8vw,54px)}.cta-support{font-size:17px;line-height:1.8}.footer{padding-top:65px}.footer-grid{gap:35px}.footer-grid h3{font-size:19px;margin-bottom:20px}.footer-grid p,.footer-grid address,.footer-grid a:not(.button):not(.footer-phone){font-size:14px;line-height:1.8}.footer-grid>div>a.footer-phone{font-size:24px}.footer .legal{font-size:12px;padding-block:24px;gap:20px}.floating-cta{min-height:48px;font-size:14px;padding:13px 19px;border-radius:12px;box-shadow:0 8px 28px #002c6d25}.legal-layout{gap:45px}.legal-content p,.legal-content li{font-size:16px;line-height:1.85}.document-surface{background:#ffffffd9;border-radius:18px}.reveal,.motion-ready .reveal{opacity:1!important;transform:none!important}.polish-enter{animation:polish-enter .6s cubic-bezier(.2,.7,.2,1) both}@keyframes polish-enter{from{translate:0 12px}to{translate:0 0}}
@media(max-width:1180px){.header{gap:12px}.desktop-nav{gap:13px;font-size:12px}.header-phone span{display:none}.header-cta{font-size:12px;padding:11px 15px}.brand,.brand img{width:120px}.hero.wrap{padding-inline:36px}.hero h1{font-size:48px}.hero-visual{height:400px}.problem-layout{gap:35px}.house-layout{gap:32px}.footer-grid{gap:25px}.footer-grid>div>a.footer-phone{font-size:21px}}
@media(max-width:950px){.header,.header.scrolled{height:72px}.desktop-nav{display:none}.brand,.brand img{width:128px}.section{padding-block:64px}.wrap{padding-inline:28px}.hero.wrap{padding:35px 28px 42px;gap:26px}.hero h1{font-size:42px}.hero-subtitle{font-size:16px}.hero-visual{height:370px}.problem-layout,.house-layout,.split-intro{grid-template-columns:1fr;gap:30px}.problem-list{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.house-visual{max-width:680px;width:100%;margin:auto}.house-content{padding:26px}.editorial-quotes{grid-template-columns:1fr}.contact-editorial{gap:30px}.footer-grid{grid-template-columns:1fr 1fr}.service-image{height:230px}.hero .cta-row{gap:12px}.hero .button{font-size:14px;padding:14px 17px}.page-intro{padding-block:44px}.detail-intro .intro-photo{height:360px}.property-grid{grid-template-columns:1fr}.property-card{padding:24px}.legal-navigation{border-radius:14px}.legal-layout{gap:28px}}
@media(max-width:650px){html{scroll-padding-top:85px}.header,.header.scrolled{height:68px;padding-inline:20px;gap:9px}.brand,.brand img{width:112px}.header-phone,.menu-toggle{width:44px;height:44px;min-width:44px;min-height:44px;border:1px solid #002c6d20;border-radius:12px;background:#ffffffb3;padding:0;display:flex;align-items:center;justify-content:center}.header-phone{margin-left:auto}.menu-toggle{flex-direction:column;gap:6px}.header-cta{display:none}.header-phone svg{width:20px;height:20px}.mobile-menu{width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:30px 24px max(30px,env(safe-area-inset-bottom));border:0;background:#f4f8fc;overflow:auto}.mobile-menu::backdrop{background:#002c6d66;backdrop-filter:blur(6px)}.mobile-menu .menu-logo{width:130px;margin-bottom:25px}.mobile-menu nav:not(.contact-icons){display:grid;gap:0}.mobile-menu nav:not(.contact-icons)>a{min-height:50px;font-size:20px;border-bottom:1px solid var(--line);padding:12px 0;line-height:1.4}.menu-close{position:absolute;right:20px;top:20px;width:44px;height:44px;display:grid;place-items:center;font-size:26px;border:1px solid var(--line);border-radius:12px;background:#fff}.mobile-menu>.button{width:100%;margin-top:24px}.section{padding-block:48px}.wrap{padding-inline:22px}.section-heading{margin-bottom:27px}h1{font-size:36px}h2{font-size:30px;line-height:1.22}h3{font-size:23px}.eyebrow{font-size:11px;letter-spacing:.1em;margin-bottom:16px}.lead{font-size:17px;line-height:1.75}.hero.wrap{padding:28px 22px 35px;gap:24px;display:flex;flex-direction:column}.hero-copy{padding:0;width:100%}.hero h1{font-size:clamp(33px,9.2vw,40px);line-height:1.15;margin-bottom:20px}.hero-subtitle{font-size:16px;line-height:1.75;margin-bottom:23px}.hero-visual{height:290px;width:100%}.hero-photo{border-radius:20px;clip-path:inset(0 round 20px);transform:none}.hero .cta-row{display:grid;grid-template-columns:1fr;gap:10px}.hero .button{width:100%;min-height:50px;padding:14px 18px;font-size:14px}.hero-bottom{margin-top:19px}.hero-bottom p{font-size:12px}.hero-metric{right:12px;bottom:12px;padding:12px 17px;border-radius:13px;max-width:calc(100% - 24px)}.hero-metric p{font-size:12px}.hero-metric strong{font-size:15px}.proof-grid{padding-block:23px;gap:23px 18px;grid-template-columns:1fr 1fr}.proof-grid strong{font-size:31px}.proof-grid p{font-size:12px;line-height:1.6}.proof-partners strong{font-size:21px}.problem-list{display:block}.problem-list>div{padding-block:21px;grid-template-columns:38px 1fr 28px}.problem-list h3{font-size:21px}.problem-list p{font-size:15px}.technical-story{padding:20px;margin-top:23px}.technical-story svg{max-height:160px}.house-visual{padding:24px 12px 16px;border-radius:20px}.house-visual svg{max-height:340px}.house-content{padding:24px;border-radius:18px}.house-content h3{font-size:27px}.house-content article>p{font-size:16px}.service-grid{gap:20px;grid-template-columns:1fr}.service-image{height:220px}.service-copy{padding:22px}.service-copy h3{font-size:24px}.service-copy p{font-size:16px}.property-card{padding:23px}.material-grid article{padding:24px}.portal-line{gap:20px}.portal-line span{font-size:23px}.portal-line small{font-size:12px}.project-portal>a{border-radius:18px}.page-intro,.surface-photo.page-intro.wrap,.surface-photo.legal-intro.wrap{padding:35px 22px 40px}.detail-intro .intro-photo{height:280px;border-radius:18px}.split-intro{gap:26px}.contact-intro{gap:25px}.contact-network{max-width:290px}.contact-channels>div{padding:23px 0}.contact-channels .contact-phone{font-size:25px}.contact-form,.estimate-form{padding:23px 18px;border-radius:20px}.estimate-layout{gap:30px}.form-step legend{font-size:23px}.estimate-summary{padding:18px}.form-actions .button{min-height:50px;padding:13px 18px}.faq-item{padding-inline:20px!important}.faq-item summary{font-size:17px;line-height:1.5;padding-block:20px;gap:15px}.faq-item>div{font-size:15px;line-height:1.8;padding-right:0}.faq-symbol{width:29px;height:29px;font-size:23px}.editorial-quotes .quote-card{padding:25px}.quote-card blockquote{font-size:17px}.gallery-grid{gap:16px}.final-cta{padding-block:48px}.final-cta h2{font-size:32px}.final-cta .cta-row{gap:12px}.final-cta .button{min-height:50px;font-size:14px;justify-content:center}.cta-support{font-size:15px}.footer{padding-top:44px}.footer-grid{grid-template-columns:1fr;gap:26px}.footer-grid h3{font-size:18px;margin-bottom:14px}.footer .legal{align-items:flex-start;gap:18px}.floating-cta{bottom:max(12px,env(safe-area-inset-bottom));right:14px;min-height:46px;font-size:13px;padding:12px 16px}.legal-content p,.legal-content li{font-size:15px}.document-surface{padding:23px 20px!important}.button,.text-link{max-width:100%}.header,.hero.wrap{max-width:100vw}.journey-rail{display:none}}
@media(hover:none){.service-card:hover{transform:none}.service-card:hover .service-image img{transform:none}}
@media(prefers-reduced-motion:reduce){.polish-enter{animation:none}.service-card,.service-image img,.project-portal img{transition:none}.service-card:hover{transform:none}}
/* Keep dark-surface actions legible and intermediate-width navigation usable. */
.final-cta h2{margin-inline:0}.final-cta .button.outline{color:#fff;background:transparent;border-color:#ffffff66}.final-cta .button.outline:hover{background:var(--blue);color:var(--navy)}.estimate-form.wizard .form-step{min-height:300px}@media(max-width:1100px){.desktop-nav{display:none}.menu-toggle{display:flex}.header-phone{margin-left:auto}}@media(max-width:650px){.estimate-form.wizard .form-step{min-height:0}.mobile-menu>a.button{max-width:none}}
