:root{--ink:#202523;--muted:#646b65;--line:#dfe3dd;--paper:#fff;--soft:#f4f6f1;--accent:#dbf28b;--radius:22px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;color-scheme:light;scroll-behavior:smooth;scroll-padding-top:100px}*{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #748d35;outline-offset:5px}img,svg{display:block}button{border:0}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}h2{font-size:clamp(2rem,3.1vw,2.85rem);line-height:1.13;letter-spacing:-.045em}h3{font-size:1.4rem;line-height:1.28;letter-spacing:-.025em}.container{width:min(1240px,calc(100% - 80px));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:20px;z-index:30;padding:12px 18px;background:var(--accent)}.skip-link:focus{top:12px}.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{height:94px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;font-size:1.28rem;line-height:1.1;letter-spacing:-.045em;font-weight:700}.brand-mark{width:43px;height:43px}.brand-mark svg{width:100%;height:100%}.brand-sub{display:block;font-size:.75rem;font-weight:500;letter-spacing:.09em;line-height:1.4;margin-top:7px}.desktop-nav{display:flex;gap:29px;font-size:.875rem;color:#505750}.desktop-nav a:hover,.text-link:hover,.contact-secondary a:hover{text-decoration:underline;text-underline-offset:5px}.header-phone{font-size:1rem;font-weight:600;white-space:nowrap}.header-phone span{margin-left:8px}.menu-toggle,.mobile-nav{display:none}.hero{display:grid;grid-template-columns:1.06fr 1fr;gap:40px;padding-block:58px 45px;align-items:center}.eyebrow{font-size:.75rem;letter-spacing:.11em;font-weight:600;line-height:1.5}.hero .eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:26px}.small-cross{font-size:1.35rem;line-height:1;font-weight:400}.hero h1{font-size:clamp(3.1rem,4.8vw,4.5rem);line-height:1.07;letter-spacing:-.065em;font-weight:500}.accent-text{background:linear-gradient(transparent 78%,var(--accent) 78%);padding-bottom:1px}.hero-description{font-size:1.075rem;line-height:1.65;color:var(--muted);margin-top:25px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:32px}.button{min-height:55px;padding:15px 21px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:24px;font-size:.9rem;font-weight:500;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#39413b}.button-light{background:var(--accent);color:var(--ink)}.button-light:hover{background:#e8ff9c}.button span,.text-link span{font-size:1.2rem}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:.875rem}.hero-note{display:flex;gap:10px;align-items:flex-start;font-size:.875rem;line-height:1.5;color:var(--muted);margin-top:39px}.hero-note svg{width:19px;height:19px}.hero-visual{position:relative;isolation:isolate;height:532px;overflow:hidden;border-radius:var(--radius);background:#e6e9e3}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-visual:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.22),transparent 28%,transparent 55%,rgba(0,0,0,.25))}.image-topline{position:absolute;top:25px;left:26px;right:26px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff;z-index:1}.image-topline span{font-size:.75rem;letter-spacing:.08em;max-width:240px}.image-topline svg{width:27px;height:27px;flex-shrink:0}.image-caption{position:absolute;bottom:23px;left:23px;right:23px;padding:20px;background:rgba(255,255,255,.94);backdrop-filter:blur(15px);border:1px solid #fff;border-radius:15px;display:flex;align-items:center;gap:17px;z-index:1}.caption-icon{width:45px;height:55px;padding:8px;background:var(--accent);border-radius:10px;flex-shrink:0}.caption-icon svg{width:100%;height:100%}.image-caption strong{font-size:1rem;font-weight:500;display:block}.image-caption span span{display:block;color:var(--muted);font-size:.875rem;line-height:1.5;margin-top:4px}.service-strip{display:flex;justify-content:space-between;gap:20px;border-block:1px solid var(--line);padding-block:23px;font-size:.875rem;color:var(--muted)}.service-strip span:before{content:"+";font-size:1rem;color:#7d8f55;margin-right:12px}.section{padding-block:93px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-heading .eyebrow{margin-bottom:15px}.section-heading>p{font-size:1rem;color:var(--muted);line-height:1.6}.solutions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.solution-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px 20px;display:flex;flex-direction:column;transition:border-color .2s,background .2s}.solution-card:hover{border-color:#b5c899;background:#fafbf7}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px}.line-icon{width:35px;height:35px}.card-number{font-size:.75rem;color:#7b847b}.solution-card h3{font-size:1.3rem}.solution-card>p{color:var(--muted);font-size:1rem;margin-top:15px;line-height:1.6;flex-grow:1}.card-tags{display:flex;gap:7px;flex-wrap:wrap;margin-block:23px}.card-tags span{font-size:.75rem;background:var(--soft);border-radius:6px;padding:5px 9px;line-height:1.5}.card-link{border-top:1px solid var(--line);padding-top:17px;font-size:.875rem;display:flex;justify-content:space-between;gap:10px}.card-link span{font-size:1.2rem}.repair-banner{display:flex;align-items:center;gap:21px;margin-top:24px;background:var(--ink);color:#fff;padding:29px 30px;border-radius:var(--radius)}.repair-icon{width:44px;height:44px;flex-shrink:0;color:var(--accent)}.repair-icon svg{width:100%;height:100%}.repair-banner h3{font-size:1.25rem}.repair-banner p{font-size:.875rem;color:#bfc7c0;margin-top:8px}.repair-banner .button{margin-left:auto;flex-shrink:0}.process-section{background:var(--soft);padding-block:82px}.process-layout{display:grid;grid-template-columns:1fr 1.13fr;gap:80px}.process-intro .eyebrow{margin-bottom:20px}.process-intro>p:not(.eyebrow){font-size:1rem;color:var(--muted);margin-top:23px;max-width:345px}.process-intro .text-link{margin-top:26px}.steps{margin:0;padding:0;list-style:none}.steps li{display:flex;gap:24px;padding-block:27px;border-bottom:1px solid #d9dfd3}.steps li:first-child{padding-top:0}.steps li:last-child{border:0;padding-bottom:0}.step-num{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;background:#e6ebdf;border-radius:50%;font-size:.75rem;margin-top:1px}.steps h3{font-size:1.25rem}.steps p{color:var(--muted);font-size:1rem;margin-top:10px;line-height:1.6}.price-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:110px}.price-section .eyebrow{margin-bottom:19px}.price-description{font-size:1rem;max-width:450px;line-height:1.7;margin-top:21px;color:var(--muted)}.price-section .text-link{margin-top:23px}.price-card{padding:34px;border:1px solid #d7e5b5;border-radius:var(--radius);background:#f5f9eb}.price-card h3{font-size:1.75rem;line-height:1.15}.check-list{list-style:none;padding:0;margin:27px 0 22px;display:grid;gap:12px}.check-list li{font-size:1rem;display:flex;gap:10px}.check-list li:before{content:"✓";color:#4a611f}.card-footnote{font-size:.875rem;color:var(--muted);border-top:1px solid #dce5ca;padding-top:19px}.faq-section{display:grid;grid-template-columns:.65fr 1.35fr;gap:80px;border-top:1px solid var(--line);padding-top:76px}.faq-section .eyebrow{margin-bottom:20px}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:22px;font-size:1.075rem;line-height:1.4}.faq-list details:first-child summary{padding-top:0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{width:27px;height:27px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:300;transition:transform .2s;flex-shrink:0}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details p{color:var(--muted);font-size:1rem;padding:0 45px 23px 0;line-height:1.7}.contact-section{background:var(--accent);padding-block:72px}.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:75px;align-items:center}.contact-copy .eyebrow{margin-bottom:20px}.contact-copy h2{font-size:clamp(2rem,3.2vw,2.9rem)}.contact-copy>p:not(.eyebrow){font-size:1rem;margin-top:20px;color:#485239}.contact-signature{display:flex;align-items:center;gap:12px;margin-top:29px}.avatar{display:flex;align-items:center;justify-content:center;width:43px;height:43px;background:var(--ink);color:var(--accent);border-radius:50%;font-size:1rem}.contact-signature strong{display:block;font-weight:500;font-size:1rem}.contact-signature span span{display:block;font-size:.75rem;color:#485239}.contact-phone{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:clamp(1.6rem,2.7vw,2.35rem);letter-spacing:-.055em;white-space:nowrap;line-height:1.25;padding-bottom:16px;border-bottom:1px solid #b4ca6d}.contact-phone>span{font-size:1.65rem}.contact-label{display:block;font-size:.875rem;margin-block:15px 19px;color:#485239}.messenger-links{display:flex;gap:8px}.messenger-links a,.messenger-links button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:51px;padding:10px 13px;background:var(--ink);color:#fff;border-radius:9px;font-size:.875rem;flex:1;transition:background .2s;white-space:nowrap}.messenger-links a:hover,.messenger-links button:hover{background:#3c4931}.messenger-links svg{width:15px;height:15px}.messenger-links a>span:last-child,.messenger-links button>span:last-child{margin-left:auto}.messenger-symbol{font-size:.75rem;font-weight:bold;line-height:1;width:17px;height:17px;border:1px solid currentColor;border-radius:50%;display:flex;align-items:center;justify-content:center}.max-symbol{border-radius:6px}.contact-secondary{display:flex;align-items:center;gap:25px;flex-wrap:wrap;font-size:.875rem;margin-top:20px}.contact-secondary a{text-decoration:underline;text-underline-offset:4px}.contact-hint{font-size:.75rem;color:#485239;margin-top:23px;max-width:360px;line-height:1.6}.footer{padding-block:34px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand{display:block;font-size:1.1rem}.footer p,.footer>span{font-size:.875rem;color:var(--muted)}.mobile-contact-bar{display:none}dialog{width:min(480px,calc(100% - 32px));border:1px solid var(--line);border-radius:22px;padding:36px;color:var(--ink);box-shadow:0 20px 90px #0002}dialog::backdrop{background:#13201888;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:16px;top:10px;background:transparent;font-size:2rem;width:42px;height:42px}.dialog-close:hover{background:var(--soft);border-radius:50%}dialog .eyebrow{display:block;margin-top:15px}dialog h2{font-size:2rem;margin-block:14px 18px}dialog p{font-size:1rem;color:var(--muted)}.dialog-phone{font-size:1.65rem;display:block;letter-spacing:-.04em;margin-block:21px}.copy-phone{width:100%}.dialog-save{display:block;font-size:.875rem;text-align:center;text-decoration:underline;text-underline-offset:4px;margin-top:20px}.copy-status{min-height:22px;font-size:.875rem;margin-top:15px;text-align:center}body.dialog-open{overflow:hidden}[hidden]{display:none!important}
@media(min-width:1500px){.hero{padding-block:72px 52px}.hero-visual{height:565px}.hero h1{font-size:4.75rem}}@media(max-width:1150px){.container{width:calc(100% - 56px)}.desktop-nav{gap:18px}.hero{gap:25px}.hero-visual{height:500px}.hero h1{font-size:3.5rem}.hero-actions{gap:17px}.hero-actions .button{padding-inline:17px;gap:15px}.process-layout{gap:45px}.price-section{gap:55px}.contact-layout{gap:45px}.messenger-links{flex-wrap:wrap}.messenger-links a,.messenger-links button{padding:10px}.brand{font-size:1.18rem}.section-heading>p{max-width:280px}}@media(max-width:920px){.desktop-nav{display:none}.header-inner{height:80px}.hero h1{font-size:3rem}.hero-visual{height:470px}.hero-description{font-size:1rem}.desktop-break{display:none}.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.hero-note{margin-top:23px}.service-strip{flex-wrap:wrap;gap:16px 20px}.service-strip span{flex-basis:calc(50% - 10px)}.section{padding-block:68px}.section-heading{align-items:start}.solutions-grid{gap:12px}.solution-card{padding:22px 20px 18px}.solution-card h3{font-size:1.15rem}.solution-card>p{font-size:.9rem}.card-tags{margin-block:18px}.repair-banner{flex-wrap:wrap}.repair-banner .button{margin-left:65px}.process-layout{gap:30px;grid-template-columns:.9fr 1.1fr}.process-intro h2{font-size:2.3rem}.steps li{gap:15px}.steps h3{font-size:1.125rem}.step-num{width:32px;height:32px}.price-section{gap:30px}.price-card{padding:28px}.faq-section{gap:40px}.contact-layout{gap:30px;grid-template-columns:1fr 1fr}.contact-copy h2{font-size:2.1rem}.contact-phone{font-size:1.7rem}.messenger-links a,.messenger-links button{flex-basis:100%;justify-content:start;padding-inline:18px}.messenger-links a>span:last-child,.messenger-links button>span:last-child{margin-left:auto}.contact-hint{margin-top:17px}}
@media(max-width:680px){:root{scroll-padding-top:88px}.container{width:calc(100% - 40px)}.header-inner{height:75px;gap:12px}.brand{font-size:1.2rem}.brand-sub{font-size:.75rem;letter-spacing:.07em}.brand-mark{width:37px;height:37px}.header-phone{display:none}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;background:var(--soft);border-radius:10px}.menu-toggle span{height:1.5px;width:19px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.mobile-nav{padding:6px 20px 20px;display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#fff}.mobile-nav a{padding:9px 12px;background:var(--soft);border-radius:8px;font-size:1rem}.hero{grid-template-columns:1fr;gap:28px;padding-block:33px 26px}.hero .eyebrow{font-size:.75rem;margin-bottom:21px}.hero h1{font-size:clamp(2.6rem,9vw,3.7rem);letter-spacing:-.065em;line-height:1.08}.hero-description{font-size:1rem;margin-top:20px;max-width:410px}.hero-actions{flex-direction:row;align-items:center;gap:19px;margin-top:25px}.hero-actions .button{font-size:.85rem;gap:20px;padding-inline:17px}.hero-actions .text-link{font-size:.875rem}.hero-note{font-size:.875rem;margin-top:23px}.hero-note br{display:none}.hero-visual{height:370px;border-radius:19px}.hero-visual>img{object-position:50% 48%}.image-topline{top:20px;left:20px;right:20px}.image-topline span{font-size:.75rem}.image-caption{left:17px;right:17px;bottom:17px;padding:15px;gap:13px}.image-caption strong{font-size:1rem}.image-caption span span{font-size:.875rem}.image-caption span span br{display:none}.caption-icon{width:39px;height:47px}.service-strip{gap:15px 12px;padding-block:21px;font-size:.75rem}.service-strip span{flex-basis:calc(50% - 6px)}.service-strip span:before{margin-right:6px}.section{padding-block:55px}.section-heading{display:block;margin-bottom:25px}.section-heading>p{margin-top:18px;max-width:none;font-size:1rem}.section-heading>p br{display:none}.eyebrow{font-size:.75rem}h2{font-size:2.05rem}.solutions-grid{grid-template-columns:1fr;gap:14px}.solution-card{padding:24px}.card-top{margin-bottom:25px}.line-icon{width:33px;height:33px}.solution-card h3{font-size:1.4rem}.solution-card>p{font-size:1rem;margin-top:12px}.card-tags span{font-size:.75rem}.card-tags{margin-top:20px}.card-link{font-size:.9rem}.repair-banner{padding:24px;display:grid;grid-template-columns:1fr;gap:16px;margin-top:18px}.repair-banner .repair-icon{width:34px;height:34px}.repair-banner h3{font-size:1.3rem;max-width:290px}.repair-banner p{font-size:1rem}.repair-banner .button{margin-left:0;justify-self:start;margin-top:5px}.process-section{padding-block:53px}.process-layout{grid-template-columns:1fr;gap:35px}.process-intro h2{font-size:2.05rem}.process-intro h2 br:nth-of-type(1){display:none}.process-intro>p:not(.eyebrow){max-width:none;font-size:1rem}.process-intro>p:not(.eyebrow) br{display:none}.process-intro .text-link{margin-top:18px}.steps li{gap:17px;padding-block:23px}.step-num{width:34px;height:34px}.steps h3{font-size:1.15rem;padding-top:3px}.steps p{font-size:1rem}.price-section{grid-template-columns:1fr;gap:28px}.price-description{font-size:1rem}.price-card{padding:27px 24px}.price-card h3{font-size:1.75rem}.check-list li{font-size:1rem}.faq-section{grid-template-columns:1fr;gap:29px}.faq-section h2 br{display:none}.faq-list summary{font-size:1rem;padding-block:20px}.faq-list details p{font-size:1rem;padding-right:10px}.contact-section{padding-block:50px}.contact-layout{grid-template-columns:1fr;gap:32px}.contact-copy h2{font-size:2.1rem}.contact-copy>p:not(.eyebrow){font-size:1rem}.contact-signature{margin-top:24px}.contact-phone{font-size:clamp(1.6rem,7vw,2.15rem);padding-bottom:16px}.contact-label{font-size:.85rem}.messenger-links{flex-wrap:nowrap}.messenger-links a,.messenger-links button{flex:1;padding:13px 10px;font-size:.875rem;gap:7px}.messenger-links a>span:last-child,.messenger-links button>span:last-child{display:none}.messenger-links svg,.messenger-symbol{width:14px;height:14px;flex-shrink:0}.contact-secondary{font-size:.875rem;gap:24px}.contact-hint{font-size:.875rem;max-width:none}.footer{padding-block:27px 93px;flex-wrap:wrap;gap:20px}.footer p{order:3;flex-basis:100%;font-size:.875rem}.footer-brand .brand-sub{font-size:.75rem}.mobile-contact-bar{position:fixed;bottom:0;left:0;right:0;z-index:18;display:flex;gap:9px;padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(12px)}.mobile-contact-bar a{flex:1;text-align:center;border:1px solid var(--ink);border-radius:9px;padding:11px;font-size:.9rem;line-height:1.4}.mobile-contact-bar a:last-child{background:var(--ink);color:#fff}.mobile-contact-bar a span{margin-left:12px}dialog{padding:29px 23px}.dialog-phone{font-size:1.5rem}.dialog-close{top:7px;right:9px}}
@media(max-width:370px){.hero h1{font-size:2.65rem}.hero-actions{align-items:start;flex-direction:column;gap:16px}.service-strip{display:grid;grid-template-columns:1fr;gap:10px}.messenger-links{flex-direction:column}.messenger-links a,.messenger-links button{justify-content:center;min-height:47px}.contact-secondary{gap:16px}.hero-visual{height:330px}.brand{font-size:1.1rem}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media print{.header,.mobile-contact-bar,.hero-visual,dialog,.menu-toggle{display:none}.container{width:100%}.section{padding-block:25px}.hero{display:block}.hero h1{font-size:36px}.hero-actions,.card-link{display:none}.contact-section{background:#eee}.process-section{padding-block:25px}.footer{padding-bottom:0}}

/* Readable body copy and compact-screen branding. */
.solution-card>p,.steps p,.faq-list details p,.price-description,.process-intro>p:not(.eyebrow),.section-heading>p,.repair-banner p,.contact-copy>p:not(.eyebrow),dialog p{font-size:1rem}
.hero-visual>img{object-position:66% center}
.messenger-links a,.messenger-links button,.contact-secondary,.card-link,.text-link{font-size:.875rem}
@media(max-width:370px){.brand-mark{display:none}}

.image-topline{color:var(--ink)}.image-topline span{background:rgba(255,255,255,.95);padding:7px 10px;border-radius:6px}.image-topline svg{background:rgba(255,255,255,.95);padding:4px;border-radius:5px;width:31px;height:31px}

/* Portfolio supplied and confirmed by the owner. */
.works-section{border-top:1px solid var(--line);padding-top:72px}
.works-section .section-heading>p{max-width:340px}
.works-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.work-card{min-width:0}
.work-photo{position:relative;display:block;aspect-ratio:4/5;border-radius:17px;overflow:hidden;background:var(--soft);cursor:zoom-in}
.work-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .25s ease}
.work-photo:hover img{transform:scale(1.025)}
.work-expand{position:absolute;right:13px;bottom:13px;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--ink);font-size:1.25rem;box-shadow:0 2px 10px #0001}
.work-card figcaption{margin-top:13px;font-size:.875rem;line-height:1.45}
.works-note{margin-top:22px;font-size:.75rem;line-height:1.6;color:var(--muted)}
.gallery-dialog{width:min(900px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:16px 22px 18px;border:1px solid #49504a;border-radius:18px;background:var(--ink);color:#fff;overflow:auto}
.gallery-dialog::backdrop{background:#101612e8;backdrop-filter:blur(8px)}
.gallery-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:10px;font-size:.875rem;color:#d1d8d1}
.gallery-close,.gallery-controls button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:1px solid #566054;border-radius:50%;background:transparent;color:#fff;font-size:1.5rem}
.gallery-close:hover,.gallery-controls button:hover{background:#364031}
.gallery-close{font-size:1.8rem}
.gallery-figure{margin:0;text-align:center}
.gallery-figure img{width:100%;height:min(65dvh,740px);object-fit:contain;background:#181d19}
.gallery-figure figcaption{font-size:1rem;line-height:1.5;margin-top:15px}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px}
.gallery-controls>span{font-size:.875rem;color:#d1d8d1}
.gallery-dialog button:focus-visible{outline-color:var(--accent)}
@media(max-width:1150px){.desktop-nav{gap:17px}.works-grid{gap:14px}}
@media(max-width:920px){.works-section{padding-top:55px}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px}.work-photo{aspect-ratio:1/1.08}}
@media(max-width:680px){.mobile-nav a:last-child{grid-column:1/-1}.works-grid{gap:22px 13px}.work-photo{aspect-ratio:4/5;border-radius:12px}.work-expand{right:9px;bottom:9px;width:30px;height:30px}.work-card figcaption{margin-top:10px;font-size:.875rem}.works-note{margin-top:20px}.gallery-dialog{padding:12px 14px 15px;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.gallery-figure img{height:60dvh}.gallery-figure figcaption{font-size:.875rem}}
@media print{.works-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.work-expand,.gallery-dialog{display:none}}

/* Small, optional analytics notice. Both choices remain equally accessible. */
.footer-meta{display:flex;align-items:center;flex-wrap:wrap;gap:18px;font-size:.8rem;color:var(--muted)}
.analytics-link{padding:0;border:0;background:none;text-decoration:underline;text-underline-offset:3px;font-size:inherit;line-height:inherit}
.analytics-notice{position:fixed;right:20px;bottom:20px;z-index:25;width:min(430px,calc(100% - 40px));padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 35px #20252320}
.analytics-notice[hidden]{display:none}
.analytics-notice>p{margin:0 0 7px;font-weight:700;font-size:1rem}
.analytics-notice>span{display:block;font-size:.875rem;line-height:1.5;color:var(--muted)}
.analytics-actions{display:flex;gap:10px;margin-top:16px}
.analytics-actions button{flex:1;min-height:44px;padding:10px 12px;border:1px solid var(--ink);border-radius:8px;background:var(--paper);font-size:.875rem;font-weight:600}
.analytics-actions button:first-child{background:var(--accent)}
.analytics-actions button:hover{background:var(--soft)}
.analytics-dialog{width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto}
.analytics-dialog h2{font-size:1.5rem;margin:0 28px 20px 0}
.analytics-dialog p{font-size:.9375rem;line-height:1.55;margin:14px 0}
.analytics-dialog a{text-decoration:underline;text-underline-offset:3px}
#analytics-status{font-weight:700}
@media(max-width:680px){.analytics-notice{bottom:calc(82px + env(safe-area-inset-bottom));right:12px;width:calc(100% - 24px);padding:16px;max-height:calc(100dvh - 110px);overflow:auto}.footer-meta{font-size:.8rem;gap:12px;flex-wrap:wrap}.analytics-dialog{padding:28px 22px}}
@media print{.analytics-notice,.analytics-dialog,.analytics-link{display:none}}
