
:root { --ink:#17232b; --green:#294553; --deep:#122630; --lime:#e6c387; --paper:#f5f2eb; --cream:#e9e0d2; --clay:#b86845; --line:rgba(23,35,43,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; line-height:1.8; letter-spacing:.03em; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
.topline { height:30px; display:flex; align-items:center; justify-content:center; background:var(--deep); color:#fff; font-size:11px; letter-spacing:.18em; }
.site-header { height:86px; padding:0 4.2vw; display:flex; align-items:center; gap:4vw; border-bottom:1px solid var(--line); background:rgba(244,241,233,.94); position:sticky; top:0; z-index:20; backdrop-filter:blur(14px); }
.brand,.footer-brand { display:flex; align-items:center; gap:12px; margin-right:auto; }
.brand-mark { width:46px; height:46px; display:grid; place-items:center; border:1px solid var(--ink); border-radius:50%; font-family:serif; font-size:15px; letter-spacing:-.05em; }
.brand b,.footer-brand b { display:block; font:800 18px/1 Arial,sans-serif; letter-spacing:.18em; }
.brand small,.footer-brand small { display:block; margin-top:6px; font-size:10px; letter-spacing:.16em; }
nav { display:flex; gap:2.3vw; }
nav a { font-size:12px; font-weight:700; }
.header-cta { padding:15px 20px; background:var(--ink); color:#fff; border-radius:2px; font-size:12px; font-weight:700; }
.header-cta span,.button span { margin-left:18px; color:var(--lime); }

.hero { min-height:690px; display:grid; grid-template-columns:55% 45%; position:relative; overflow:hidden; border-bottom:1px solid var(--line); }
.hero-copy { padding:90px 5.5vw 72px 8vw; align-self:center; }
.eyebrow,.section-kicker { font:700 11px/1.3 Arial,sans-serif; letter-spacing:.22em; }
.eyebrow::before { content:""; display:inline-block; width:34px; border-top:2px solid var(--clay); margin:0 12px 3px 0; }
h1,h2 { margin:0; font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-weight:500; letter-spacing:-.05em; line-height:1.27; }
h1 { margin-top:25px; font-size:clamp(48px,5.4vw,82px); }
h1 em,h2 em { color:var(--green); font-style:normal; }
.hero-lead { margin:30px 0; font-size:15px; line-height:2.1; }
.hero-actions { display:flex; align-items:center; gap:28px; }
.button { display:inline-flex; min-height:58px; align-items:center; padding:0 25px; font-size:13px; font-weight:800; }
.button.primary { color:#fff; background:var(--green); }
.phone-link small,.phone-link b { display:block; }
.phone-link small { font-size:10px; color:#637068; }
.phone-link b { font:800 23px/1.3 Arial,sans-serif; letter-spacing:.04em; }
.microcopy { margin:20px 0 0; font-size:10px; color:#6c756f; }
.hero-visual { position:relative; min-height:690px; overflow:hidden; background:#d8d2c6; isolation:isolate; }
.hero-visual::before { content:""; position:absolute; inset:0; background:linear-gradient(135deg,rgba(255,255,255,.5),transparent 45%),repeating-linear-gradient(90deg,transparent 0 39px,rgba(24,37,31,.05) 40px); }
.sun { position:absolute; top:90px; right:65px; width:170px; height:170px; border-radius:50%; background:var(--lime); opacity:.95; }
.space-plan { position:absolute; left:7%; right:6%; bottom:135px; height:320px; }
.house { position:absolute; left:0; bottom:0; width:57%; height:280px; }
.roof { position:absolute; width:88%; height:150px; left:0; top:0; transform:skewY(-18deg); background:var(--green); box-shadow:25px 26px 0 rgba(23,35,43,.11); }
.wall { position:absolute; width:78%; height:185px; left:10%; bottom:0; display:flex; align-items:flex-end; gap:14px; padding:22px; background:#eee4d3; border:1px solid rgba(23,35,43,.28); }
.wall i { display:block; flex:1; height:72%; background:#2b4539; border:7px solid #b4825c; }
.wall i:nth-child(2) { height:100%; background:#d6c6aa; }
.shop { position:absolute; right:0; bottom:0; width:47%; height:235px; background:#ede4d6; border:1px solid rgba(23,35,43,.35); box-shadow:-15px 18px 0 rgba(23,35,43,.09); }
.awning { position:absolute; top:0; left:-7%; width:114%; height:48px; background:repeating-linear-gradient(90deg,var(--clay) 0 24px,#f4ead9 24px 48px); border-bottom:5px solid var(--green); transform:skewX(-7deg); }
.shopfront { position:absolute; left:10%; right:10%; bottom:0; height:165px; display:grid; grid-template-columns:1.35fr .65fr; gap:9px; }
.shopfront i { display:block; background:#314d58; border:6px solid #b47a5d; }
.shopfront i:last-child { background:#d4c1a8; }
.ground-lines { position:absolute; left:-10%; bottom:60px; width:120%; transform:rotate(-6deg); }
.ground-lines i { display:block; margin:18px 0; border-top:1px solid rgba(24,37,31,.25); }
.hero-note { position:absolute; right:7%; bottom:40px; display:flex; gap:10px; align-items:center; padding:12px 17px; background:var(--paper); font-size:11px; font-weight:800; }
.hero-note b { color:var(--clay); }
.hero-index { position:absolute; left:4.5vw; bottom:25px; font:800 11px Arial,sans-serif; writing-mode:vertical-rl; }
.hero-index span { color:#8a8f8c; }
.hero-visual .sun { animation:float-sun 7s ease-in-out infinite; }
.hero-visual .space-plan { animation:drift-space 9s ease-in-out infinite; }

.trust-strip { display:grid; grid-template-columns:repeat(4,1fr); background:#fff; border-bottom:1px solid var(--line); padding:0 7vw; }
.trust-strip>div { min-height:132px; display:flex; align-items:center; justify-content:center; gap:16px; border-right:1px solid var(--line); }
.trust-strip>div:first-child { border-left:1px solid var(--line); }
.trust-strip strong { font:500 32px "Yu Mincho",serif; color:var(--green); }
.trust-strip strong span { font-size:13px; }
.trust-strip p { font-size:11px; line-height:1.6; }

.section { padding:120px 7vw; }
.section-kicker { margin-bottom:55px; color:var(--green); }
.section-kicker span { margin-left:18px; color:#788079; font:600 11px sans-serif; letter-spacing:.08em; }
.section-kicker.light { color:var(--lime); }
.section-kicker.light span { color:rgba(255,255,255,.6); }
.section-heading { display:grid; grid-template-columns:1.25fr .75fr; gap:10vw; align-items:end; margin-bottom:65px; }
.section h2 { font-size:clamp(38px,4.1vw,62px); }
.section-heading p { margin:0; font-size:13px; line-height:2; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.service-card { min-height:440px; padding:25px; position:relative; overflow:hidden; display:flex; flex-direction:column; transition:transform .25s ease; }
.service-card:hover { transform:translateY(-6px); }
.service-card.sand { background:#e2d5bf; }.service-card.green { background:#cad3bd; }.service-card.clay { background:#deb8a2; }.service-card.blue { background:#c9d8d7; }
.service-number { font:700 10px Arial,sans-serif; letter-spacing:.15em; }
.service-art { height:175px; position:relative; margin:20px -25px 30px; border-block:1px solid rgba(24,37,31,.18); }
.service-art i { position:absolute; display:block; border:1px solid rgba(24,37,31,.45); background:rgba(255,255,255,.22); }
.service-art i:nth-child(1) { width:45%; height:65%; left:10%; bottom:0; }.service-art i:nth-child(2) { width:34%; height:86%; right:12%; bottom:0; transform:skewY(-18deg); }.service-art i:nth-child(3) { width:70%; border-width:1px 0 0; left:16%; top:30%; transform:rotate(-24deg); background:transparent; }
.service-card h3 { margin:0; font-size:21px; }.service-card p { margin:12px 0 22px; font-size:11px; line-height:1.9; }.service-card a { margin-top:auto; padding-top:15px; border-top:1px solid rgba(24,37,31,.3); font-size:11px; font-weight:800; }.service-card a span { float:right; }

.value { background:#e7e2d7; }
.value-panel { display:grid; grid-template-columns:45% 55%; background:var(--deep); color:#fff; }
.value-copy { padding:75px 6vw; background:linear-gradient(150deg,rgba(220,232,93,.08),transparent 60%); }
.value-copy h2 { font-size:clamp(40px,4.5vw,68px); }.value-copy>p { margin:30px 0 0; max-width:480px; color:rgba(255,255,255,.72); font-size:13px; line-height:2.1; }
.value-list { margin:0; padding:0; list-style:none; border-left:1px solid rgba(255,255,255,.14); }
.value-list li { min-height:145px; display:grid; grid-template-columns:70px 1fr; gap:12px; align-items:center; padding:25px 4vw; border-bottom:1px solid rgba(255,255,255,.14); }.value-list li:last-child { border-bottom:0; }.value-list li>span { color:var(--lime); font:700 10px Arial; }.value-list h3 { margin:0 0 7px; font-size:17px; }.value-list p { margin:0; color:rgba(255,255,255,.64); font-size:11px; }

.section-heading.compact { grid-template-columns:1fr 1fr; }
.inline-link { color:var(--clay); text-decoration:underline; text-underline-offset:4px; }
.blog { background:#eee9df; }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.blog-card { background:#fff; border:1px solid var(--line); min-height:430px; display:flex; flex-direction:column; overflow:hidden; }
.blog-thumb { height:210px; background:#d8d0c0; overflow:hidden; }
.blog-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.blog-thumb-placeholder { height:100%; display:grid; place-items:center; align-content:center; gap:7px; color:var(--green); background:linear-gradient(135deg,#d8cfbb,#b7c6bd); }
.blog-thumb-placeholder span { width:68px; height:68px; border:1px solid currentColor; border-radius:50%; display:grid; place-items:center; font:500 20px "Yu Mincho",serif; }
.blog-thumb-placeholder b { font:700 10px Arial,sans-serif; letter-spacing:.2em; }
.blog-card-body { padding:25px 25px 28px; }
.blog-card time { color:#7c847f; font:700 10px Arial,sans-serif; letter-spacing:.13em; }
.blog-card h3 { margin:13px 0 10px; font-size:21px; line-height:1.5; }
.blog-card p { margin:0; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow:hidden; white-space:pre-line; color:#5f6b65; font-size:11px; line-height:2; }
.blog-mail-note { margin:30px 0 0; color:#68746d; font-size:11px; text-align:right; }
.blog-mail-note a { color:var(--green); font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.process-grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(4,1fr); border-block:1px solid var(--line); }
.process-grid li { min-height:260px; padding:35px 30px; border-right:1px solid var(--line); position:relative; }.process-grid li:last-child { border-right:0; }.process-grid li:not(:last-child)::after { content:"→"; position:absolute; right:-10px; top:50%; z-index:2; width:20px; height:20px; display:grid; place-items:center; background:var(--paper); color:var(--clay); }.process-grid span { font:700 11px Arial; color:var(--clay); }.process-grid h3 { margin:70px 0 12px; font-size:18px; }.process-grid p { margin:0; font-size:11px; line-height:1.9; color:#647067; }

.company { background:#d8d1c1; }
.company-card { display:grid; grid-template-columns:60% 40%; background:var(--green); color:#fff; }.company-card>div { padding:75px 7vw 70px; }.company-card>div>p { max-width:600px; color:rgba(255,255,255,.7); font-size:13px; }.company-card dl { margin:50px 0 0; font-size:11px; }.company-card dl div { display:grid; grid-template-columns:110px 1fr; gap:20px; padding:12px 0; border-top:1px solid rgba(255,255,255,.17); }.company-card dt { color:rgba(255,255,255,.55); }.company-card dd { margin:0; }.company-card aside { padding:75px 5vw; background:var(--lime); color:var(--ink); }.licence-label { font:700 10px Arial; letter-spacing:.17em; }.access-station { margin:70px 0 28px; font:500 22px/1.6 "Yu Mincho",serif; }.access-station strong { font-size:38px; }.map-art { height:190px; position:relative; overflow:hidden; border:1px solid rgba(23,35,43,.28); background:rgba(255,255,255,.25); }.map-art i { position:absolute; width:160%; left:-25%; border-top:1px solid rgba(23,35,43,.38); transform:rotate(-18deg); }.map-art i:nth-child(1){top:25%}.map-art i:nth-child(2){top:55%;transform:rotate(15deg)}.map-art i:nth-child(3){top:78%;transform:rotate(-4deg)}.map-art b { position:absolute; left:58%; top:42%; width:52px; height:52px; display:grid; place-items:center; border-radius:50% 50% 50% 0; transform:rotate(-45deg); background:var(--deep); color:#fff; font:700 12px sans-serif; }.map-art b { text-indent:0; }.map-link { display:block; margin-top:20px; padding-bottom:12px; border-bottom:1px solid rgba(23,35,43,.35); font-size:11px; font-weight:800; }.map-link span { float:right; }

.faq { background:#fff; }.faq-layout { display:grid; grid-template-columns:40% 60%; gap:8vw; }.faq-list details { border-top:1px solid var(--line); }.faq-list details:last-child { border-bottom:1px solid var(--line); }.faq-list summary { display:grid; grid-template-columns:34px 1fr 20px; gap:12px; padding:24px 0; cursor:pointer; list-style:none; font-size:13px; font-weight:700; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary span { color:var(--clay); font:bold 16px serif; }.faq-list summary i { font-style:normal; font-size:18px; transition:transform .2s; }.faq-list details[open] summary i { transform:rotate(45deg); }.faq-list details p { margin:-5px 0 25px 46px; font-size:11px; line-height:2; color:#5d6861; }

.contact { padding:120px 8vw; display:grid; grid-template-columns:40% 60%; gap:8vw; background:var(--deep); color:#fff; }.contact h2 { margin:0; font:500 clamp(38px,4vw,60px)/1.35 "Yu Mincho",serif; letter-spacing:-.05em; }.contact-intro>p { margin:28px 0; color:rgba(255,255,255,.7); font-size:13px; }.contact-phone { display:block; padding:20px 0; border-block:1px solid rgba(255,255,255,.2); }.contact-phone small,.contact-phone b,.contact-phone span { display:block; }.contact-phone small { font-size:10px; color:var(--lime); }.contact-phone b { font:700 34px Arial; letter-spacing:.03em; }.contact-phone span { font-size:10px; color:rgba(255,255,255,.6); }.contact-email { display:inline-block; margin-top:14px; padding-bottom:3px; border-bottom:1px solid rgba(255,255,255,.45); font:600 13px Arial,sans-serif; }.contact-intro ul { padding:0; list-style:none; margin:26px 0; }.contact-intro li { font-size:11px; margin:7px 0; }.contact-intro li::before { content:"✓"; color:var(--lime); margin-right:8px; }
.estimate-form { padding:45px 4vw; background:#fff; color:var(--ink); }.form-note { margin:0 0 25px; text-align:right; font-size:9px; }.form-note span,.estimate-form label b { color:#a3492f; font-size:9px; }.estimate-form label { display:block; margin:0 0 18px; font-size:11px; font-weight:700; }.estimate-form label b { margin-left:7px; }.estimate-form input,.estimate-form select,.estimate-form textarea { width:100%; margin-top:7px; padding:14px 15px; border:1px solid #d7d5cf; border-radius:0; background:#faf9f6; outline:none; font-size:12px; }.estimate-form input:focus,.estimate-form select:focus,.estimate-form textarea:focus { border-color:var(--green); box-shadow:0 0 0 2px rgba(36,78,61,.12); }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.estimate-form .consent { display:flex; align-items:center; justify-content:center; gap:8px; margin:25px 0 16px; font-size:10px; }.consent input { width:auto; margin:0; }.estimate-form button { width:100%; border:0; padding:19px; background:var(--green); color:#fff; font-weight:800; font-size:12px; cursor:pointer; }.estimate-form button span { float:right; color:var(--lime); }.mail-note { font-size:9px; color:#747b76; text-align:center; }

footer { padding:60px 7vw; display:grid; grid-template-columns:1.4fr 1.5fr 1fr auto; gap:40px; align-items:end; background:#13261e; color:#fff; border-top:1px solid rgba(255,255,255,.12); }.footer-brand { margin:0; }.footer-brand .brand-mark { border-color:rgba(255,255,255,.5); }.footer-brand small { color:rgba(255,255,255,.6); } footer>p { margin:0; font-size:10px; color:rgba(255,255,255,.65); }.footer-links { display:flex; gap:20px; font-size:10px; } footer>small { color:rgba(255,255,255,.4); font-size:9px; }.mobile-cta { display:none; }
.menu-toggle { display:none; border:0; background:transparent; width:44px; height:44px; padding:10px 8px; cursor:pointer; }.menu-toggle span { display:block; width:28px; height:1px; margin:6px 0; background:var(--ink); transition:transform .35s ease, opacity .25s ease; }.menu-toggle.is-open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }.menu-toggle.is-open span:nth-child(2) { opacity:0; }.menu-toggle.is-open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }.mobile-menu { display:none; }

@keyframes reveal-up { from { opacity:0; transform:translateY(32px) scale(.985); filter:blur(8px); } to { opacity:1; transform:translateY(0) scale(1); filter:blur(0); } }
@keyframes reveal-down { from { opacity:1; transform:translateY(0) scale(1); filter:blur(0); } to { opacity:0; transform:translateY(-18px) scale(.99); filter:blur(5px); } }
@keyframes float-sun { 0%,100% { transform:translate3d(0,0,0) scale(1); } 50% { transform:translate3d(-12px,15px,0) scale(1.035); } }
@keyframes drift-space { 0%,100% { transform:translate3d(0,0,0); } 50% { transform:translate3d(10px,-8px,0); } }
.motion-ready .reveal { opacity:0; transform:translateY(32px) scale(.985); filter:blur(8px); transition:opacity .65s ease, transform .8s cubic-bezier(.16,1,.3,1), filter .65s ease; will-change:opacity,transform,filter; }
.motion-ready .reveal.is-visible { opacity:1; transform:translateY(0) scale(1); filter:blur(0); }
.motion-ready .reveal:not(.is-visible) { transition-duration:.38s; transition-timing-function:cubic-bezier(.7,0,.84,0); }
.motion-ready .hero-copy-reveal { transition-delay:.1s; }.motion-ready .hero-visual-reveal { transition-delay:.22s; }
.motion-ready .delay-1,.motion-ready .delay-01 { transition-delay:.06s; }.motion-ready .delay-2,.motion-ready .delay-02 { transition-delay:.13s; }.motion-ready .delay-3,.motion-ready .delay-03 { transition-delay:.2s; }.motion-ready .delay-4,.motion-ready .delay-04 { transition-delay:.27s; }
.motion-ready .service-card.is-visible:hover { transform:translateY(-10px) scale(1.01); }

@media (max-width: 980px) {
  .site-header nav { display:none; }.site-header { padding:0 20px; height:72px; }.header-cta { display:none; }.menu-toggle { display:block; margin-left:8px; }
  .mobile-menu { display:block; position:fixed; inset:72px 0 0; z-index:19; visibility:hidden; opacity:0; pointer-events:none; background:rgba(18,38,48,.97); color:#fff; transform:translateY(-12px); transition:opacity .35s ease, transform .45s cubic-bezier(.16,1,.3,1), visibility .35s; overflow:auto; }.mobile-menu.is-open { visibility:visible; opacity:1; pointer-events:auto; transform:translateY(0); }.mobile-menu-inner { min-height:100%; padding:34px 8vw 48px; display:flex; flex-direction:column; }.mobile-menu-label { margin:0 0 25px; color:var(--lime); font:700 11px/1.3 Arial,sans-serif; letter-spacing:.22em; }.mobile-menu-label span { margin-left:12px; color:rgba(255,255,255,.5); font:500 11px/1.3 "Yu Gothic",sans-serif; letter-spacing:.08em; }.mobile-menu nav { display:block; }.mobile-menu nav a { display:flex; align-items:center; gap:15px; padding:17px 0; border-bottom:1px solid rgba(255,255,255,.16); font:500 21px/1.4 "Yu Mincho",serif; }.mobile-menu nav a span { width:25px; color:var(--lime); font:700 10px Arial,sans-serif; letter-spacing:.08em; }.mobile-menu nav a b { margin-left:auto; color:var(--lime); font:400 18px Arial,sans-serif; }.mobile-menu-cta { display:flex; justify-content:space-between; align-items:center; margin-top:34px; padding:17px 18px; background:var(--lime); color:var(--ink); font-size:12px; font-weight:800; }.mobile-menu-cta b { font-size:18px; }.mobile-menu-phone { display:flex; flex-direction:column; gap:2px; margin-top:22px; color:#fff; font:700 22px Arial,sans-serif; letter-spacing:.03em; }.mobile-menu-phone span { color:rgba(255,255,255,.55); font:10px "Yu Gothic",sans-serif; letter-spacing:.08em; } body.menu-is-open { overflow:hidden; }
  .hero { grid-template-columns:1fr; }.hero-copy { padding:70px 7vw 55px; }.hero-visual { min-height:500px; }.hero-index { display:none; }
  .trust-strip { grid-template-columns:1fr 1fr; padding:0 4vw; }.trust-strip>div { min-height:105px; border-bottom:1px solid var(--line); }.trust-strip>div:nth-child(odd) { border-left:1px solid var(--line); }
  .section { padding:85px 6vw; }.service-grid { grid-template-columns:1fr 1fr; }.section-heading,.section-heading.compact { grid-template-columns:1fr; gap:25px; }.value-panel,.company-card { grid-template-columns:1fr; }.value-list { border-left:0; border-top:1px solid rgba(255,255,255,.14); }.process-grid { grid-template-columns:1fr 1fr; }.process-grid li:nth-child(2) { border-right:0; }.process-grid li { border-bottom:1px solid var(--line); }.faq-layout,.contact { grid-template-columns:1fr; }.contact { gap:55px; }.faq-layout { gap:45px; } footer { grid-template-columns:1fr 1fr; }.blog-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 620px) {
  body { padding-bottom:58px; }.topline { font-size:9px; letter-spacing:.08em; }.brand-mark { width:40px; height:40px; font-size:13px; }.brand b { font-size:15px; }
  .hero { min-height:auto; }.hero-copy { padding:55px 6vw 45px; }.hero-copy h1 { font-size:43px; }.hero-lead { font-size:13px; }.desktop { display:none; }.hero-actions { align-items:stretch; flex-direction:column; gap:18px; }.button { justify-content:space-between; }.hero-visual { min-height:420px; }.sun { width:110px; height:110px; top:45px; right:25px; }.space-plan { left:4%; right:3%; bottom:90px; height:250px; }.house { bottom:0; height:220px; }.roof { height:120px; }.wall { height:145px; padding:15px; }.shop { height:180px; }.awning { height:36px; }.shopfront { height:125px; }.hero-note { right:4%; bottom:22px; }
  .trust-strip { padding:0; }.trust-strip>div { padding:12px; justify-content:flex-start; }.trust-strip strong { font-size:25px; }.trust-strip p { font-size:9px; }
  .section { padding:75px 5.5vw; }.section-kicker { margin-bottom:35px; }.section h2 { font-size:36px; }.service-grid { grid-template-columns:1fr; }.service-card { min-height:390px; }.value-copy { padding:55px 7vw; }.value-list li { grid-template-columns:45px 1fr; padding:25px 7vw; }.process-grid { grid-template-columns:1fr; }.process-grid li { min-height:210px; border-right:0; }.process-grid li::after { display:none; }.process-grid h3 { margin-top:50px; }.company-card>div,.company-card aside { padding:55px 7vw; }.company-card aside h3 { margin-top:55px; }.company-card dl div { grid-template-columns:85px 1fr; }.faq-list details p { margin-left:0; }.contact { padding:75px 5.5vw; }.estimate-form { padding:30px 5vw; }.form-row { grid-template-columns:1fr; gap:0; } footer { grid-template-columns:1fr; padding:50px 7vw; gap:25px; }.footer-links { flex-wrap:wrap; }.mobile-cta { position:fixed; z-index:30; left:0; right:0; bottom:0; height:58px; display:grid; grid-template-columns:36% 64%; box-shadow:0 -5px 20px rgba(0,0,0,.15); }.mobile-cta a { display:grid; place-items:center; background:#fff; color:var(--green); font-size:11px; font-weight:800; }.mobile-cta a:last-child { background:var(--lime); color:var(--ink); }.blog-grid { grid-template-columns:1fr; }.blog-thumb { height:190px; }.blog-mail-note { text-align:left; line-height:1.9; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } .motion-ready .reveal { opacity:1; transform:none; filter:none; } }
