:root{--accent:#f0d264;--dark:#22201c;--paper:#f7f3ea;--tint:#efe9da;--text:#34312b;--muted:#6f695d;--line:rgba(34, 32, 28, .18);--max:1180px;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--mono:ui-monospace, "SF Mono", "Cascadia Mono", Consolas, monospace}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--text);background:var(--paper)}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.08;color:var(--dark);margin:0 0 .5em;letter-spacing:-.01em}h1{font-size:clamp(2.5rem, 6.2vw, 4.6rem)}h2{font-size:clamp(1.8rem, 3.4vw, 2.6rem)}mark{background:linear-gradient(transparent 58%,var(--accent) 58% 92%,transparent 92%);color:inherit;padding:0 .05em}.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}.narrow{max-width:780px}.center{text-align:center}.label{font:600 .78rem/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 18px}.screen-reader-text,.skip-link:not(:focus){position:absolute;left:-9999px}.skip-link:focus{position:fixed;top:8px;left:8px;background:#fff;padding:8px 14px;z-index:100}:focus-visible{outline:3px solid var(--dark);outline-offset:3px}.site-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px}.brand{text-decoration:none;display:flex;flex-direction:column;gap:4px}.brand strong{font:700 1.25rem/1 var(--serif);color:var(--dark)}.brand small{font:600 .68rem/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.primary-nav{display:flex;align-items:center;gap:28px}.primary-nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}.primary-nav a{text-decoration:none;font-size:.95rem;font-weight:500}.primary-nav ul a:hover{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:3px;text-underline-offset:5px}.nav-toggle{display:none;background:none;border:1px solid var(--dark);padding:6px 14px;font:600 .8rem var(--mono);text-transform:uppercase;cursor:pointer;color:var(--dark)}.btn{display:inline-block;padding:14px 26px;font-weight:700;text-decoration:none;border:2px solid var(--dark);cursor:pointer;font:700 1rem/1.2 system-ui,sans-serif;transition:transform .15s,box-shadow .15s}.btn-primary{background:var(--accent);color:var(--dark);box-shadow:4px 4px 0 var(--dark)}.btn-primary:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--dark)}.btn-call{padding:9px 18px;font-size:.92rem;background:var(--dark);color:var(--paper)!important}.link-tel{font:600 1.05rem var(--mono);text-underline-offset:5px;text-decoration-color:var(--accent);text-decoration-thickness:3px}.hero{padding:72px 0 56px}.hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:end}.hero .lead{font-size:1.2rem;max-width:30em;color:var(--text)}.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin:32px 0 0}.hero-visual{margin:0}.hero-visual img,.hero-visual .plan{width:100%;aspect-ratio:4 / 5;object-fit:cover;border:2px solid var(--dark)}.hero-visual figcaption{display:flex;justify-content:space-between;gap:12px;padding-top:12px;font:500 .8rem var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.hero-visual b{color:var(--dark);font-size:1.05rem}.plan{display:block;background:linear-gradient(var(--line) 1px,transparent 1px) 0 0 / 32px 32px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0 / 32px 32px,var(--tint);position:relative}.plan::after{content:"";position:absolute;inset:14% 12% 18% 16%;border:2px solid var(--dark);background:repeating-linear-gradient(135deg,transparent 0 9px,rgb(34 32 28 / .22) 9px 10px)}.strip{background:var(--dark);color:var(--accent);font:500 .82rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.1em}.section{padding:88px 0}.section-tint{background:var(--tint)}.split{display:grid;grid-template-columns:1fr 2fr;gap:56px;align-items:start}.split-head{position:sticky;top:100px}.split-head p:not(.label){color:var(--muted)}.row-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:36px}.more{font-weight:600;text-underline-offset:5px;text-decoration-color:var(--accent);text-decoration-thickness:3px}.index{list-style:none;margin:0;padding:0;border-top:2px solid var(--dark)}.index li{border-bottom:1px solid var(--line)}.index a,.index li>div{display:grid;grid-template-columns:56px 1fr;column-gap:12px;padding:22px 0;text-decoration:none}.index .n{font:600 .85rem var(--mono);color:var(--muted);padding-top:8px;grid-row:span 2}.index .t{font:700 1.5rem/1.2 var(--serif);color:var(--dark)}.index .d{color:var(--muted)}.index a:hover .t{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:4px;text-underline-offset:5px}.works{display:grid;grid-template-columns:repeat(6,1fr);gap:32px 24px}.work{grid-column:span 2}.work:nth-child(1){grid-column:span 4}.work:nth-child(2){grid-column:span 2}.work:nth-child(5){grid-column:span 4}.work-img{display:block;overflow:hidden;border:2px solid var(--dark);background:var(--tint)}.work-img img,.work-img .plan{width:100%;aspect-ratio:4 / 3;object-fit:cover;transition:transform .4s}.work:nth-child(2) .work-img img,.work:nth-child(2) .work-img .plan{aspect-ratio:4 / 5}.work:hover .work-img img{transform:scale(1.03)}.work .label{margin:14px 0 6px}.work h3{font-size:1.3rem;margin:0}.work h3 a{text-decoration:none}.steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.steps li{counter-increment:s;border-top:2px solid var(--dark);padding:18px 0 32px;display:flex;flex-direction:column;gap:6px}.steps li::before{content:counter(s,decimal-leading-zero);font:700 3.2rem/1 var(--serif);color:var(--accent);-webkit-text-stroke:1.5px var(--dark)}.steps b{font:700 1.25rem var(--serif);color:var(--dark)}.steps span{color:var(--muted)}.quote{margin:0;font:italic 400 clamp(1.4rem, 2.8vw, 2rem)/1.4 var(--serif);color:var(--dark);border-left:6px solid var(--accent);padding-left:28px}.quote cite{display:block;margin-top:18px;font:600 .8rem var(--mono);font-style:normal;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.contact{background:var(--accent)}.contact .label,.contact .split-head p:not(.label){color:rgb(34 32 28 / .75)}.big-tel{display:inline-block;font:700 clamp(1.7rem, 3.2vw, 2.4rem) var(--serif);color:var(--dark);text-underline-offset:6px;margin:12px 0}.small{font-size:.92rem}.quote-box{background:var(--paper);border:2px solid var(--dark);padding:32px;box-shadow:8px 8px 0 var(--dark)}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.quote-form label{display:flex;flex-direction:column;gap:2px;font:600 .74rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.quote-form .full{grid-column:1 / -1}.quote-form input:not([type=checkbox]),.quote-form select,.quote-form textarea{padding:10px 0;border:0;border-bottom:2px solid var(--dark);background:#fff0;font:400 1rem system-ui,sans-serif;color:var(--dark);width:100%;border-radius:0;text-transform:none;letter-spacing:0}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:0;background:rgb(240 210 100 / .25)}.quote-form .check{flex-direction:row;align-items:flex-start;font:400 .82rem/1.5 system-ui,sans-serif;text-transform:none;letter-spacing:0;gap:10px}.quote-form .btn{width:100%}.hp{position:absolute;left:-9999px}.notice{padding:12px 16px;margin:0 0 20px;font-weight:600;border:2px solid var(--dark)}.notice-ok{background:#dfeccd}.notice-err{background:#f5d6cf}.entry>*+*{margin-top:1em}.hero-img{margin-bottom:28px;border:2px solid var(--dark)}.cta-box{margin-top:48px;padding:32px;border:2px solid var(--dark);background:var(--accent)}.filters{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0 0 32px}.filters a{display:block;padding:6px 14px;border:1px solid var(--dark);text-decoration:none;font:600 .78rem var(--mono);text-transform:uppercase;letter-spacing:.06em}.filters a:hover{background:var(--accent)}.pagination{margin-top:36px}.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}.page-numbers{padding:6px 14px;border:1px solid var(--dark);text-decoration:none}.page-numbers.current{background:var(--accent)}.site-footer{background:var(--dark);color:#b9b3a4;padding:56px 0 24px}.site-footer strong{font:600 .74rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);display:block;margin-bottom:8px}.site-footer .big-tel{color:var(--paper);text-decoration-color:var(--accent);font-size:clamp(2rem, 6vw, 4rem);margin:0 0 40px}.site-footer p{margin:0 0 6px}.site-footer ul{list-style:none;padding:0;margin:0}.footer-grid{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.copyright{margin-top:40px;padding-top:16px;border-top:1px solid rgb(255 255 255 / .14);font-size:.82rem}.sticky-call{display:none}@media (max-width:860px){.nav-toggle{display:block}.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:16px 24px 24px}.primary-nav.is-open{display:flex}.primary-nav ul{flex-direction:column;gap:14px}.hero{padding:40px 0}.hero-grid,.split{grid-template-columns:1fr;gap:32px}.hero-visual img,.hero-visual .plan{aspect-ratio:4 / 3}.split-head{position:static}.section{padding:56px 0}.works{grid-template-columns:1fr}.work,.work:nth-child(n){grid-column:1}.work:nth-child(n) .work-img img,.work:nth-child(n) .work-img .plan{aspect-ratio:4 / 3}.steps,.quote-form{grid-template-columns:1fr}.quote-box{padding:22px;box-shadow:5px 5px 0 var(--dark)}.row-head{flex-direction:column;align-items:start}.sticky-call{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--accent);border-top:2px solid var(--dark);color:var(--dark);text-align:center;font:700 1rem system-ui;padding:14px;text-decoration:none}body{padding-bottom:54px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}[hidden]{display:none!important}.ico{width:1em;height:1em;flex:none;vertical-align:-.125em}.btn .ico,.link-tel .ico,.more .ico{margin-left:.15em}.btn-call .ico{margin:0 6px 0 0}.link-tel .ico{margin:0 6px 0 0}.sticky-call .ico{margin-right:6px}.strip ul{display:flex;flex-wrap:wrap;gap:8px 32px;list-style:none;margin:0 auto;padding-top:14px;padding-bottom:14px}.strip li{display:flex;align-items:center;gap:8px}.strip .ico{font-size:1.15em}.index a,.index li>div{grid-template-columns:56px 1fr 40px;align-items:center}.index .ic{grid-row:span 2;width:46px;height:46px;display:grid;place-items:center;background:var(--accent);border:2px solid var(--dark);font-size:1.35rem;color:var(--dark)}.index .go{grid-row:span 2;grid-column:3;justify-self:end;font-size:1.3rem;color:var(--dark);transition:transform .2s}.index li>div{grid-template-columns:56px 1fr}.index a:hover .go{transform:translateX(6px)}.index a:hover .ic{background:var(--dark);color:var(--accent)}.steps li i{font-style:normal;font-size:1.5rem;color:var(--dark);line-height:1}.q-ico{display:block;font-size:2.2rem;color:var(--accent);-webkit-text-stroke:1px var(--dark);margin-bottom:8px}.info{list-style:none;padding:0;margin:12px 0 0;font-size:.95rem}.info li{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px}.info .ico{margin-top:.3em}.ico-line{display:flex;gap:10px;align-items:flex-start}.ico-line .ico{margin-top:.35em;color:var(--accent)}.quote-form .btn .ico{margin-left:8px}.work-img{position:relative}.work-more{position:absolute;left:0;bottom:0;background:var(--accent);color:var(--dark);font:700 .8rem var(--mono);text-transform:uppercase;letter-spacing:.06em;padding:8px 14px;border-top:2px solid var(--dark);border-right:2px solid var(--dark);transform:translateY(100%);transition:transform .25s;display:flex;gap:8px;align-items:center}.work:hover .work-more,.work-img:focus-visible .work-more{transform:none}.chips{display:flex;flex-wrap:wrap;gap:6px 14px;list-style:none;padding:0;margin:10px 0 0;font-size:.85rem;color:var(--muted)}.chips li{display:flex;align-items:center;gap:6px}.works-archive,.works-3{grid-template-columns:repeat(3,1fr)}.works-archive .work,.works-archive .work:nth-child(n),.works-3 .work,.works-3 .work:nth-child(n){grid-column:auto}.works-archive .work-img img,.works-archive .work-img .plan,.works-3 .work-img img,.works-3 .work-img .plan{aspect-ratio:4 / 3!important}.page-hero{padding:64px 0 40px;border-bottom:1px solid var(--line)}.page-hero h1{margin-bottom:.3em}.page-hero .label a{text-decoration:none}.page-hero .label a:hover{text-decoration:underline}.page-hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:end}.page-hero .lead{font-size:1.15rem;max-width:34em;margin:0}.facts{list-style:none;margin:0;padding:0;display:grid;gap:0;border:2px solid var(--dark);background:var(--paper)}.facts li{display:grid;grid-template-columns:34px auto 1fr;align-items:baseline;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}.facts li:last-child{border-bottom:0}.facts .ico{font-size:1.2rem;align-self:center}.facts b{font:700 1.5rem var(--serif);color:var(--dark)}.facts span{color:var(--muted);font-size:.9rem}.section-tight{padding:40px 0 72px}.filters{margin:0 0 36px}.filters a{display:inline-flex;align-items:center;gap:8px;padding:9px 16px}.filters a span{font-size:.7rem;background:var(--dark);color:var(--paper);padding:2px 7px}.filters a.is-active{background:var(--accent);box-shadow:3px 3px 0 var(--dark)}.empty{padding:40px;border:2px dashed var(--line);text-align:center;color:var(--muted)}.promises{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.promises li{border-top:2px solid var(--dark);padding-top:18px;display:flex;flex-direction:column;gap:6px}.promises .ico{font-size:1.9rem;color:var(--dark);margin-bottom:6px}.promises b{font:700 1.2rem var(--serif);color:var(--dark)}.promises span{color:var(--muted);font-size:.95rem}.contact-band{background:var(--accent)}.band{display:flex;flex-direction:column;align-items:flex-start}.band h2{margin-bottom:.2em}.band p{margin:0}.band .cta-row{margin-top:24px}.project{display:grid;grid-template-columns:1fr 340px;gap:56px;align-items:start}.project-cover{margin:0 0 28px}.project-cover img{width:100%;border:2px solid var(--dark)}.project-side{position:sticky;top:92px}.sheet{border:2px solid var(--dark);padding:24px;background:var(--paper);box-shadow:6px 6px 0 var(--dark);display:flex;flex-direction:column;gap:16px}.sheet .label{margin:0}.sheet dl{margin:0}.sheet dl>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.sheet dt{display:flex;align-items:center;gap:8px;font:600 .78rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.sheet dd{margin:0;font-weight:600;color:var(--dark);text-align:right}.sheet .link-tel{text-align:center}.entry .wp-block-gallery{gap:12px}.entry img{border:2px solid var(--dark)}.entry .wp-block-gallery img,.entry .wp-block-image img{display:block}.lightbox{border:0;padding:0;background:#fff0;max-width:94vw;max-height:94vh}.lightbox::backdrop{background:rgb(20 18 14 / .88)}.lightbox img{max-width:94vw;max-height:90vh;border:2px solid var(--paper);cursor:zoom-out}.lightbox button{position:absolute;top:8px;right:8px;width:40px;height:40px;background:var(--accent);border:2px solid var(--dark);font-size:1.6rem;line-height:1;cursor:pointer}@media (max-width:960px){.works-archive,.works-3{grid-template-columns:repeat(2,1fr)}.promises{grid-template-columns:repeat(2,1fr)}.project{grid-template-columns:1fr}.project-side{position:static}}@media (max-width:860px){.page-hero-grid{grid-template-columns:1fr;gap:28px}.page-hero{padding:40px 0 28px}}@media (max-width:560px){.works-archive,.works-3,.promises{grid-template-columns:1fr}.index a,.index li>div{grid-template-columns:52px 1fr 28px}.index li>div{grid-template-columns:52px 1fr}}.index .ic{grid-column:1;grid-row:1 / span 2}.index .t{grid-column:2;grid-row:1}.index .d{grid-column:2;grid-row:2}.index .go{grid-column:3;grid-row:1 / span 2}@media (max-width:960px){.project-side{order:-1}}@media (max-width:860px){.primary-nav ul{gap:0}.primary-nav ul a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:1.05rem}.primary-nav .btn-call{text-align:center;margin-top:8px;padding:14px}.nav-toggle{min-height:44px}}