@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--ink:#101310;--surface:#181c18;--panel:#1c211c;--text:#f6f7f2;--muted:#b7beb4;--line:#343a32;--accent:#ff762b;--paper:#eff1eb;--max:1440px;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ink);color:var(--text);font:400 1rem/1.6 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Manrope',sans-serif;font-weight:500}img{display:block;width:100%}section[id]{scroll-margin-top:90px}.skip-link{position:fixed;top:-60px;left:20px;background:var(--accent);color:var(--ink);z-index:100;padding:12px 20px}.skip-link:focus{top:10px}.site-header{max-width:var(--max);margin:auto;padding:28px 48px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px}.brand-symbol{font:800 1.55rem/1.02 'Manrope',sans-serif;letter-spacing:-.08em;display:flex;flex-direction:column}.brand-symbol span{color:var(--accent)}.brand-name{font-size:.93rem;line-height:1.2;font-weight:500;letter-spacing:-.02em}.site-header nav{display:flex;align-items:center}.site-header nav>a:not(.button){padding:16px 24px;font-size:.91rem}.site-header nav>a:hover{color:var(--accent)}.site-header nav>.button{margin-left:24px}.button{min-height:54px;display:inline-flex;gap:24px;align-items:center;justify-content:center;padding:14px 24px;border:1px solid transparent;border-radius:0;font-weight:550;font-size:.95rem;transition:background .2s,color .2s}.button-primary{background:var(--accent);color:var(--ink)}.button-primary:hover{background:#ff9458;color:var(--ink)!important}.button-square,.small-square{width:7px;height:7px;background:currentColor;display:inline-block;flex-shrink:0}.menu-button{display:none}.hero{max-width:var(--max);margin:auto;padding:24px 48px 0}.hero-image{height:350px;position:relative;overflow:hidden}.hero-image img{height:100%;object-fit:cover;object-position:50% 53%;filter:saturate(.65) brightness(.67)}.hero-image:after{position:absolute;inset:0;content:'';background:linear-gradient(0deg,rgba(16,19,16,.72),transparent 60%)}.photo-label,.image-coordinate{position:absolute;bottom:24px;z-index:1;font-size:.83rem;letter-spacing:.06em}.photo-label{left:28px;display:flex;align-items:center;gap:12px}.small-square{color:var(--accent)}.image-coordinate{right:28px;font-size:.75rem;color:#d2d8d1}.hero-content{padding:42px 0 46px;display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:end}.eyebrow{font-size:.78rem;letter-spacing:.13em;font-weight:600;color:var(--accent);margin-bottom:22px}h1{font-size:clamp(3rem,5.7vw,5.5rem);line-height:1.05;letter-spacing:-.065em}h1 span{color:var(--accent)}.hero-aside{padding:0 0 5px 36px;max-width:380px;justify-self:end}.hero-aside p{font-size:1.15rem;line-height:1.6;color:var(--muted)}.text-link{display:inline-block;border-bottom:1px solid var(--accent);padding-bottom:4px;margin-top:28px;font-weight:500}.text-link:hover{color:var(--accent)}.hero-note{display:block;margin-top:24px;font-size:.8rem;color:#899485}.hero-strip{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;gap:20px;color:var(--muted);font-size:.88rem}.hero-strip span{display:flex;align-items:center;gap:12px}.hero-strip span:before{content:'+';color:var(--accent);font-size:1.1rem}.section{padding:100px 48px;max-width:var(--max);margin:auto}.section-heading{display:grid;grid-template-columns:1fr 2.2fr;gap:48px;margin-bottom:46px}.section-heading .eyebrow{padding-top:10px}.section-heading h2,h2{font-size:clamp(2.3rem,3.8vw,3.7rem);line-height:1.13;letter-spacing:-.055em}.section-heading>div>p{max-width:550px;margin-top:24px;color:var(--muted);font-size:1.05rem}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}.service-card{padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;min-height:300px;background:var(--ink);transition:background .2s}.service-number{font-size:.75rem;letter-spacing:.08em;color:var(--accent);display:block;margin-bottom:34px}.service-card h3{font-size:1.6rem;line-height:1.2;letter-spacing:-.035em}.service-card>p{margin-top:18px;color:var(--muted);font-size:.94rem;line-height:1.65}footer{max-width:var(--max);margin:auto;display:flex;justify-content:space-between;padding:28px 48px;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}
@media(min-width:1600px){.hero-image{height:400px}}@media(max-width:900px){.site-header,.hero{padding-left:28px;padding-right:28px}.site-header nav>a:not(.button){padding:14px}.site-header nav>.button{margin-left:8px}.hero-image{height:310px}.hero-content{gap:30px}.hero-aside{padding-left:0}.section{padding:72px 28px}.section-heading{grid-template-columns:1fr 2fr;gap:28px}.service-card{padding:24px}.hero-strip{font-size:.78rem}.service-card h3{font-size:1.4rem}footer{padding:24px 28px}}
@media(max-width:680px){html{scroll-padding-top:20px}.site-header{padding:22px 22px;position:relative}.brand-name{font-size:.83rem}.menu-button{display:flex;align-items:center;gap:18px;border:1px solid var(--line);padding:10px 14px;background:transparent;color:var(--text);font-size:.88rem}.menu-button span{color:var(--accent);font-size:1.2rem}.site-header nav{display:none;position:absolute;top:100%;left:22px;right:22px;z-index:10;background:var(--surface);border:1px solid var(--line);padding:12px;align-items:stretch;flex-direction:column}.site-header nav.open{display:flex}.site-header nav>a:not(.button){padding:12px 14px}.site-header nav>.button{margin:8px 0 0}.hero{padding:4px 22px 0}.hero-image{height:260px}.photo-label{left:18px;bottom:18px;font-size:.75rem}.image-coordinate{display:none}.hero-content{grid-template-columns:1fr;padding:32px 0;gap:26px}.eyebrow{font-size:.71rem;margin-bottom:16px}h1{font-size:clamp(2.8rem,10vw,4.1rem)}.hero-aside{justify-self:start;max-width:100%;padding:0}.hero-aside p{font-size:1rem;max-width:400px}.text-link{margin-top:20px}.hero-note{display:none}.hero-strip{flex-wrap:wrap;padding:16px 0;gap:9px 20px;font-size:.77rem}.hero-strip span{gap:8px}.hero-strip span:last-child{flex-basis:100%}.section{padding:60px 22px}.section-heading{grid-template-columns:1fr;gap:4px;margin-bottom:28px}.section-heading h2,h2{font-size:2.4rem}.section-heading>div>p{font-size:1rem;margin-top:18px}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto;padding:26px}.service-number{margin-bottom:24px}.service-card h3{font-size:1.6rem}footer{padding:24px 22px;flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Full service catalog and project inquiry */
.hero-image img{object-position:50% 0%}.service-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}.service-filters{display:flex;flex-wrap:wrap;gap:8px}.service-filters button{background:transparent;color:var(--muted);border:1px solid var(--line);padding:10px 17px;font-size:.88rem}.service-filters button.active{background:var(--accent);border-color:var(--accent);color:var(--ink)}.service-filters button:hover:not(.active){border-color:var(--muted);color:var(--text)}.service-count{font-size:.83rem;color:var(--muted);white-space:nowrap}.service-card{display:flex;flex-direction:column;min-height:345px}.service-card:hover{background:var(--surface)}.service-details{margin-top:auto;padding-top:22px}.service-details summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;font-size:.85rem;font-weight:500;padding:6px 0}.service-details summary::-webkit-details-marker{display:none}.service-details summary span{font-size:1.25rem;color:var(--accent);transition:transform .2s}.service-details[open] summary span{transform:rotate(45deg)}.service-details>div{padding:16px 0 0;color:var(--muted);font-size:.875rem}.detail-audience{margin-bottom:16px}.service-details ul{margin:0;padding-left:18px}.service-details li{padding-bottom:8px}.service-request{display:inline-block;color:var(--accent);margin-top:20px;border-bottom:1px solid var(--accent)}.scope-note{font-size:.8rem;color:#969f91;max-width:880px;margin-top:26px;line-height:1.7}.service-card[hidden]{display:none}.project-context{background:var(--accent);color:var(--ink)}.context-inner{max-width:var(--max);margin:auto;padding:70px 48px}.context-inner>.eyebrow{color:var(--ink)}.context-inner>h2{font-size:clamp(2.8rem,5.6vw,5.3rem);letter-spacing:-.065em}.context-bottom{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:start;margin-top:42px}.context-bottom>p{max-width:620px;font-size:1.08rem}.building-types{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}.building-types span{border-top:1px solid #b84b13;padding-top:14px;font-size:.9rem}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);gap:30px}.steps article{padding-top:28px}.steps article>span{color:var(--accent);font-size:1.05rem}.steps h3{font-size:1.2rem;letter-spacing:-.03em;margin:36px 0 16px}.steps p{font-size:.92rem;color:var(--muted)}.requirements{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-top:20px}.requirements-copy>p:not(.eyebrow){color:var(--muted);max-width:510px;margin-top:26px}.requirements-list>div{border-top:1px solid var(--line);position:relative;padding:24px 0 26px 48px}.requirements-list span{position:absolute;top:28px;left:0;color:var(--accent);font-size:.78rem}.requirements-list h3{font-size:1.2rem;margin-bottom:12px;letter-spacing:-.02em}.requirements-list p{color:var(--muted);font-size:.94rem;max-width:460px}.faq{display:grid;grid-template-columns:1fr 2fr;gap:70px;border-top:1px solid var(--line)}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;gap:28px;justify-content:space-between;align-items:center;padding:23px 0;cursor:pointer;font-size:1.04rem;line-height:1.5}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:1.5rem;color:var(--accent);font-weight:400;transition:transform .2s;flex-shrink:0}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details>p{color:var(--muted);padding:0 40px 26px 0;font-size:.96rem}.faq-list a{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.contact-section{background:var(--paper);color:var(--ink);color-scheme:light}.contact-inner{max-width:var(--max);margin:auto;padding:84px 48px;display:grid;grid-template-columns:1fr 1.4fr;gap:85px}.contact-copy>.eyebrow{color:#a6400b}.contact-copy h2{font-size:clamp(2.7rem,4.3vw,4.2rem)}.contact-copy>p:not(.eyebrow){font-size:1.1rem;max-width:340px;color:#535e51;margin-top:26px}.contact-location{display:flex;gap:14px;align-items:start;margin-top:44px;color:#444e41;font-size:.9rem}.contact-location .small-square{color:#b64910;margin-top:10px}.contact-preparation{border-top:1px solid #c5ccc1;margin-top:50px;padding-top:22px;max-width:320px}.contact-preparation h3{font-size:1rem;font-weight:600;letter-spacing:-.025em}.contact-preparation p{font-size:.9rem;color:#535e51;margin-top:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px}.field{min-width:0}.field-wide{grid-column:1/-1}.field label{display:block;font-size:.875rem;font-weight:500;margin-bottom:9px}.field label>span{color:#a33e09}.field input,.field select,.field textarea{display:block;width:100%;background:transparent;border:1px solid #acb4a7;padding:13px 14px;color:var(--ink);border-radius:0;font-size:.94rem;min-height:51px}.field input::placeholder,.field textarea::placeholder{color:#6b7567}.field select{padding-right:28px}.field textarea{resize:vertical;min-height:122px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #b4470c;outline-offset:2px}.form-note{font-size:.8rem;color:#586452;margin:22px 0 18px;max-width:580px}.contact-inner .button-primary{background:var(--ink);color:var(--text)}.contact-inner .button-primary:hover{background:#344330;color:white!important}#inquiry-result{border:1px solid #a0ab99;padding:24px;margin-top:24px;background:#e4e9de}#inquiry-result h3{font-size:1.35rem;letter-spacing:-.03em}#inquiry-result>p{font-size:.9rem;color:#4d5a45;margin-top:8px}.result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.result-actions .button{font-size:.83rem;min-height:44px;padding:10px 16px}.button-outline{border-color:#68755e;background:transparent;color:var(--ink)}.button-outline:hover{background:#d2dbc9}.copy-status{min-height:1.5em;font-size:.8rem}footer .footer-brand{color:var(--text);font-weight:600;font-size:.9rem}footer>div{display:flex;gap:24px}footer button{border:0;background:none;color:inherit;padding:0;font-size:inherit}footer a:hover,footer button:hover{color:var(--accent)}dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);max-width:620px;width:calc(100% - 40px);padding:40px;max-height:85vh;overflow:auto}dialog::backdrop{background:#000a}dialog h2{font-size:2.1rem}dialog p:not(.eyebrow){font-size:.96rem;color:var(--muted);margin-top:22px}.dialog-close{position:absolute;top:12px;right:16px;background:none;border:0;color:var(--text);font-size:1.7rem;line-height:1;padding:8px}[hidden]{display:none!important}
@media(max-width:900px){.service-toolbar{align-items:start}.service-filters{gap:8px}.service-filters button{padding:9px 13px;font-size:.83rem}.service-count{padding-top:10px}.service-grid{grid-template-columns:repeat(2,1fr)}.context-inner{padding:60px 28px}.context-bottom{gap:40px}.steps{grid-template-columns:repeat(2,1fr);gap:35px}.steps h3{margin-top:20px}.requirements{gap:45px}.faq{gap:45px}.contact-inner{padding:68px 28px;gap:40px;grid-template-columns:1fr 1.5fr}.form-grid{gap:18px}.contact-copy>p:not(.eyebrow){font-size:1rem}.contact-location br{display:none}footer>div{gap:16px}}
@media(max-width:680px){.hero-image img{object-position:63% 40%}.service-toolbar{display:block}.service-filters{gap:8px}.service-filters button{flex:1 1 auto;min-height:44px;font-size:.85rem}.service-count{display:block;padding-top:14px}.service-grid{grid-template-columns:1fr}.service-card{min-height:320px}.service-details{padding-top:22px}.context-inner{padding:52px 22px}.context-inner>h2{font-size:2.85rem}.context-bottom{grid-template-columns:1fr;gap:30px;margin-top:28px}.context-bottom>p{font-size:1rem}.building-types{gap:18px;font-size:.85rem}.steps{grid-template-columns:1fr;gap:0}.steps article{padding:22px 0;border-bottom:1px solid var(--line)}.steps h3{margin:12px 0}.requirements{grid-template-columns:1fr;gap:36px;padding-top:0}.requirements-list>div{padding-left:36px}.faq{grid-template-columns:1fr;gap:32px}.faq-list summary{font-size:1rem;gap:20px}.faq-list details>p{padding-right:0}.contact-inner{padding:56px 22px;grid-template-columns:1fr;gap:42px}.contact-copy h2{font-size:2.8rem}.contact-copy>p:not(.eyebrow){max-width:370px}.contact-location{margin-top:25px}.contact-preparation{display:none}.form-grid{grid-template-columns:1fr;gap:20px}.field-wide{grid-column:auto}form>.button{width:100%}.field input,.field select,.field textarea{font-size:1rem}.form-note{font-size:.83rem}footer{gap:16px}footer>div{gap:22px;flex-wrap:wrap}dialog{padding:32px 24px}.faq-list summary,.service-details summary{min-height:44px}.scope-note{font-size:.83rem}}
