/* M4/M5専用の視覚層。M3/P3には適用しない。 */
body.theme-m4{--paper:#07131f;--surface:#102437;--soft:#14334a;--ink:#eafaff;--muted:#9ab9c6;--accent:#4de0d2;--accent-contrast:#062023;--line:#315268;--deep:#07131f;--deep-text:#eafaff;--serif:Arial,sans-serif;color-scheme:dark;font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
body.theme-m5{--paper:#f5f1e9;--surface:#fffdf8;--soft:#ebe6dc;--ink:#20221f;--muted:#60645f;--accent:#d0442e;--accent-contrast:#fff;--line:#c8c3b8;--deep:#262923;--deep-text:#fffaf0;--serif:"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;color-scheme:light;font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
:is(.theme-m4,.theme-m5) :focus-visible{outline-color:var(--accent)}
:is(.theme-m4,.theme-m5) .section{position:relative;overflow:hidden}
:is(.theme-m4,.theme-m5) .eyebrow{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.27em}
:is(.theme-m4,.theme-m5) .section-heading h2{font-weight:800;line-height:1.25;letter-spacing:-.055em;font-size:clamp(36px,4.6vw,72px)}
:is(.theme-m4,.theme-m5) .section-lead{max-width:610px}
:is(.theme-m4,.theme-m5) .button{border-radius:0;min-height:58px;transition:transform .35s cubic-bezier(.2,.8,.2,1),background .25s,color .25s;position:relative;overflow:hidden}
:is(.theme-m4,.theme-m5) .button:hover{transform:translateY(-4px)}
:is(.theme-m4,.theme-m5) .text-link{font-weight:800;letter-spacing:.02em;text-underline-offset:6px}
:is(.theme-m4,.theme-m5) .site-header{backdrop-filter:blur(22px)}
.theme-m4 .demo-banner{background:#020a13;color:#9ed6dd;border-bottom:1px solid #315268}
.theme-m4 .site-header{background:#07131fea;border-color:#315268;color:#eafaff}
.theme-m4 .brand b{font-family:Arial,sans-serif;font-size:17px;font-weight:800;letter-spacing:.08em}
.theme-m4 .brand small{color:#4de0d2}
.theme-m4 .desktop-nav a{font-size:12px;letter-spacing:.03em}
.theme-m4 .header-contact{background:#4de0d2;color:#062023}
.theme-m4 .menu-toggle{border-color:#4de0d2}
.theme-m4 .mobile-menu{background:#0b1d2e}
.theme-m4 .mobile-actions{background:#091b29;border-color:#315268}
.theme-m4 .mobile-actions a:first-child{color:#061b20;background:#4de0d2}
.theme-m5 .demo-banner{background:#222722;color:#f1ece4}
.theme-m5 .site-header{background:#f5f1e9ed;border-color:#c8c3b8}
.theme-m5 .brand b{font-family:Arial,sans-serif;font-size:17px;letter-spacing:-.03em;font-weight:900}
.theme-m5 .brand small{letter-spacing:.1em}
.theme-m5 .desktop-nav a{font-size:12px;text-transform:uppercase}
.theme-m5 .header-contact{background:#20221f;color:#fff}
.theme-m5 .mobile-actions{background:#f5f1e9;border-color:#c8c3b8}
.theme-m5 .mobile-actions a:first-child{background:#20221f;color:#fff}
/* Hero systems */
.modern-hero{min-height:min(820px,calc(100svh - 100px));position:relative;isolation:isolate;overflow:hidden}
.modern-hero-image{position:absolute;inset:0;background-size:cover;background-position:center;z-index:-3}
.modern-hero-grid{position:absolute;inset:0;z-index:-1;pointer-events:none}
.modern-hero-content{position:relative;min-height:inherit;display:flex;flex-direction:column;padding-block:80px 35px}
.modern-hero-title{display:grid;grid-template-columns:100px 1fr;align-items:start}
.modern-index{font:700 11px Arial,sans-serif;letter-spacing:.17em;padding-top:22px}
.modern-hero h1{font-size:clamp(58px,6.8vw,112px);font-weight:900;letter-spacing:-.09em;line-height:1.12;margin:0;max-width:1100px}
.modern-hero h1 em{font-style:normal}
.modern-hero-bottom{display:grid;grid-template-columns:minmax(0,440px) 1fr;gap:8%;align-items:end;margin-top:auto;padding-top:40px}
.modern-hero-bottom .lead{font-size:16px;max-width:440px;line-height:1.9;margin:0}
.modern-hero-bottom .hero-actions{justify-content:flex-end;margin:0}
.modern-hero-meta{display:flex;gap:15px;align-items:center;margin-top:48px;padding-top:18px;border-top:1px solid currentColor;font-size:11px;letter-spacing:.12em}
.modern-hero-meta span{padding-right:15px;border-right:1px solid currentColor}
.modern-hero-meta small{margin-left:auto;font-size:11px}
.modern-coordinate{position:absolute;right:12%;top:35%;z-index:0;pointer-events:none}
.coordinate-dot{display:block;width:22px;height:22px;border-radius:50%;border:2px solid currentColor;box-shadow:0 0 0 25px #4de0d220,0 0 0 50px #4de0d214;animation:coordinatePulse 3s ease-in-out infinite}
.coordinate-dot:after{content:"";position:absolute;inset:7px;border-radius:50%;background:currentColor}
.coordinate-label{display:block;font:700 10px Arial,sans-serif;letter-spacing:.15em;margin:20px 0 0 -70px}
@keyframes coordinatePulse{50%{box-shadow:0 0 0 40px #4de0d212,0 0 0 80px #4de0d208}}
.theme-m4 .modern-hero{background:#07131f;color:#fff}
.theme-m4 .modern-hero-image{background-image:linear-gradient(90deg,#04101de8 0%,#061522b2 43%,#07131f35 100%),url('../assets/m4-tech-hero.jpg')}
.theme-m4 .modern-hero-grid{background-image:linear-gradient(#4de0d21c 1px,transparent 1px),linear-gradient(90deg,#4de0d21c 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,#000,transparent 80%)}
.theme-m4 .modern-hero-content>.eyebrow{color:#4de0d2}
.theme-m4 .modern-hero h1 em{color:#4de0d2}
.theme-m4 .modern-hero .lead{color:#c1dce5}
.theme-m4 .modern-index,.theme-m4 .modern-hero-meta{color:#85c6d0}
.theme-m4 .modern-coordinate{color:#4de0d2}
.theme-m4 .modern-hero .button.ghost{border-color:#9ec8d1;color:#fff}
.theme-m5 .modern-hero{background:#e9e3d8;color:#20221f;min-height:780px}
.theme-m5 .modern-hero-image{inset:26% 0 0 21%;background-image:linear-gradient(90deg,#e9e3d8aa,#e9e3d800 32%),url('../assets/m5-editorial-hero.jpg');background-position:center;clip-path:inset(0 0 0 0)}
.theme-m5 .modern-hero-grid{background:linear-gradient(90deg,#e9e3d8 0%,transparent 47%),linear-gradient(0deg,#20221f85 0%,transparent 35%)}
.theme-m5 .modern-hero-content{padding-block:55px 35px}
.theme-m5 .modern-hero h1{font-size:clamp(64px,8.5vw,136px);max-width:1120px;line-height:1.08;mix-blend-mode:multiply}
.theme-m5 .modern-hero h1 em{display:inline-block;color:#d0442e;transform:translateX(5vw)}
.theme-m5 .modern-index{color:#d0442e}
.theme-m5 .modern-hero-bottom{background:#f5f1e9e8;max-width:920px;margin-left:auto;padding:30px 35px;grid-template-columns:1fr .8fr;gap:25px;backdrop-filter:blur(9px)}
.theme-m5 .modern-hero-bottom .lead{color:#20221f;font-size:15px}
.theme-m5 .modern-hero-meta{border-color:#20221f73;margin-top:25px}
.theme-m5 .modern-coordinate{top:auto;right:7%;bottom:17%;color:#d0442e}
.theme-m5 .coordinate-dot{box-shadow:none}
.theme-m5 .coordinate-label{display:none}
/* Interior hero: two different spatial structures */
:is(.theme-m4,.theme-m5) .modern-page-hero{position:relative}
:is(.theme-m4,.theme-m5) .modern-page-hero .page-hero-grid{min-height:540px;position:relative}
:is(.theme-m4,.theme-m5) .modern-page-hero .page-hero-copy{position:relative;z-index:2}
:is(.theme-m4,.theme-m5) .modern-page-hero h1{font-weight:900;letter-spacing:-.07em;font-size:clamp(50px,5.5vw,82px);line-height:1.18}
:is(.theme-m4,.theme-m5) .modern-page-hero .page-hero-photo{height:390px}
:is(.theme-m4,.theme-m5) .modern-page-hero .page-hero-photo img{width:100%;height:100%;object-fit:cover}
.modern-page-number{position:absolute;bottom:18px;left:max(36px,calc((100vw - 1240px)/2));font:700 10px Arial,sans-serif;letter-spacing:.22em}
.theme-m4 .modern-page-hero{background:radial-gradient(circle at 72% 20%,#1b4764 0%,#091b2b 44%,#07131f 80%);color:#fff}
.theme-m4 .modern-page-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#4de0d216 1px,transparent 1px),linear-gradient(90deg,#4de0d216 1px,transparent 1px);background-size:64px 64px}
.theme-m4 .modern-page-hero .page-hero-photo{clip-path:polygon(9% 0,100% 0,100% 89%,91% 100%,0 100%,0 10%);border:1px solid #4de0d2}
.theme-m4 .modern-page-hero .page-hero-photo img{filter:saturate(.7) contrast(1.1)}
.theme-m4 .modern-page-hero .lead{color:#bdd6df}
.theme-m5 .modern-page-hero{background:#e9e4da;color:#20221f}
.theme-m5 .modern-page-hero .page-hero-grid{grid-template-columns:1.1fr .9fr;gap:0}
.theme-m5 .modern-page-hero .page-hero-copy{padding:60px 6vw 80px 0}
.theme-m5 .modern-page-hero .page-hero-photo{height:510px;align-self:end;margin-top:0}
.theme-m5 .modern-page-hero .page-hero-photo img{filter:saturate(.7);clip-path:inset(0 0 0 0)}
.theme-m5 .modern-page-hero h1{font-size:clamp(55px,6.5vw,100px)}
.theme-m5 .modern-page-hero .lead{color:#4d514b}
.theme-m5 .modern-page-number{color:#d0442e}
/* Systems shared by every content page */
:is(.theme-m4,.theme-m5) .anchor-nav{border-block:1px solid var(--line);background:var(--surface)}
:is(.theme-m4,.theme-m5) .anchor-nav a{font-size:12px;letter-spacing:.04em}
:is(.theme-m4,.theme-m5) .issue-grid>a,:is(.theme-m4,.theme-m5) .scenario-grid article,:is(.theme-m4,.theme-m5) .comparison-grid article{transition:transform .35s ease,background .35s ease,border-color .35s ease}
:is(.theme-m4,.theme-m5) .issue-grid>a:hover,:is(.theme-m4,.theme-m5) .scenario-grid article:hover,:is(.theme-m4,.theme-m5) .comparison-grid article:hover{transform:translateY(-6px);border-color:var(--accent)}
.theme-m4 .tone-section{background:#0c2235}
.theme-m4 .issues-section,.theme-m4 .work-section,.theme-m4 .flow-preview,.theme-m4 .home-faq{background:#07131f}
.theme-m4 .fees-preview,.theme-m4 .approach-section,.theme-m4 .trust-preview{background:#0b2031}
.theme-m4 .issue-grid>a{background:#102b3f;border:1px solid #315268;position:relative;overflow:hidden}
.theme-m4 .issue-grid>a:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:#4de0d2;transform:scaleX(0);transform-origin:left;transition:transform .4s}
.theme-m4 .issue-grid>a:hover:after{transform:scaleX(1)}
.theme-m4 .work-grid{grid-template-columns:1.35fr 1fr 1fr;gap:1px;background:#315268;border:1px solid #315268}
.theme-m4 .work-card{background:#0d2334;border:0;box-shadow:none}
.theme-m4 .work-card-image{height:250px;clip-path:polygon(0 0,100% 0,100% 88%,0 100%)}
.theme-m4 .work-card:hover .work-card-image img{transform:scale(1.06);filter:saturate(1.3)}
.theme-m4 .work-card-image img{transition:transform .6s,filter .6s}
.theme-m4 .work-card-copy{padding:27px}
.theme-m4 .work-card h3{font-size:clamp(24px,2.3vw,35px)}
.theme-m4 .work-card-copy>span,.theme-m4 .work-card small{color:#4de0d2}
.theme-m4 .fees-preview-visual{background:#061625;border:1px solid #4de0d2}
.theme-m4 .process-preview article{border-top:1px solid #4de0d2}
.theme-m4 .trust-portrait,.theme-m4 .profile-placeholder{background:#123249;border:1px solid #4de0d2}
.theme-m4 .photo-frame img{filter:saturate(.72) contrast(1.06)}
.theme-m4 .parcel-diagram,.theme-m4 .building-graphic{background:#0a2032}
.theme-m5 .section{padding-block:clamp(86px,10vw,165px)}
.theme-m5 .section-heading{max-width:900px}
.theme-m5 .issues-section{background:#f5f1e9}
.theme-m5 .issue-grid{display:block;border-top:2px solid #20221f}
.theme-m5 .issue-grid>a{display:grid;grid-template-columns:80px 1fr 1fr 150px;align-items:center;gap:20px;min-height:130px;border:0;border-bottom:1px solid #a9a69f;background:transparent;padding:18px 0}
.theme-m5 .issue-grid>a span{font:700 13px Arial,sans-serif;color:#d0442e}
.theme-m5 .issue-grid h3{font-size:clamp(24px,2.5vw,37px);margin:0;letter-spacing:-.04em}
.theme-m5 .issue-grid p{margin:0;font-size:13px;line-height:1.6}
.theme-m5 .issue-grid b{text-align:right;font-size:12px}
.theme-m5 .issue-grid>a:hover{transform:translateX(10px);background:#ebe5d9}
.theme-m5 .work-section{background:#e9e3d8}
.theme-m5 .work-grid{grid-template-columns:1.2fr .8fr;gap:30px;align-items:start}
.theme-m5 .work-card{border:0;background:transparent;box-shadow:none;display:block}
.theme-m5 .work-card:nth-child(2){margin-top:140px}
.theme-m5 .work-card:nth-child(3){grid-column:1;max-width:65%;margin-left:15%}
.theme-m5 .work-card-image{height:350px;overflow:hidden}
.theme-m5 .work-card:nth-child(2) .work-card-image{height:260px}
.theme-m5 .work-card-image img{height:100%;width:100%;object-fit:cover;filter:grayscale(.4);transition:transform .7s,filter .7s}
.theme-m5 .work-card:hover img{transform:scale(1.07);filter:grayscale(0)}
.theme-m5 .work-card-copy{padding:16px 0 0;border-top:1px solid #20221f}
.theme-m5 .work-card h3{font-size:clamp(28px,3vw,45px);letter-spacing:-.055em}
.theme-m5 .approach-section{background:#f5f1e9}
.theme-m5 .approach-grid{grid-template-columns:1.15fr .9fr;gap:0 8%}
.theme-m5 .approach-photo{grid-row:1/3;height:620px}
.theme-m5 .approach-copy{align-self:end}
.theme-m5 .approach-text{grid-column:2}
.theme-m5 .fees-preview{background:#222722;color:#fff}
.theme-m5 .fees-preview-grid{grid-template-columns:1.2fr .8fr}
.theme-m5 .fees-preview-visual{background:#30342d;color:#fff;border:1px solid #77796e}
.theme-m5 .flow-preview{background:#f5f1e9}
.theme-m5 .process-preview{gap:0;border-top:2px solid #20221f}
.theme-m5 .process-preview article{padding:22px;border-right:1px solid #aaa59a}
.theme-m5 .trust-preview{background:#e9e3d8}
.theme-m5 .trust-portrait,.theme-m5 .profile-placeholder{background:#d8d0c2;border:0}
.theme-m5 .home-faq{background:#f5f1e9}
.theme-m5 .tone-section{background:#ebe6dc}
.theme-m5 .photo-frame img{filter:saturate(.65)}
/* Semantic survey animation: line resolves while steps enter viewport */
.modern-process{position:relative;padding:110px 0;background:var(--paper);overflow:hidden}
.modern-process-intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid var(--line);padding-top:20px}
.modern-process-intro span{font:700 11px Arial,sans-serif;letter-spacing:.25em;color:var(--accent)}
.modern-process-intro p{font-size:clamp(17px,1.6vw,23px);line-height:1.7}
.modern-process-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:8%;align-items:center;margin-top:35px}
.modern-process-diagram{position:relative;aspect-ratio:1.25;background:var(--surface);border:1px solid var(--line);overflow:hidden}
.modern-process-diagram svg{width:100%;height:100%;fill:none}
.diagram-grid{stroke:var(--line);stroke-width:1}
.diagram-land{fill:color-mix(in srgb,var(--accent) 10%,transparent);stroke:var(--line);stroke-width:2}
.diagram-line{stroke:var(--accent);stroke-width:4;stroke-dasharray:1450;stroke-dashoffset:calc(1450 * (1 - var(--line-progress,0)));transition:stroke-dashoffset .15s linear}
.diagram-cross{stroke:var(--accent);stroke-width:1;opacity:calc(.12 + var(--line-progress,0) * .5)}
.modern-process-diagram circle{fill:var(--accent);opacity:calc(.15 + var(--line-progress,0) * .85)}
.diagram-caption{position:absolute;bottom:15px;right:18px;font:700 11px Arial,sans-serif;letter-spacing:.2em;color:var(--accent)}
.modern-process-step{border-top:1px solid var(--line);padding:25px 0;display:grid;grid-template-columns:55px 1fr;gap:0 15px;opacity:calc(.45 + var(--step-progress,0) * .55);transform:translateX(calc((1 - var(--step-progress,0)) * 20px))}
.modern-process-step>span{color:var(--accent);font:700 12px Arial,sans-serif}
.modern-process-step h3{font-size:22px;margin:0}
.modern-process-step p{grid-column:2;margin:4px 0 0;color:var(--muted);font-size:13px}
.theme-m5 .modern-process{background:#d0442e;color:#fff}
.theme-m5 .modern-process-intro span,.theme-m5 .diagram-caption,.theme-m5 .modern-process-step>span{color:#fff}
.theme-m5 .modern-process-diagram{background:#b63926;border-color:#fff9}
.theme-m5 .modern-process-grid{grid-template-columns:.9fr 1.1fr}
.theme-m5 .diagram-grid,.theme-m5 .diagram-land{stroke:#ffffff80}
.theme-m5 .diagram-line,.theme-m5 .diagram-cross{stroke:#fff}
.theme-m5 .modern-process-diagram circle{fill:#fff}
.theme-m5 .modern-process-step{border-color:#ffffff80}
.theme-m5 .modern-process-step p{color:#ffe2db}
/* Pricing: instrument panel versus editorial worksheet */
.theme-m4 .estimator-v4{background:#071b2b;border:1px solid #4de0d2;box-shadow:0 0 0 7px #4de0d20c,0 30px 80px #0007}
.theme-m4 .est-header{border-color:#315268}
.theme-m4 .est-header h2{font-size:clamp(35px,4vw,58px);letter-spacing:-.06em}
.theme-m4 .est-category button{border-color:#4de0d2;background:#0b283a;color:#eafaff;font:700 12px Arial,sans-serif;letter-spacing:.13em}
.theme-m4 .est-category button[aria-pressed=true]{background:#4de0d2;color:#07131f}
.theme-m4 .est-service-card{background:#10283b;border-color:#315268;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
.theme-m4 .est-service-card.is-active{background:#14394b;border-color:#4de0d2;box-shadow:inset 0 0 0 1px #4de0d2}
.theme-m4 .est-service-icon{font-family:Arial,sans-serif;background:#1c4857;color:#4de0d2}
.theme-m4 .est-result{background:#0b2233;border:1px solid #4de0d2;box-shadow:0 20px 60px #0005}
.theme-m4 .est-money{background:#103a47;border-left:4px solid #4de0d2}
.theme-m4 .est-money strong{color:#4de0d2;font-variant-numeric:tabular-nums}
.theme-m4 .est-option{background:#112d40;border-color:#315268;color:#eafaff}
.theme-m4 .est-option[aria-pressed=true]{background:#4de0d2;color:#07131f}
.theme-m4 .est-disclaimer{background:#0a1b2b;border-color:#315268}
.theme-m4 .est-empty,.theme-m4 .est-no-fields{background:#102c40}
.theme-m5 .estimate-intro{grid-template-columns:1fr 390px}
.theme-m5 .estimate-intro .section-heading h2{font-size:clamp(40px,5vw,72px)}
.theme-m5 .estimator-v4{background:transparent;border:0;box-shadow:none;padding:0}
.theme-m5 .est-header{border-top:5px solid #20221f;padding-top:20px}
.theme-m5 .est-header h2{font-size:clamp(36px,4vw,60px);font-weight:900;letter-spacing:-.07em}
.theme-m5 .est-category{gap:0;border-block:1px solid #20221f}
.theme-m5 .est-category button{border:0;border-right:1px solid #20221f;background:transparent;font-size:18px;text-align:left;flex:1}
.theme-m5 .est-category button[aria-pressed=true]{background:#d0442e;color:#fff}
.theme-m5 .est-main{grid-template-columns:1.25fr .75fr;gap:6%}
.theme-m5 .est-service-list{display:block}
.theme-m5 .est-service-card{width:100%;background:transparent;border:0;border-top:1px solid #20221f;min-height:82px;padding:15px 2px;grid-template-columns:46px 1fr 24px}
.theme-m5 .est-service-card:last-child{border-bottom:1px solid #20221f}
.theme-m5 .est-service-card.is-active{background:#ebe2d5;box-shadow:none;border-color:#d0442e}
.theme-m5 .est-service-card b{font-size:18px}
.theme-m5 .est-service-icon{background:none;font:800 30px Arial,sans-serif;color:#d0442e}
.theme-m5 .est-result{background:#20221f;color:#fff;border:0}
.theme-m5 .est-money{background:transparent;border:0;border-top:1px solid #fff;padding:20px 0}
.theme-m5 .est-money strong{color:#fff;font-size:clamp(34px,3.4vw,56px)}
.theme-m5 .est-money.range strong{font-size:clamp(23px,2.4vw,36px)}
.theme-m5 .est-disclaimer{background:#30332d;border-color:#77796e;color:#ddd}
.theme-m5 .est-result .eyebrow,.theme-m5 .est-money small{color:#f47c65}
.theme-m5 .est-result dt,.theme-m5 .est-next p,.theme-m5 .est-result-foot{color:#d2d1c8}
.theme-m5 .est-result .est-contact{background:#d0442e;color:#fff}
.theme-m5 .est-option{background:transparent;border-color:#a9a69f}
.theme-m5 .est-option[aria-pressed=true]{background:#20221f;color:#fff}
/* Form and article components */
.theme-m4 .contact-hero{background:#0c2a3d;color:#fff;background-image:linear-gradient(#4de0d216 1px,transparent 1px),linear-gradient(90deg,#4de0d216 1px,transparent 1px);background-size:70px 70px}
.theme-m5 .contact-hero{background:#d0442e;color:#fff}
:is(.theme-m4,.theme-m5) .contact-hero h1{font-size:clamp(54px,6vw,92px);line-height:1.15;font-weight:900;letter-spacing:-.07em}
.theme-m4 .contact-hero .lead,.theme-m5 .contact-hero .lead{color:#e9f5f4}
.theme-m4 .contact-form-wrap,.theme-m4 .contact-aside{background:#102a3c;border-color:#315268}
.theme-m4 input,.theme-m4 select,.theme-m4 textarea{background:#071b2b;color:#eafaff;border-color:#547288}
.theme-m4 input::placeholder,.theme-m4 textarea::placeholder{color:#92a7b4}
.theme-m4 .form-state{background:#102a3c}
.theme-m5 .contact-layout{grid-template-columns:1fr .7fr}
.theme-m5 .contact-form-wrap{background:#fffdf8;border-top:5px solid #20221f}
.theme-m5 .contact-aside{background:#e9e3d8;padding:35px}
.theme-m5 .form-state{background:#fffdf8}
:is(.theme-m4,.theme-m5) .faq-list details,:is(.theme-m4,.theme-m5) .land-service,:is(.theme-m4,.theme-m5) .building-service,:is(.theme-m4,.theme-m5) .timeline article{border-color:var(--line)}
.theme-m5 .faq-list summary{font-size:19px;font-weight:800}
.theme-m4 .case-box{background:#0f293b;border-color:#315268}
.theme-m5 .case-box{background:#ebe4d7;border:0;border-left:5px solid #d0442e}
.theme-m4 .cta-band{background:#4de0d2;color:#07131f}
.theme-m4 .cta-band .eyebrow{color:#07131f}
.theme-m4 .cta-band .button.light{background:#07131f;color:#fff}
.theme-m5 .cta-band{background:#20221f;color:#fff}
/* Mobile composition */
@media(max-width:1100px){.theme-m4 .work-grid,.theme-m5 .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-m5 .work-card:nth-child(2){margin-top:0}.theme-m5 .work-card:nth-child(3){grid-column:auto;max-width:none;margin-left:0}.theme-m5 .est-main{grid-template-columns:1fr}.theme-m5 .est-result{position:static}.modern-hero h1{font-size:clamp(55px,8vw,90px)}}
@media(max-width:760px){.modern-hero,.theme-m5 .modern-hero{min-height:690px}.modern-hero-content{padding-block:40px 25px}.modern-hero-title{display:block}.modern-index{display:block;padding:0 0 20px}.modern-hero h1,.theme-m5 .modern-hero h1{font-size:clamp(47px,10vw,76px);letter-spacing:-.075em}.modern-hero-bottom{display:block;margin-top:auto;padding-top:25px}.modern-hero-bottom .lead{font-size:14px}.modern-hero-bottom .hero-actions{justify-content:flex-start;margin-top:25px}.modern-hero-meta{margin-top:30px}.theme-m5 .modern-hero-image{inset:30% 0 0 0;background-position:64% center}.theme-m5 .modern-hero-grid{background:linear-gradient(#e9e3d8 0%,#e9e3d8b0 30%,transparent 55%),linear-gradient(0deg,#e9e3d8 0%,transparent 38%)}.theme-m5 .modern-hero h1 em{transform:none}.theme-m5 .modern-hero-bottom{max-width:none;margin-left:0;padding:20px;background:#f5f1e9ef}.theme-m5 .modern-coordinate{display:none}.modern-process-intro,.modern-process-grid{grid-template-columns:1fr}.modern-process-grid{gap:25px}.modern-process-diagram{max-width:600px}.theme-m5 .modern-process-grid{grid-template-columns:1fr}.theme-m5 .issue-grid>a{grid-template-columns:45px 1fr;gap:8px 15px}.theme-m5 .issue-grid p,.theme-m5 .issue-grid b{grid-column:2;text-align:left}.theme-m5 .work-grid,.theme-m4 .work-grid{grid-template-columns:1fr 1fr}.theme-m5 .approach-grid{grid-template-columns:1fr}.theme-m5 .approach-photo{grid-row:auto;height:420px}.theme-m5 .approach-text{grid-column:1}}
@media(max-width:650px){.modern-hero,.theme-m5 .modern-hero{min-height:calc(100svh - 90px);min-height:max(650px,calc(100svh - 90px))}.modern-hero-content{width:calc(100% - 42px)}.modern-hero h1,.theme-m5 .modern-hero h1{font-size:clamp(44px,11vw,60px)}.theme-m4 .modern-hero-image{background-image:linear-gradient(#061522aa,#061522b8),url('../assets/m4-tech-hero.jpg');background-position:65% center}.theme-m5 .modern-hero h1{max-width:330px}.theme-m5 .modern-hero-image{inset:33% 0 0 0}.modern-hero-bottom .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.modern-hero-bottom .button{font-size:12px;padding:10px}.modern-hero-meta{gap:7px;letter-spacing:0}.modern-hero-meta small{display:none}.modern-coordinate{right:20%;top:43%;transform:scale(.7)}.theme-m4 .modern-hero-grid{background-size:42px 42px}.modern-process{padding:70px 0}.modern-process-intro p{font-size:16px}.modern-process-step h3{font-size:18px}.modern-process-diagram{aspect-ratio:1.1}.theme-m4 .work-grid,.theme-m5 .work-grid{display:block;background:none;border:0}.theme-m4 .work-card,.theme-m5 .work-card{margin-bottom:28px}.theme-m4 .work-card-image,.theme-m5 .work-card-image,.theme-m5 .work-card:nth-child(2) .work-card-image{height:230px}.theme-m5 .section{padding-block:75px}.theme-m5 .issue-grid>a{min-height:0;padding:22px 0}.theme-m5 .issue-grid h3{font-size:24px}.theme-m5 .process-preview article{border-right:0;border-bottom:1px solid var(--line)}:is(.theme-m4,.theme-m5) .modern-page-hero .page-hero-grid{display:block;min-height:0;padding-block:40px 0}:is(.theme-m4,.theme-m5) .modern-page-hero h1{font-size:clamp(41px,10vw,56px)}:is(.theme-m4,.theme-m5) .modern-page-hero .page-hero-photo{height:260px;margin-top:35px}.theme-m5 .modern-page-hero .page-hero-copy{padding:10px 0 0}.theme-m5 .modern-page-hero .page-hero-photo{height:300px}.modern-page-number{display:none}.theme-m5 .est-category button{font-size:14px}.theme-m5 .est-money strong{font-size:37px}.theme-m5 .est-money.range strong{font-size:26px}.theme-m5 .contact-layout{grid-template-columns:1fr}.theme-m5 .contact-aside{padding:22px}}
@media(max-width:360px){.modern-hero h1,.theme-m5 .modern-hero h1{font-size:42px}.modern-hero-bottom .hero-actions{grid-template-columns:1fr}.theme-m5 .est-money strong{font-size:31px}.theme-m5 .est-money.range strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){.modern-coordinate,.modern-hero-image,.modern-hero h1,.diagram-line,.modern-process-step{animation:none!important;transition:none!important;transform:none!important}.diagram-line{stroke-dashoffset:0}.modern-process-step{opacity:1}}
@media(prefers-reduced-motion:no-preference){
.theme-m4 .modern-hero-title h1{animation:m4Title .8s cubic-bezier(.17,.67,.21,1) both}
.theme-m4 .modern-hero-bottom{animation:m4Bottom 1s .25s both}
.theme-m5 .modern-hero-title h1{animation:m5Title .9s cubic-bezier(.2,.8,.2,1) both}
.theme-m5 .modern-hero-image{animation:m5Image 1.2s cubic-bezier(.2,.8,.2,1) both}
::view-transition-old(root){animation:pageOut .22s ease both}
::view-transition-new(root){animation:pageIn .35s ease both}
}
@keyframes m4Title{from{clip-path:inset(0 100% 0 0);transform:translateY(20px)}to{clip-path:inset(0);transform:translateY(0)}}
@keyframes m4Bottom{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes m5Title{from{clip-path:inset(0 0 100% 0);transform:translateY(25px)}to{clip-path:inset(0);transform:translateY(0)}}
@keyframes m5Image{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}
@keyframes pageOut{to{opacity:.4;transform:translateY(-10px)}}
@keyframes pageIn{from{opacity:.4;transform:translateY(12px)}}
@media(max-width:360px){
:is(.theme-m4,.theme-m5) .header-inner{gap:4px;min-width:0}
:is(.theme-m4,.theme-m5) .brand{min-width:0;gap:6px}
:is(.theme-m4,.theme-m5) .brand b{font-size:11px;letter-spacing:-.04em;white-space:nowrap}
:is(.theme-m4,.theme-m5) .brand small{display:none}
:is(.theme-m4,.theme-m5) .header-actions{flex:0 0 39px}
:is(.theme-m4,.theme-m5) .menu-toggle{width:39px;height:39px}
:is(.theme-m4,.theme-m5) .modern-process-step{transform:none}
}
@media(prefers-reduced-motion:no-preference){
.theme-m5.motion-ready .work-section .section-heading h2{clip-path:inset(0 0 calc((1 - var(--editorial-progress,0))*105%) 0);transform:translateY(calc((1 - var(--editorial-progress,0))*28px));transition:clip-path .12s linear,transform .12s linear}
.theme-m5.motion-ready .work-section .work-card-image{clip-path:inset(calc((1 - var(--editorial-progress,0))*22%) 0 0 0);transition:clip-path .15s linear}
.theme-m5.motion-ready .modern-hero-image{transform:translateY(calc(var(--hero-scroll,0)*65px))}
.theme-m5 .work-card:hover h3{color:#d0442e;transform:translateX(8px)}
.theme-m5 .work-card h3{transition:color .35s,transform .35s}
}
.theme-m4 .estimate-section{background:#07131f}
.theme-m5 .estimate-section{background:#f5f1e9}
