/* First production refinement: light, tactile feedback and a clearer next step. */
[hidden]{display:none!important}
.reading-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:90;pointer-events:none}
.reading-progress i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#89b4d7,#a6ceee);box-shadow:0 0 10px #add1ef66}
.nav{font-size:13px;gap:25px}.header-contact{font-size:12px}.brand-sub{font-size:10px}
.hero{min-height:830px;max-height:1000px}
.hero .hero-photo{opacity:0;transform:scale(1.045);animation:none;transition:opacity 1s ease,transform 1.6s var(--ease);object-position:43% 48%}
.hero .hero-photo.scene-active{opacity:1;transform:scale(1);animation:scene-arrival 1.8s var(--ease) both}
.hero:before{background:linear-gradient(90deg,#0b1e2e10 0%,#0b1e2e10 30%,#0b1e2e64 54%,#0b1e2ecf 100%),linear-gradient(0deg,#0a2134d4,transparent 55%,#142e4373)}
.hero:after{box-shadow:inset 0 0 110px #0f273a20}
.hero-content{padding-top:clamp(165px,19vh,200px)}
.hero-copy{color:#ecf4f9;font-size:15px;animation:none;text-shadow:0 1px 12px #0a213480;min-height:66px}
.hero-content .eyebrow{animation:soft-arrival .8s var(--ease) both;font-size:11px}
.hero-actions{animation:cta-arrival .8s var(--ease) both;margin-top:24px}
.hero-actions .button{min-width:240px}
.hero-explore{font-size:12px;min-height:44px;display:flex;align-items:center;white-space:nowrap}
.hero-stamp{animation:soft-arrival 1s var(--ease) both;background:#12293c10;backdrop-filter:blur(2px);color:#f4f9fe;top:148px;opacity:1}
.hero-bottom{bottom:34px;animation:cta-arrival 1s var(--ease) both;align-items:end}
.hero-window-lines{position:absolute;inset:114px 24px 20px;pointer-events:none;z-index:0}
.hero-window-lines i{position:absolute;width:45px;height:45px;border-color:#cde2f375;border-style:solid;animation:frame-arrival 1.2s var(--ease) both}
.hero-window-lines i:nth-child(1){top:0;left:0;border-width:1px 0 0 1px;transform-origin:top left}
.hero-window-lines i:nth-child(2){top:0;right:0;border-width:1px 1px 0 0;transform-origin:top right}
.hero-window-lines i:nth-child(3){bottom:0;left:0;border-width:0 0 1px 1px;transform-origin:bottom left}
.hero-window-lines i:nth-child(4){bottom:0;right:0;border-width:0 1px 1px 0;transform-origin:bottom right}
.scene-controls{width:min(660px,78%)}
.scene-controls>p{font-size:11px;color:#d7e6f2;margin-bottom:12px;letter-spacing:.09em}
.hero-scene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.scene-control{position:relative;display:flex;align-items:center;gap:16px;min-height:64px;border:1px solid #d8e8f448;background:linear-gradient(135deg,#ffffff1a,#0f283d26);backdrop-filter:blur(8px);box-shadow:inset 0 1px 0 #ffffff1c,0 3px 0 #081c2d60;color:#e8f1f8;border-radius:2px 2px 14px 2px;text-align:left;padding:15px 20px;transition:background .3s,color .3s,transform .2s;overflow:hidden}
.scene-control:hover{background:linear-gradient(135deg,#ffffff26,#31648d66);transform:translateY(-2px)}
.scene-control[aria-pressed=true]{background:linear-gradient(135deg,#f3f8fd,#cee0ef);color:#134e78;border-color:#dae9f6;box-shadow:inset 0 1px 0 white,0 3px 0 #97bbd9}
.scene-order{font-family:Georgia,serif;font-size:25px;line-height:1;color:#a5cae9}
.scene-control[aria-pressed=true] .scene-order{color:#5193ca}
.scene-control>span:nth-child(2){font-size:12px;white-space:nowrap}
.scene-active-line{position:absolute;left:0;bottom:0;height:2px;width:100%;background:#87bae4;transform:scaleX(0);transform-origin:left;transition:transform .55s}
.scene-control[aria-pressed=true] .scene-active-line{transform:scaleX(1)}
.trust-item{font-size:13px}.trust-item small{font-size:11px}.section-copy{font-size:15px}
.service-body p,.services-lead,.intro-text p{font-size:15px}
.promise-row p,.voice-item p,.faq-answer,.message-copy p,.detail-content p,.price-panel p{font-size:14px}
.faq-item summary{font-size:15px}.flow-item p{font-size:13px}
.service-body h3{padding-right:62px}.service-body p{padding-right:0}
.service-image{border-radius:2px 2px 70px 2px}
.outcome-scene{min-height:670px;display:flex;align-items:center;position:relative;isolation:isolate;padding:95px var(--gutter);overflow:hidden;background:#bdd6ea}
.outcome-scene>img{position:absolute;inset:0;width:100%;height:100%;object-position:65% 56%;z-index:-2}
.outcome-scene:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#1b395333,transparent 45%,#c1dcf118);z-index:-1}
.outcome-topline{position:absolute;top:30px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;font-size:9px;letter-spacing:.14em;color:#2c5576}
.outcome-paper{position:relative;max-width:515px;padding:45px 50px;background:linear-gradient(140deg,#f4f8fcf2,#e1edf7ed);backdrop-filter:blur(8px);box-shadow:12px 12px 0 #c0d7ea69,0 20px 80px #2c577a22;border:1px solid #fff9;border-radius:1px 1px 48px 1px}
.outcome-paper:before{content:'';position:absolute;left:29px;top:-17px;width:48px;height:34px;background:#a9c9e38c;transform:rotate(-9deg);border-inline:1px solid #ffffff42;box-shadow:0 2px 2px #19426307}
.outcome-paper h2{font-family:var(--serif);font-size:clamp(30px,3.4vw,48px);line-height:1.6;letter-spacing:.06em;margin:22px 0}
.outcome-paper p{font-size:13px;line-height:2.2;color:#396d98}
.outcome-paper .text-link{margin-top:23px;font-size:12px}
.outcome-caption{position:absolute;right:var(--gutter);bottom:20px;background:#e9f2fac9;color:#3e739e;padding:5px 11px;font-size:9px}
.check-instruction{font-size:12px;letter-spacing:.06em;margin-bottom:15px;color:#bdd5ea}
.check-card .check-text{font-size:14px}.check-card{min-height:84px}
.check-card:focus-visible{outline-color:#a6ceef}
.check-reset{min-height:44px;margin-top:8px;padding:10px 0;font-size:11px}
.result-text{font-size:13px;line-height:2}.check-note{font-size:11px;color:#b3cfe5}
.check-result{position:relative;transition:border-color .6s,box-shadow .6s}
.check-result.is-complete{border-color:#90c0e7}
.completion-inline{display:flex;align-items:center;gap:11px;color:#c2def4;font-size:12px;letter-spacing:.08em;margin-bottom:15px}
.completion-inline .icon{width:19px;height:19px}
.consultation-note{border:1px solid #87b2d555;background:linear-gradient(145deg,#ffffff0d,#b9d5eb0a);padding:22px;margin-top:29px;border-radius:2px 2px 20px 2px}
.consultation-note label{display:block;font-size:13px;color:#e8f1f8;line-height:1.6;margin-bottom:14px}
.consultation-note label span{font-family:Georgia,serif;display:block;font-size:11px;color:#98bfdf;letter-spacing:.15em;margin-bottom:4px}
.consultation-note textarea{display:block;width:100%;max-width:100%;min-height:135px;resize:vertical;background:#ebf3f9;color:#1e3e59;border:1px solid #cadeee;border-radius:2px;padding:13px 15px;font-family:var(--sans);font-size:13px;line-height:1.8;letter-spacing:.02em}
.copy-note-button{display:flex;width:100%;justify-content:center;align-items:center;gap:12px;background:linear-gradient(135deg,#346893,#234c6e);border:1px solid #89b3d688;box-shadow:0 3px 0 #0c2133,inset 0 1px 0 #ffffff1c;border-radius:2px 2px 12px 2px;color:#eaf3fa;min-height:49px;padding:12px 15px;margin-top:13px;font-size:12px;transition:transform .2s}
.copy-note-button.copied{background:linear-gradient(135deg,#d1e3f3,#b8d4eb);color:#1b3b54;box-shadow:0 3px 0 #6da2cd}
.copy-note-button .icon{width:18px;height:18px}
.copy-status{font-size:10px;line-height:1.8;color:#afcce3;margin-top:11px;min-height:18px}
.completion-dialog{padding:46px 45px 32px;border:1px solid #accfec;width:min(530px,calc(100% - 32px));max-height:calc(100svh - 50px);overflow:auto;border-radius:3px 3px 48px 3px;color:#1a3b55;background:radial-gradient(ellipse at 50% 0,#f2f8fd,transparent 65%),#ebf3f9;text-align:center;box-shadow:0 0 0 9px #9fc7e822,0 35px 100px #0005}
.completion-dialog[open]{animation:completion-open .7s var(--ease) both}
.completion-dialog::backdrop{background:#0b2235c2;backdrop-filter:blur(9px);animation:soft-arrival .4s ease}
.completion-dialog:before{content:'';position:absolute;inset:13px;border:1px solid #89b9df70;border-radius:2px 2px 37px 2px;pointer-events:none}
.dialog-close{position:absolute;right:20px;top:18px;width:44px;height:44px;display:grid;place-items:center;background:#dce9f4;border:1px solid #adcae2;border-radius:50%;z-index:2;box-shadow:0 2px 0 #99bdda}
.completion-emblem{width:104px;height:104px;margin:0 auto 12px;display:grid;place-items:center;position:relative}
.completion-emblem:before{content:'';position:absolute;inset:-12px;background:radial-gradient(#bfdcf577,transparent 67%);border-radius:50%}
.completion-emblem svg{width:85px;height:85px;position:relative;filter:drop-shadow(0 7px 4px #75aad620)}
.completion-dialog[open] .completion-emblem svg{animation:box-unfold 1s var(--ease) both}
.completion-eyebrow{font-family:Georgia,serif;letter-spacing:.2em;font-size:10px;color:#5093ca;margin-top:12px}
.completion-dialog h2{font-family:var(--serif);font-size:36px;line-height:1.65;letter-spacing:.07em;margin:18px 0}
.completion-dialog #completion-copy{font-size:13px;line-height:2.15;color:#3e75a2}
.completion-dialog .button{width:100%;margin:25px 0 13px;font-size:13px;text-align:left;position:relative;z-index:1}
.completion-line{display:block;text-decoration:underline;text-underline-offset:5px;font-size:12px;padding:11px 0;position:relative;z-index:1}
.completion-dialog small{display:block;font-size:10px;margin-top:13px;color:#4d87b7}
.completion-petals{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.completion-petals i{position:absolute;left:12%;top:23%;width:7px;height:16px;border-radius:100% 0 100% 0;background:#88b8df88;transform:rotate(-40deg)}
.completion-petals i:nth-child(2){left:82%;top:36%;transform:rotate(50deg)}
.completion-petals i:nth-child(3){left:20%;top:51%;width:5px;height:12px;transform:rotate(-5deg)}
.completion-petals i:nth-child(4){left:76%;top:16%;width:5px;height:12px;transform:rotate(70deg)}
.completion-petals i:nth-child(5){left:85%;top:67%;width:6px;height:14px;transform:rotate(30deg)}
.completion-dialog[open] .completion-petals i{animation:petal-drift 1.8s ease-out both}
.completion-dialog[open] .completion-petals i:nth-child(2n){animation-delay:.16s}
.completion-dialog[open] .completion-petals i:nth-child(3n){animation-delay:.32s}
.service-jump{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid #b8d1e5;padding-top:10px}
.service-jump a{font-size:14px;display:flex;align-items:center;justify-content:center;gap:20px;min-height:80px;transition:background .3s}
.service-jump a:hover{background:#dce9f4}
.service-jump a+a{border-left:1px solid #cbdeed}
.service-jump a span{font-family:Georgia,serif;font-size:24px;color:#71a1c9}
.faq-search{margin:0 0 28px;padding:28px 34px 22px;border:1px solid #c3d9ea;background:linear-gradient(130deg,#e5eff7,#eef4fa);border-radius:2px 2px 25px 2px}
.faq-search label{display:block;font-family:var(--serif);font-size:24px;line-height:1.6;margin-bottom:18px}
.faq-search-field{display:flex;align-items:center;gap:15px;border:1px solid #9dc0dd;background:#fdfeff;padding:5px 8px 5px 17px;border-radius:2px;box-shadow:inset 0 2px 6px #23537a0c}
.faq-search-field .icon{width:20px;height:20px;color:#5590c1}
.faq-search-field input{border:0;background:transparent;flex:1;min-width:0;width:100%;height:46px;color:#1d3e5a;font:inherit;font-size:16px;letter-spacing:.03em}
.faq-search-field input::placeholder{color:#538bb8;font-size:13px}
.faq-search-field button{background:linear-gradient(135deg,#f2f8fc,#dae8f4);border:1px solid #b8d1e6;min-height:40px;min-width:60px;padding:9px 13px;font-size:11px;color:#33658e;border-radius:2px 2px 10px 2px;box-shadow:0 2px 0 #aac8e1}
.faq-search-count{font-size:11px;margin-top:13px;color:#4480b1;line-height:1.8}
.qa-nav{margin-bottom:45px}.qa-nav a{font-size:13px;min-height:47px}
.faq-empty{padding:35px;background:#deeaf4;border:1px solid #b9d2e7}
.faq-empty h2{font-family:var(--serif);font-size:26px;line-height:1.8}
.faq-empty p{font-size:14px;margin:15px 0 25px;color:#427cab}
.footer-company,.footer-links{font-size:12px}.footer-links a{min-height:37px;display:flex;align-items:center}.footer-bottom button{min-height:44px;font-size:10px}
.button,.circle-link,.header-contact,.phone-button,.scene-control,.copy-note-button,.service-jump a,.qa-nav a,.mobile-bar a,.check-card,.dialog-close,.sound-button,.menu-button{will-change:auto}
.button:focus-visible,.copy-note-button:focus-visible,.scene-control:focus-visible{outline-offset:7px}
.consultation-note textarea:focus-visible{outline:3px solid #a4cced;outline-offset:4px}
.privacy-dialog{max-height:calc(100svh - 40px);overflow:auto}
.mobile-nav:not([hidden]){max-height:calc(100svh - 90px);overflow:auto;overscroll-behavior:contain}
@keyframes soft-arrival{from{opacity:.65}to{opacity:1}}
@keyframes scene-arrival{from{scale:1.055}to{scale:1}}
@keyframes cta-arrival{from{transform:translateY(14px)}to{transform:translateY(0)}}
@keyframes frame-arrival{from{opacity:.1;scale:1.5}to{opacity:1;scale:1}}
@keyframes completion-open{from{opacity:.25;transform:translateY(25px) scale(.88)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes box-unfold{from{transform:translateY(18px) scale(.7) rotate(-10deg);opacity:.2}to{transform:none;opacity:1}}
@keyframes petal-drift{0%{opacity:0;translate:0 -100px;rotate:-80deg;scale:.2}35%{opacity:1;scale:1.3}100%{opacity:.65;translate:0 0;rotate:0deg;scale:1}}
@media(max-width:1150px){.nav{font-size:12px;gap:18px}.hero-title{font-size:clamp(35px,3.9vw,45px)}.hero-actions{gap:18px;flex-wrap:wrap}.hero-actions .button{min-width:225px}.scene-controls{width:75%}.scene-control{padding:15px;gap:12px}.scene-control>span:nth-child(2){font-size:11px}.hero-copy{font-size:14px}}
@media(max-width:900px){.hero{min-height:800px}.hero-content{padding-top:185px}.hero-content .eyebrow{font-size:10px}.hero-bottom{bottom:35px}.scene-controls{width:85%}.scene-control{min-height:60px}.hero-scroll{font-size:8px}.hero-stamp{top:115px}.outcome-paper{padding:35px;max-width:460px}.outcome-scene{min-height:620px}.outcome-paper h2{font-size:37px}.service-jump a{font-size:12px;gap:13px}.faq-item summary{font-size:14px}.trust-item{font-size:12px}.trust-item small{font-size:10px}.hero-actions .button{min-width:215px;font-size:12px}.hero-explore{font-size:11px}}
@media(max-width:640px){
 .brand-sub{font-size:8px}.hero{min-height:760px;height:calc(100svh - 64px);max-height:900px}
 .hero .hero-photo{object-position:36% center}.hero[data-hero-scene='1'] .hero-photo{object-position:44% center}.hero[data-hero-scene='2'] .hero-photo{object-position:57% center}
 .hero:before{background:linear-gradient(0deg,#0b2439f5 3%,#0c2539bd 34%,#0d273b26 76%,#0f283d66)}
 .hero-content{bottom:150px;padding:0}.hero-content .eyebrow{font-size:9px;line-height:1.9;letter-spacing:.03em}
 .hero-title{font-size:clamp(30px,8.3vw,40px);margin-top:12px;line-height:1.6}.hero-copy{font-size:13px;line-height:1.9;margin-top:15px;min-height:49px}
 .hero-actions{margin-top:19px;gap:14px;flex-wrap:nowrap}.hero-actions .button{min-width:0;font-size:12px;padding:15px 18px;gap:18px;min-height:52px}.hero-explore{font-size:10px;letter-spacing:0}
 .hero-stamp{top:100px;left:auto;right:23px;font-size:12px;width:78px;height:78px}.hero-stamp small{font-size:7px}
 .hero-bottom{bottom:25px}.scene-controls{width:100%}.scene-controls>p{font-size:9px;margin-bottom:10px}.hero-scene-grid{gap:7px}
 .scene-control{flex-direction:column;align-items:flex-start;gap:6px;padding:12px 11px;min-height:67px}.scene-order{font-size:17px}.scene-control>span:nth-child(2){font-size:10px;letter-spacing:.02em}
 .hero-scroll{display:none}.hero-window-lines{inset:90px 11px 12px}.hero-window-lines i{width:24px;height:24px;opacity:.45}
 .trust-strip{padding:20px 12px;gap:9px}.trust-item{font-size:11px;line-height:1.7}.trust-item small{font-size:9px;line-height:1.6;padding:0 4px}
 .intro-text p,.service-body p,.detail-content p,.subpage-intro p{font-size:14px}.section-copy,.services-lead{font-size:13px}
 .service-body h3{font-size:25px;padding-right:53px}.service-body p{padding-right:0}.service-tags span{font-size:10px}
 .promise-row p,.voice-item p,.faq-answer,.message-copy p{font-size:13px}.flow-item p{font-size:12px}.flow-list{gap:30px 20px}
 .outcome-scene{min-height:650px;display:block;padding:235px 23px 50px}.outcome-scene>img{object-position:65% top;height:100%;}
 .outcome-topline{top:23px;left:23px;right:23px;font-size:8px}.outcome-paper{max-width:360px;padding:28px 25px 30px;box-shadow:6px 6px 0 #c0d7ea80;border-radius:2px 2px 30px 2px}
 .outcome-paper .eyebrow{font-size:8px;gap:8px;letter-spacing:.1em}.outcome-paper h2{font-size:31px;margin:19px 0;line-height:1.6}.outcome-paper p{font-size:12px;line-height:2.1}.outcome-paper .text-link{font-size:11px;margin-top:18px}.outcome-caption{right:18px;bottom:14px;font-size:8px}
 .check-instruction{font-size:12px;margin-bottom:13px}.check-card{min-height:82px}.check-card .check-text{font-size:13px}.result-text{font-size:13px}.result-title{font-size:22px;line-height:1.7}.check-result .button{font-size:12px;padding-inline:18px;gap:12px}
 .check-note{font-size:10px;line-height:1.9}.room-caption{font-size:10px}.check-reset{font-size:11px}.completion-inline{font-size:11px}
 .consultation-note{padding:18px;margin-top:24px}.consultation-note textarea{font-size:16px;line-height:1.8;min-height:156px}.consultation-note label{font-size:13px}.copy-status{font-size:10px;min-height:36px}
 .completion-dialog{padding:33px 24px 26px;border-radius:3px 3px 35px 3px;max-height:calc(100svh - 28px)}.completion-dialog:before{inset:10px;border-radius:2px 2px 27px 2px}.dialog-close{top:14px;right:14px;width:40px;height:40px}
 .completion-emblem{width:80px;height:80px}.completion-emblem svg{width:73px;height:73px}.completion-dialog h2{font-size:30px;margin:16px 0}.completion-dialog #completion-copy{font-size:12px}.completion-dialog .button{margin-top:22px;font-size:12px;padding-inline:18px}.completion-eyebrow{font-size:9px}.completion-dialog small{font-size:9px}
 .service-jump{padding-top:0}.service-jump a{flex-direction:column;gap:7px;min-height:86px;font-size:11px;line-height:1.4;padding:15px 6px;text-align:center}.service-jump a span{font-size:21px}
 .faq-search{padding:23px 19px 17px;margin-bottom:24px}.faq-search label{font-size:22px;margin-bottom:16px}.faq-search-field{gap:9px;padding-left:11px}.faq-search-field input::placeholder{font-size:11px}.faq-search-field .icon{width:17px;height:17px}.faq-search-field button{min-width:48px;padding:8px;font-size:10px}.faq-search-count{font-size:10px}
 .qa-nav{margin-bottom:34px;gap:8px}.qa-nav a{font-size:11px;padding:12px 13px}.faq-item summary{font-size:14px;line-height:1.8;min-height:76px}.faq-answer{padding-left:30px}.faq-empty{padding:25px}.faq-empty h2{font-size:24px}.faq-empty p{font-size:13px}.faq-empty .button{font-size:12px}
 .contact-section p{font-size:13px}.contact-section .contact-note{font-size:10px!important}.footer-company,.footer-links{font-size:12px}.footer-bottom{font-size:9px}.footer-bottom button{font-size:10px}.mobile-bar a{font-size:12px;min-height:46px}.privacy-dialog p{font-size:13px}
}
@media(max-width:370px){.hero{min-height:800px}.hero-content{bottom:161px}.hero-title{font-size:29px}.hero-actions{flex-wrap:wrap;gap:5px 18px}.hero-actions .button{font-size:12px}.hero-explore{min-height:40px}.hero-content .eyebrow{font-size:8px}.scene-control{padding-inline:9px}.scene-control>span:nth-child(2){font-size:9px}.service-body h3{font-size:23px}}
@media(hover:none){.button:hover{transform:none}.scene-control:hover{transform:none}.button:active{transform:translateY(4px) scale(.985)!important}}
@media(prefers-reduced-motion:reduce){.hero .hero-photo{transition:none;transform:none}.hero .hero-photo.scene-active{transform:none}.hero-window-lines i,.completion-dialog[open],.completion-dialog[open] .completion-emblem svg{animation:none}.hero-actions,.hero-bottom,.hero-stamp{animation:none}}
@media(prefers-reduced-motion:reduce){.completion-dialog[open] .completion-petals i{animation:none}}
