@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#101010;--navy:#385663;--paper:#f5f3ee;--muted:#627075;--line:#d6d1c7;--gold:#954e40}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'Noto Sans JP',sans-serif;font-size:13px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}h1,h2,h3,h4,p{margin:0}button{border-radius:0}.wrap{max-width:1280px;margin:auto;padding-left:64px;padding-right:64px}.header{height:80px;padding:0 64px;display:flex;align-items:center;gap:36px;background:rgba(250,251,249,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.logo{font-family:Arial,sans-serif;font-size:26px;font-weight:700;letter-spacing:-1.4px;white-space:nowrap;line-height:1.1}.logo span{font-size:21px;letter-spacing:-1px}.logo small{font-size:6px;letter-spacing:1.25px;display:block;margin-top:7px;font-weight:400}.header nav{display:flex;align-items:center;gap:31px;margin-left:auto}.header nav a{font-size:10px;font-weight:700;line-height:1.4}.header nav small{font-size:7px;font-weight:400;display:block;color:var(--muted);margin-top:4px}.header nav a:hover{color:#954e40}.button{display:inline-flex;justify-content:center;align-items:center;gap:15px;background:var(--navy);border:1px solid var(--navy);color:white;min-height:49px;padding:12px 24px;font-size:11px;font-weight:600;letter-spacing:.06em;transition:background .2s,color .2s,transform .2s}.button>span:last-child{margin-left:auto}.button:hover{background:#29444f;transform:translateY(-2px)}.button.outline{background:transparent;color:var(--navy);border:1px solid #9aacb1}.button.outline:hover{background:#e6edec}.header-cta{min-height:43px;font-size:10px;padding:10px 20px}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}.skip{position:fixed;top:-80px;background:white;padding:10px;z-index:100}.skip:focus{top:0}.hero{height:720px;max-height:850px;position:relative;overflow:hidden}.photo{overflow:hidden;position:relative;background:#dfe4e2}.photo img{display:block;width:100%;height:100%}.hero-photo{position:absolute;right:0;top:0;width:76%;height:100%}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,#f5f3ee 0%,rgba(247,248,245,.98) 21%,rgba(247,248,245,.83) 32%,rgba(247,248,245,0) 54%),linear-gradient(0deg,rgba(247,248,245,.3),transparent 30%)}.hero-copy{position:relative;padding:92px 0 0 max(64px,calc((100vw - 1152px)/2));max-width:650px}.eyebrow{font-size:14px;letter-spacing:.12em;font-weight:700;margin-bottom:20px}h1{font-size:clamp(42px,4.8vw,66px);font-weight:900;line-height:1.22;letter-spacing:-.05em}.intro{font-size:12px;line-height:2.1;letter-spacing:.04em;margin-top:23px}.hero-actions{display:grid;gap:10px;width:272px;margin-top:30px}.micro{font-size:7px;letter-spacing:.12em;color:#7b8587;margin-top:23px}.hero-bottom{position:absolute;bottom:48px;left:64px;display:flex;align-items:center;gap:22px}.vertical-label{font:8px 'Barlow Condensed',sans-serif;letter-spacing:2px;writing-mode:vertical-rl;margin-right:64px}.number{font:26px 'Barlow Condensed',sans-serif}.number i{font-size:16px;color:#abb3b4;font-style:normal;margin-left:15px}.hero-bottom p{font-size:8px;line-height:1.6;color:#788487;letter-spacing:.06em}.hero-note{position:absolute;right:38px;top:62px;color:white;font-size:16px;line-height:1.8;letter-spacing:.25em;text-shadow:0 1px 10px #101010}.section-heading{position:relative;display:flex;align-items:flex-end;justify-content:space-between;padding-top:42px;padding-bottom:28px;gap:30px}.section-label{font-family:'Barlow Condensed',sans-serif;font-size:12px;font-weight:600;letter-spacing:2px;margin-bottom:15px;color:#64747a}h2{font-size:clamp(27px,3vw,42px);font-weight:800;line-height:1.35;letter-spacing:.015em}.section-heading>p{font-size:11px;color:#69797e;letter-spacing:.07em;padding-right:80px}.tiny-stamp{position:absolute;right:35px;top:26px;font-size:6px;line-height:1.4;color:#8a9597}.service-grid{display:grid;grid-template-columns:1fr 1fr}.service-card{height:585px;position:relative;overflow:hidden}.service-card>.photo{position:absolute;inset:0}.service-card .photo img{transform:scale(1.015);transition:transform .7s}.service-card:hover .photo img{transform:scale(1.045)}.service-shade{position:absolute;inset:0;background:linear-gradient(140deg,#e4e8e7 0%,rgba(225,241,246,.7) 24%,transparent 67%)}.service-copy{position:relative;padding:36px 60px}.service-number{font:44px 'Barlow Condensed',sans-serif;font-weight:500;display:flex;gap:18px;align-items:center;margin-bottom:12px}.service-number span{font:7px 'Noto Sans JP',sans-serif;letter-spacing:1px;line-height:1.5}.service-copy h3{font-family:'Barlow Condensed',sans-serif;font-size:58px;line-height:1.1;letter-spacing:1px;font-weight:600}.service-copy h4{font-size:26px;letter-spacing:.07em;margin:4px 0}.service-copy>p:not(.service-number){font-size:10px;margin-bottom:18px}.service-copy .button{min-width:248px}.renewal{color:white}.renewal .service-shade{background:linear-gradient(125deg,rgba(14,31,40,.99),rgba(14,31,40,.7) 42%,rgba(14,31,40,.05) 90%)}.renewal .button{background:rgba(19,46,59,.85);border-color:#8c9da4}.ticker{display:flex;align-items:center;gap:34px;padding:15px 56px;background:#385663;color:#aebfc4;font-size:8px;letter-spacing:1px}.ticker span:last-child{margin-left:auto}.section-end{margin:26px 0 0;border-bottom:1px solid var(--line);padding-bottom:18px;display:flex;justify-content:space-between;font-size:7px;color:#7b898d;letter-spacing:1px}.section-end strong{font-size:10px;color:var(--ink);letter-spacing:0}
@media(min-width:1500px){.hero{height:800px}.hero-photo{width:73%}}@media(max-width:1050px){.header{padding:0 28px;gap:24px}.header nav{gap:18px}.header nav small{display:none}.wrap{padding-left:36px;padding-right:36px}.hero-copy{padding-left:40px}.hero-bottom{left:40px}.service-copy{padding:30px 35px}.section-heading>p{padding-right:0}.hero-note{display:none}}@media(max-width:760px){html{scroll-padding-top:72px}.header{height:70px;padding:0 20px;gap:14px}.logo{font-size:22px}.logo span{font-size:17px}.logo small{font-size:5px}.header nav,.header-cta{display:none}.menu-toggle{display:block;margin-left:auto;border:0;background:transparent;padding:10px}.mobile-nav{position:fixed;inset:70px 0 auto;background:var(--paper);z-index:19;padding:20px 26px 30px;box-shadow:0 12px 18px #38566314}.mobile-nav a{display:block;padding:10px;border-bottom:1px solid var(--line)}.mobile-nav .button{margin-top:20px;width:100%}.wrap{padding-left:24px;padding-right:24px}.hero{height:790px}.hero-photo{width:100%;height:510px;top:260px}.hero-wash{background:linear-gradient(180deg,var(--paper) 0%,var(--paper) 28%,rgba(247,248,245,.5) 47%,transparent 68%)}.hero-copy{padding:39px 24px 0;max-width:none}.eyebrow{font-size:11px;margin-bottom:12px}h1{font-size:44px}.intro{font-size:11px;margin-top:17px}.hero-actions{margin-top:23px;width:250px;gap:8px}.hero-actions .button{min-height:46px}.micro{display:none}.hero-bottom{left:24px;bottom:20px;background:#f5f3eee8;padding:12px 18px}.vertical-label{display:none}.hero-bottom .number{font-size:20px}.hero-bottom p{font-size:7px}.section-heading{display:block;padding-top:34px;padding-bottom:24px}.section-heading>p{margin-top:16px;font-size:10px}.section-label{font-size:10px;margin-bottom:12px}h2{font-size:29px}.tiny-stamp{right:24px;font-size:5px}.service-grid{grid-template-columns:1fr}.service-card{height:465px}.service-copy{padding:27px 26px}.service-copy h3{font-size:52px}.service-copy h4{font-size:25px}.service-number{font-size:32px;margin-bottom:12px}.ticker{padding:13px 24px;gap:20px;font-size:6px}.ticker span:last-child{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.inset{padding-left:0;padding-right:0}.section-description{font-size:11px;line-height:1.9;color:#6b797d;margin-top:12px}.works{padding-bottom:24px}.work-feature{display:grid;grid-template-columns:minmax(0,3fr) minmax(240px,1fr);gap:36px}.work-comparison{display:grid;grid-template-columns:1fr 1.12fr;position:relative;gap:10px}.work-comparison figure{margin:0;position:relative;height:382px}.work-comparison .photo{height:100%}.work-comparison figcaption{position:absolute;top:20px;left:20px;color:white;background:#203b48e6;font:600 20px 'Barlow Condensed',sans-serif;padding:5px 14px;letter-spacing:1px}.compare-arrow{position:absolute;left:47%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:var(--gold);color:white;width:36px;height:36px;text-align:center;line-height:34px;z-index:1;font-size:22px}.work-detail{padding:12px 0}.little-label{font-size:8px;color:#954e40;letter-spacing:1px}.work-detail h3{font-size:20px;line-height:1.55;margin:15px 0}.work-detail>p:not(.little-label){font-size:11px;color:#6b7a7e}.work-detail dl{font-size:9px;margin:20px 0}.work-detail dl>div{padding:8px 0;border-top:1px solid var(--line)}.work-detail dt{font-size:8px;letter-spacing:1px}.work-detail dd{margin:2px 0;color:#728085}.work-detail .button{font-size:10px;padding:10px 18px;min-height:42px}.work-more{display:grid;grid-template-columns:1fr 1fr 110px;gap:22px;border-top:1px solid var(--line);margin-top:25px;padding-top:25px}.small-work{display:grid;grid-template-columns:1.1fr 1fr;border:0;text-align:left;background:transparent;color:var(--ink);padding:0;gap:20px}.small-work>.photo{height:155px}.small-work>span:last-child{display:flex;flex-direction:column;padding-top:8px}.small-work small{font-size:7px;letter-spacing:.5px}.small-work strong{font-size:13px;margin:6px 0}.small-work em{font-size:8px;font-style:normal;color:#748085}.small-work i{font-style:normal;margin:12px 0 0 auto;font-size:16px}.small-work:hover strong{text-decoration:underline}.all-works{background:#ecefed;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:10px;letter-spacing:1px}.all-works span{font-size:21px;margin-top:15px}.image-caption{font-size:9px;color:#849094;margin-top:14px}.support{margin-top:10px}.support-heading{height:315px;position:relative;overflow:hidden}.support-heading>.photo{position:absolute;right:0;width:57%;height:100%}.support-heading::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 35%,transparent 75%)}.support-heading>.wrap{padding-top:46px;position:relative;z-index:1}.support-heading h2{font-size:36px}.support-heading p:last-child{font-size:11px;margin-top:14px;color:#748185}.support-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:32px}.support-cards article{padding:0 25px 20px 5px;border-right:1px solid var(--line)}.support-cards article:last-child{border:0}.card-step{font:500 29px 'Barlow Condensed',sans-serif;display:flex;align-items:center;gap:19px;line-height:1.1;margin-bottom:16px}.card-step small{font:8px 'Noto Sans JP',sans-serif;letter-spacing:1px}.support-cards h3{font-size:21px;margin-left:30px}.support-cards article>p:not(.card-step){font-size:10px;margin-left:30px;color:#7b878a}.support-cards .photo{height:145px;margin-top:20px;background:transparent}.card-foot{font-size:9px;display:block;margin-top:15px;text-align:center}.consult-strip{padding-top:35px;padding-bottom:35px;background:#eef0ed;display:flex;justify-content:center;align-items:center;gap:100px;margin-top:22px}.consult-strip p{font-size:11px;margin-bottom:12px}.text-link{font-size:10px;margin-left:25px}.strip-serif{font:italic 31px Georgia,serif;color:#929b92;line-height:1.1;transform:rotate(-7deg)}.types{padding-bottom:40px}.sign-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:15px;grid-template-rows:280px 225px}.sign-tile{border:0;background:transparent;padding:0;min-width:0;display:flex;flex-direction:column;text-align:left;color:var(--ink)}.sign-tile .photo{display:block;flex:1;width:100%;min-height:0}.sign-tile .photo img{transition:transform .5s}.sign-tile:hover .photo img{transform:scale(1.04)}.tile-main{grid-row:1}.tile-tall{grid-column:4}.tile-wide{grid-column:1}.tile-label{display:flex;gap:10px;align-items:flex-start;padding:11px 0;min-height:48px}.tile-label small{font:16px 'Barlow Condensed',sans-serif;color:#8a9597}.tile-label strong{font-size:10px;font-weight:600}.tile-label em{display:block;font-size:8px;color:#7b868a;font-style:normal;font-weight:400}.tile-label i{font-style:normal;margin-left:auto;font-size:17px;font-weight:400;color:#778b90}.about{background:#385663;color:#f5f3ee}.about-hero{height:465px;position:relative;overflow:hidden}.about-hero>.photo{position:absolute;right:0;height:100%;width:67%}.about-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#385663 0%,#385663ef 25%,#38566350 65%,transparent)}.about-hero>.wrap{position:relative;padding-top:42px}.about .section-label{color:#a9b9bd}.about h2{font-size:54px;line-height:1.25}.about-hero .wrap>p:not(.section-label){font-size:12px;line-height:2;margin-top:23px;color:#d0d9db}.gold-note{display:block;color:#954e40;font:9px 'Barlow Condensed',sans-serif;letter-spacing:2px;line-height:1.8;margin-top:25px}.about-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:28px;padding-bottom:38px}.about-grid article{border-right:1px solid #40535c;padding-right:18px}.about-grid article:last-child{border:0;padding-right:0}.about-grid .card-step{color:#c6d0d3}.about-grid .photo{height:172px}.about-grid h3{font-size:11px;margin-top:15px}.about-grid article>p:last-child{font-size:9px;color:#acbcc2;line-height:1.8;margin-top:4px}.flow{padding-top:15px;padding-bottom:25px}.script-note{font:italic 34px Georgia,serif;color:#c9ceca;line-height:1.2;transform:rotate(-10deg);margin-right:60px}.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:32px 0 45px}.flow-grid article{position:relative;border-right:1px solid var(--line);padding-right:20px}.flow-grid article:last-child{border:0;padding-right:0}.flow-title{display:flex;align-items:center;gap:13px;margin-bottom:15px}.flow-title span{font:44px 'Barlow Condensed',sans-serif}.flow-title h3{font-size:12px;letter-spacing:-.03em}.flow-grid .photo{height:202px}.flow-grid article>p{font-size:10px;line-height:1.9;margin-top:14px;color:#718087}.flow-arrow{position:absolute;right:-22px;top:48%;font-size:21px;z-index:1;background:var(--paper);border-radius:50%;color:#8e9fa4;width:28px;text-align:center}.flow-cta{padding:26px 0;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line)}.flow-cta p{font-size:12px;font-weight:600;margin-bottom:15px}.flow-cta .outline{margin-left:12px}.flow-word{font:500 25px 'Barlow Condensed',sans-serif;color:#c0c8c4;line-height:1.2;letter-spacing:3px}.faq{padding-top:52px;padding-bottom:68px;display:grid;grid-template-columns:1fr 1.5fr;gap:60px}.faq-intro>p:not(.section-label){font-size:10px;color:#748186;line-height:2;margin-top:22px}.faq-word{font:600 70px 'Barlow Condensed',sans-serif;color:#e2e6e2;display:block;line-height:.99;margin-top:49px;letter-spacing:1px}.faq-list{padding-top:29px}details{border-top:1px solid #ced6d5}details:last-of-type{border-bottom:1px solid #ced6d5}summary{list-style:none;display:flex;align-items:center;gap:20px;padding:22px 4px;cursor:pointer;font-size:12px;font-weight:600;line-height:1.6}summary::-webkit-details-marker{display:none}summary>span{font:20px 'Barlow Condensed',sans-serif;color:#6b7f88}summary i{width:12px;height:12px;position:relative;flex-shrink:0;margin-left:auto}details>p{font-size:11px;color:#708087;margin:0 24px 23px 43px;line-height:2}.faq-contact{padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:15px}.faq-contact p{font-size:10px}.faq-contact .button{font-size:10px;min-height:42px;padding:10px 17px}.final-cta{height:715px;position:relative;overflow:hidden}.final-cta>.photo{position:absolute;inset:0}.final-wash{position:absolute;inset:0;background:linear-gradient(90deg,#d6e3edc9,transparent 67%)}.final-cta>.wrap{position:relative;padding-top:62px}.final-cta h2{font-size:55px;line-height:1.28;letter-spacing:.02em}.final-cta .wrap>p:not(.section-label){font-size:12px;line-height:2;margin-top:23px;margin-bottom:25px}.final-cta .button{display:flex;width:278px;margin-top:10px}.footer-top{display:flex;justify-content:space-between;padding-top:45px;padding-bottom:50px}.footer-top p{font-size:7px;line-height:1.5;letter-spacing:1px;color:#8b9899}.footer-top span{font-size:12px;letter-spacing:.13em;color:#7d8c8e}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr;gap:40px;padding-bottom:60px}.footer-brand{font:31px Arial,sans-serif;letter-spacing:-1px;padding-top:10px}.footer-brand>small{display:block;font:18px 'Barlow Condensed',sans-serif;letter-spacing:3px;margin-top:10px}.footer-brand>span{display:block;font:11px 'Noto Sans JP',sans-serif;line-height:2.2;letter-spacing:2px;margin-top:30px}.footer-column{border-left:1px solid var(--line);padding-left:28px}.footer-column h3{font:13px 'Barlow Condensed',sans-serif;letter-spacing:2px;margin-bottom:22px;color:#708187}.footer-column a{display:block;font-size:10px;line-height:1.5;margin-bottom:18px}.footer-column a:hover{text-decoration:underline}.footer-column small{display:block;font-size:8px;color:#7f8c90;margin-top:3px}.footer-contact{border-left:1px solid var(--line);padding-left:36px}.footer-contact .section-label{margin-bottom:12px;font-size:10px}.footer-contact h3{font-size:22px;line-height:1.5;letter-spacing:.07em}.footer-contact>p:not(.section-label){font-size:9px;margin:14px 0;color:#73858b}.footer-contact .button{width:100%;background:#385663;border-color:#385663}.footer-bottom{padding:55px 0;background:radial-gradient(ellipse at 77% 0,#445354 0,transparent 40%),#18282d;color:#eef1ef}.footer-bottom>.wrap{position:relative}.footer-bottom .logo{font-size:22px}.footer-bottom .logo span{font-size:17px}.footer-bottom .logo small{font-size:8px;line-height:1.7;margin-top:23px;letter-spacing:1.2px;color:#92a2a6}.footer-bottom p{font-size:8px;margin-top:30px;color:#8da0a4}.back-top{position:absolute;right:64px;top:20px;font-size:26px;text-align:center}.back-top small{display:block;font-size:7px;letter-spacing:2px;margin-top:10px}dialog{border:0;background:var(--paper);color:var(--ink);padding:45px;max-width:640px;width:calc(100% - 32px);max-height:90vh;overflow-y:auto;box-shadow:0 30px 100px #0a202c55}dialog::backdrop{background:#0e2229b8;backdrop-filter:blur(5px)}dialog h2{font-size:30px;margin-bottom:20px}.dialog-close{position:absolute;right:14px;top:10px;background:transparent;border:0;font-size:30px;color:#607880;padding:0 10px;line-height:1.4}#detail-photo{height:280px;margin:25px 0}#detail-description{font-size:13px;line-height:2;margin-bottom:24px}.contact-intro{font-size:12px;color:#708087}.contact-checklist{padding:0;list-style:none;margin:25px 0}.contact-checklist li{display:flex;gap:24px;padding:17px 0;border-top:1px solid var(--line)}.contact-checklist li>span{font:30px 'Barlow Condensed',sans-serif;color:#90a0a4}.contact-checklist strong{font-size:13px}.contact-checklist p{font-size:11px;color:#7b8a90}.contact-status{display:flex;gap:13px;background:#e8edeb;padding:20px;margin:20px 0 25px}.status-dot{height:7px;width:7px;color:#ac965f;margin-top:9px;flex-shrink:0}.contact-status strong{font-size:12px}.contact-status p{font-size:10px;color:#78858a;margin-top:7px;line-height:1.9}.contact-context{font-size:11px;padding:10px;border:1px solid var(--line)}body.dialog-open{overflow:hidden}
@media(max-width:1050px){.work-feature{grid-template-columns:2fr 1fr;gap:24px}.work-comparison figure{height:340px}.work-more{grid-template-columns:1fr 1fr}.all-works{display:none}.small-work{gap:13px}.small-work>.photo{height:130px}.support-heading h2{font-size:31px}.sign-grid{grid-template-rows:245px 215px}.about-grid .photo{height:145px}.flow-title{gap:8px}.flow-title h3{font-size:10px}.flow-grid .photo{height:160px}.faq{gap:35px}.faq-word{font-size:63px}.footer-main{gap:20px}.footer-column{padding-left:20px}.footer-contact{padding-left:20px}.footer-contact h3{font-size:19px}.footer-top span{font-size:10px}.work-detail h3{font-size:18px}}
@media(max-width:760px){.work-feature{grid-template-columns:1fr;gap:12px}.work-comparison{gap:6px}.work-comparison figure{height:250px}.work-comparison figcaption{font-size:16px;top:12px;left:10px;padding:3px 9px}.compare-arrow{width:29px;height:29px;font-size:18px;line-height:27px}.work-detail{padding:12px 0}.work-detail h3{font-size:22px;margin:10px 0}.work-detail>p:not(.little-label){font-size:12px}.work-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:20px}.work-more{gap:18px;grid-template-columns:1fr;padding-top:22px}.small-work{grid-template-columns:1fr 1.3fr;gap:18px}.small-work>.photo{height:125px}.small-work strong{font-size:14px}.image-caption{font-size:8px;line-height:1.8}.support-heading{height:380px}.support-heading>.photo{width:100%;height:220px;bottom:0}.support-heading::after{background:linear-gradient(180deg,var(--paper) 0%,var(--paper) 28%,transparent 80%)}.support-heading>.wrap{padding-top:32px}.support-heading h2{font-size:27px;line-height:1.5}.support-heading p:last-child{font-size:10px;max-width:280px}.support-cards{grid-template-columns:1fr;gap:22px;margin-top:25px}.support-cards article{border-right:0;border-bottom:1px solid var(--line);padding:0 0 22px}.support-cards .photo{height:140px;max-width:370px;margin:10px auto}.support-cards h3,.support-cards article>p:not(.card-step){margin-left:0}.card-step{font-size:28px;margin-bottom:12px}.support-cards h3{font-size:22px}.support-cards .card-foot{text-align:left}.consult-strip{padding-top:25px;padding-bottom:25px;gap:20px;justify-content:space-between}.consult-strip .button{font-size:10px;padding:12px 17px}.text-link{display:block;margin:14px 0 0;font-size:10px}.strip-serif{font-size:22px}.sign-grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 205px 205px 205px 200px;gap:14px}.tile-main{grid-column:1 / -1}.tile-tall{grid-column:auto}.tile-wide{grid-column:auto}.sign-tile:last-child{grid-column:1 / -1}.tile-label strong{font-size:10px}.about-hero{height:570px}.about-hero>.photo{width:100%;height:350px;bottom:0}.about-overlay{background:linear-gradient(180deg,#385663 0,#385663f0 30%,#38566340 65%,transparent)}.about-hero>.wrap{padding-top:33px}.about h2{font-size:39px}.about-hero .wrap>p:not(.section-label){font-size:10px;line-height:2.1;margin-top:19px}.gold-note{margin-top:18px;font-size:7px}.about-grid{grid-template-columns:1fr 1fr;gap:26px 17px;padding-top:24px;padding-bottom:34px}.about-grid article{border:0;padding:0}.about-grid .card-step{font-size:25px;gap:13px}.about-grid .card-step small{font-size:8px;letter-spacing:0}.about-grid .photo{height:132px}.about-grid h3{font-size:10px;margin-top:10px}.about-grid article>p:last-child{font-size:9px}.script-note{display:none}.flow-grid{grid-template-columns:1fr 1fr;gap:27px 18px;margin:24px 0}.flow-grid article{border:0;padding-right:0}.flow-title{gap:8px;margin-bottom:10px}.flow-title span{font-size:33px}.flow-title h3{font-size:10px}.flow-grid .photo{height:140px}.flow-grid article>p{font-size:9px}.flow-arrow{display:none}.flow-cta{padding:24px 0}.flow-cta .button{font-size:10px;padding:10px 15px}.flow-cta .outline{margin-left:5px}.flow-word{display:none}.faq{grid-template-columns:1fr;gap:25px;padding-top:36px;padding-bottom:35px}.faq-intro{position:relative}.faq-word{display:none}.faq-intro>p:not(.section-label){font-size:10px;margin-top:14px}.faq-list{padding-top:0}summary{font-size:11px;padding:20px 0;gap:12px}summary>span{font-size:18px}details>p{font-size:11px;margin-left:29px;margin-right:10px}.faq-contact{flex-wrap:wrap}.final-cta{height:650px}.final-cta>.photo img{width:100%}.final-wash{background:linear-gradient(180deg,#d5e5f1d9,transparent 80%),linear-gradient(90deg,#d5e5f150,transparent)}.final-cta>.wrap{padding-top:34px}.final-cta h2{font-size:41px}.final-cta .wrap>p:not(.section-label){font-size:11px}.final-cta .button{width:255px}.footer-top{padding-top:27px;padding-bottom:32px;gap:20px}.footer-top span{font-size:9px;max-width:180px;text-align:right}.footer-main{grid-template-columns:1fr 1fr;gap:30px 18px;padding-bottom:35px}.footer-brand{grid-column:1 / -1;font-size:29px}.footer-brand>span{margin-top:15px;font-size:10px}.footer-column{border-left:0;padding-left:0}.footer-column h3{font-size:12px}.footer-contact{grid-column:1 / -1;border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.footer-contact h3{font-size:23px}.footer-contact .button{max-width:300px}.footer-bottom{padding:40px 0}.back-top{right:25px;top:0}dialog{padding:35px 24px}dialog h2{font-size:26px}#detail-photo{height:230px}.contact-status{padding:16px}.contact-status p br{display:none}}
.hero-note{display:none}.final-cta>.photo{left:25%}.final-wash{background:linear-gradient(90deg,#e4e8e7 0%,#e4e8e7 26%,#e4e8e7cf 36%,transparent 67%)}
@media(max-width:760px){.final-cta>.photo{left:0}.final-wash{background:linear-gradient(180deg,#e4e8e7fa 0%,#e4e8e7ed 25%,#e4e8e755 60%,transparent 90%)}}
@media(max-width:760px){.service .section-heading h2{font-size:26px;letter-spacing:0}}

/* Font Awesome Free 6.7.2 — self-hosted official SVG icons. */
.mobile-nav{max-height:calc(100dvh - 70px);overflow-y:auto}
.fa-icon{display:inline-block;width:1em;height:1em;fill:currentColor;flex-shrink:0;vertical-align:-.125em;pointer-events:none}
.menu-toggle{font-size:22px;line-height:1}
.menu-toggle .fa-icon{width:22px;height:22px}
.menu-close-icon,.menu-toggle[aria-expanded="true"] .menu-open-icon{display:none}
.menu-toggle[aria-expanded="true"] .menu-close-icon{display:inline-block}
summary i{display:flex;align-items:center;color:#829599}
.faq-minus,details[open] .faq-plus{display:none}
details[open] .faq-minus{display:inline-block}
.compare-arrow .fa-icon{width:.65em;height:.65em;vertical-align:0}
.dialog-close{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:23px}
.status-dot{width:7px;height:7px}

/* Responsive image delivery: real images, reserved aspect ratios, device-specific crops. */
.photo picture{display:block;width:100%;height:100%;overflow:hidden}
.photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--photo-position,50% 50%)}
.hero{--hero-gutter:max(64px,calc((100vw - 1152px)/2));display:flex;flex-direction:column;justify-content:space-between;height:auto;min-height:clamp(620px,56vw,800px);max-height:none;padding-bottom:40px}
/* Keep the scroll marker in the content flow so it cannot overlap the copy. */
.hero-copy{max-width:none;width:min(100%,calc(var(--hero-gutter) + 600px));padding-left:var(--hero-gutter)}
.hero-bottom{position:relative;inset:auto;align-self:flex-start;margin:32px 0 0 var(--hero-gutter)}
.hero-photo{--photo-position:55% 50%}
.service-card .photo img,.sign-tile .photo img{transition:transform .5s}
.service-card:hover .photo img,.sign-tile:hover .photo img{transform:scale(1.025)}
.service-card{height:clamp(460px,46vw,650px)}
.work-comparison figure{height:auto;min-width:0;aspect-ratio:4/3}
.work-comparison{align-self:start;grid-template-columns:repeat(2,minmax(0,1fr))}
.compare-arrow{left:50%}
.small-work>.photo{height:auto;aspect-ratio:3/2;align-self:start}
.support-cards .photo{height:auto;aspect-ratio:340/155}
.support-cards .photo img{object-fit:contain}
.about-grid .photo,.flow-grid .photo{height:auto;aspect-ratio:4/3}
.about-hero>.photo{--photo-position:60% 50%}
.sign-grid{grid-template-rows:clamp(230px,24vw,300px) clamp(190px,20vw,250px)}
.sign-tile{min-height:0}
[data-photo="sign-projecting"]{--photo-position:50% 20%}
[data-photo="sign-window"]{--photo-position:40% 50%}
[data-photo="sign-wayfinding"]{--photo-position:50% 40%}
.final-cta{height:clamp(600px,56vw,800px)}
.final-cta>.photo{--photo-position:58% 50%}
#detail-photo{height:auto;aspect-ratio:var(--detail-ratio,4/3);margin:24px auto;max-width:100%}
#detail-photo img{object-fit:contain}
@media(min-width:761px) and (max-width:1050px){
 .header{gap:18px}.header nav{gap:12px}.header-cta{padding:10px 12px}
 .hero{--hero-gutter:40px}
 .hero-copy{padding-top:80px}
 .hero-wash{background:linear-gradient(90deg,var(--paper) 0%,#f5f3eeed 25%,#f5f3ee6b 48%,transparent 72%)}
 .service-copy{padding:30px 26px}.service-copy h3{font-size:48px}
 .service-copy .button{min-width:0;width:100%;max-width:270px;padding:12px 15px}
 .work-feature{grid-template-columns:1fr}.work-detail{display:block;max-width:620px}
 .about h2{font-size:43px}.about-grid{gap:16px}.about-grid article{padding-right:10px}
}
@media(max-width:760px){
 .hero{display:flex;flex-direction:column;height:auto;min-height:0;max-height:none;overflow:hidden;padding-bottom:0}
 .hero-copy{order:0;padding:35px 24px 30px;width:100%;background:var(--paper)}
 .hero-photo{order:1;position:relative;inset:auto;width:100%;height:auto;aspect-ratio:4/5}
 .hero-wash{display:none}.hero-bottom{position:absolute;bottom:18px;left:24px;margin:0}
 .hero h1{font-size:clamp(34px,10.4vw,58px)}
 .hero .intro{font-size:12px}.hero-actions{width:min(100%,320px)}
 .hero-actions .button{min-height:49px}
 .service-card{height:auto;aspect-ratio:4/5;min-height:430px;max-height:740px}
 .service-shade{background:linear-gradient(180deg,#e4e8e7f5 0%,#e4e8e7bb 35%,transparent 70%)}
 .renewal .service-shade{background:linear-gradient(180deg,#0e1f28f0 0%,#0e1f28c4 36%,#0e1f2822 78%)}
 .service-copy .button{min-width:0;max-width:100%}
 .work-comparison figure{height:auto;aspect-ratio:4/3}
 .small-work>.photo{height:auto;aspect-ratio:4/3}
 .support-heading{height:auto;display:flex;flex-direction:column}
 .support-heading>.wrap{order:0;width:100%;padding-top:32px;padding-bottom:25px}
 .support-heading>.photo{order:1;position:relative;inset:auto;width:100%;height:auto;aspect-ratio:16/10}
 .support-heading::after{display:none}
 .support-cards .photo{height:auto;aspect-ratio:340/155;width:100%}
 .sign-grid{grid-template-rows:none;grid-auto-rows:auto}
 .sign-tile .photo{height:auto;flex:none;aspect-ratio:1/1}
 .tile-main .photo,.sign-tile:last-child .photo{aspect-ratio:4/3}
 .tile-wide{grid-column:1 / -1}.tile-wide .photo{aspect-ratio:4/3}
 .about-hero{display:flex;flex-direction:column;height:auto}
 .about-hero>.wrap{order:0;width:100%;padding-top:34px;padding-bottom:30px}
 .about-hero>.photo{order:1;position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1/1}
 .about-overlay{display:none}
 .about h2{font-size:clamp(32px,9vw,48px)}
 .about-grid .photo,.flow-grid .photo{height:auto;aspect-ratio:4/3}
 .final-cta{display:flex;flex-direction:column;height:auto;max-height:none;background:#e4e8e7}
 .final-cta>.wrap{order:0;width:100%;padding:36px 24px 32px}
 .final-cta>.photo{order:1;position:relative;inset:auto;width:100%;height:auto;aspect-ratio:3/4}
 .final-wash{display:none}.final-cta h2{font-size:clamp(34px,10vw,50px)}
 .final-cta .button{width:min(100%,320px)}
 .button{max-width:100%}.flow-cta .outline{margin-left:0}.flow-cta>div{display:flex;flex-wrap:wrap;gap:10px}
 .flow-cta p{width:100%;margin-bottom:5px}.consult-strip{gap:15px}
 .section-heading h2,.support-heading h2{overflow-wrap:anywhere;text-wrap:balance}
 .service .section-heading h2{font-size:clamp(22px,6.5vw,28px)}
 .about-grid,.flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .flow-title{flex-wrap:wrap;gap:5px 10px;min-height:57px;align-content:start}
 .flow-title h3{font-size:11px}.flow-grid article>p{font-size:10px}
}
@media(max-width:360px){
 .wrap{padding-left:18px;padding-right:18px}.hero-copy{padding-left:18px;padding-right:18px}
 .service-copy{padding:24px 20px}.service-copy h3{font-size:46px}.service-copy h4{font-size:23px}
 .strip-serif{display:none}.support-heading h2{font-size:24px}
 .footer-contact .button{width:100%}.faq-contact .button{width:100%}
}
@media(max-width:760px){
 .service-card{display:flex;flex-direction:column;aspect-ratio:auto;min-height:0;max-height:none}
 .service-card>.photo{order:1;position:relative;inset:auto;height:auto;width:100%;aspect-ratio:4/5}
 .service-card .service-copy{order:0;background:#e4e8e7;padding-bottom:30px}
 .service-card.renewal .service-copy{background:#385663}
 .service-card .service-shade{display:none}
}
