:root{--ink:#171716;--paper:#f4f3ef;--white:#fff;--wood:#8b4f2f;--line:rgba(23,23,22,.15);--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}img{display:block;width:100%}a{color:inherit}.site-header{height:88px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;background:rgba(244,243,239,.95);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-mark{width:44px;height:44px;background:var(--ink);color:white;display:grid;place-items:center;font:800 16px/1 "Manrope",sans-serif;letter-spacing:-1px}.brand-text{display:flex;flex-direction:column;line-height:1.1;text-transform:uppercase}.brand-text strong{font:800 16px/1.1 "Manrope",sans-serif;letter-spacing:.03em}.brand-text small{font-size:10px;letter-spacing:.2em;margin-top:5px}nav{display:flex;align-items:center;gap:28px}nav a{text-decoration:none;font-weight:600;font-size:14px}.nav-cta{background:var(--ink);color:white;padding:12px 18px}.menu-toggle{display:none;background:none;border:1px solid var(--ink);padding:10px 14px;font:600 14px inherit}.hero{height:calc(100vh - 88px);min-height:650px;position:relative;color:white;display:flex;align-items:flex-end;overflow:hidden}.hero>img{position:absolute;inset:0;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.38) 52%,rgba(0,0,0,.08) 78%),linear-gradient(0deg,rgba(0,0,0,.42),transparent 45%)}.hero-copy{position:relative;z-index:2;width:min(760px,calc(100% - 48px));margin:0 max(24px,calc((100vw - var(--max))/2)) 8vh}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.18em;margin:0 0 18px}.eyebrow.dark{color:var(--wood)}h1,h2,h3{font-family:"Manrope",sans-serif;margin-top:0;line-height:1.05}h1{font-size:clamp(52px,7vw,96px);letter-spacing:-.055em;margin-bottom:22px}h2{font-size:clamp(36px,5vw,64px);letter-spacing:-.045em;margin-bottom:24px}.hero-lede{font-size:clamp(18px,2vw,23px);line-height:1.45;max-width:680px;margin:0 0 32px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;text-decoration:none;border:1px solid transparent;font:700 14px "DM Sans",sans-serif;cursor:pointer}.button.primary{background:var(--wood);color:white}.button.ghost{border-color:rgba(255,255,255,.7);color:white}.hero-credit{position:absolute;right:max(24px,calc((100vw - var(--max))/2));bottom:24px;z-index:2;font-size:12px;letter-spacing:.08em}.proof-strip{background:var(--ink);color:white;display:grid;grid-template-columns:repeat(4,1fr);padding:30px max(24px,calc((100vw - var(--max))/2));gap:28px}.proof-strip div{display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.25);padding-left:18px}.proof-strip strong{font:700 15px "Manrope",sans-serif}.proof-strip span{font-size:12px;color:#bbb;margin-top:4px}.section{max-width:var(--max);margin:auto;padding:120px 24px}.section-heading{max-width:820px;margin-bottom:64px}.section-heading>p:last-child{font-size:20px;max-width:650px;color:#595956}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-grid article{padding:44px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service-grid article>span{color:var(--wood);font-size:12px;font-weight:700;letter-spacing:.15em}.service-grid h3{font-size:28px;margin:42px 0 14px}.service-grid p{margin:0;color:#5c5c58;max-width:460px}.project{background:var(--ink);color:white;padding:120px max(24px,calc((100vw - var(--max))/2))}.project-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:30px 80px;margin-bottom:70px}.project-intro .eyebrow{grid-column:1/-1}.project-intro h2{margin:0}.project-intro>p:not(.eyebrow){font-size:18px;color:#c9c9c3;margin:0}.project-intro ul{grid-column:2;margin:0;padding-left:20px;color:#c9c9c3}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.project-grid figure{margin:0;position:relative;overflow:hidden;aspect-ratio:4/3}.project-grid figure.wide{grid-column:1/-1;aspect-ratio:16/8}.project-grid img{height:100%;object-fit:cover;transition:transform .6s ease}.project-grid figure:hover img{transform:scale(1.02)}figcaption{position:absolute;left:16px;bottom:16px;background:rgba(23,23,22,.88);padding:7px 11px;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.compact{max-width:720px}.process-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.process-list li{display:grid;grid-template-columns:80px 1fr;padding:36px 0;border-bottom:1px solid var(--line)}.process-list>li>span{color:var(--wood);font-size:13px;font-weight:700}.process-list h3{font-size:24px;margin-bottom:8px}.process-list p{margin:0;color:#5c5c58}.about{display:grid;grid-template-columns:1.1fr 1fr;min-height:700px;background:#302f2c;color:white}.about-image img{height:100%;object-fit:cover}.about-copy{padding:100px clamp(40px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.about-copy p:not(.eyebrow){color:#cecec8;font-size:18px}.signature{margin-top:32px;font:700 20px "Manrope",sans-serif;display:flex;flex-direction:column}.signature span{font:400 12px "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.14em;color:#aaa;margin-top:7px}.contact{padding:120px max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;background:white}.contact>div>p:not(.eyebrow){font-size:18px;color:#5c5c58}.direct-contact{display:flex;flex-direction:column;margin-top:32px}.direct-contact a{font-weight:700;text-decoration:none;margin-bottom:8px}form{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:flex;flex-direction:column;gap:8px;font-weight:700;font-size:13px}.full{grid-column:1/-1}input,select,textarea{width:100%;border:1px solid #ccc;background:#f8f8f6;padding:14px;font:16px "DM Sans",sans-serif;border-radius:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--wood);outline-offset:1px}textarea{resize:vertical}.form-note{font-size:12px;color:#696966;margin:0}footer{background:#101010;color:white;padding:45px max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-brand .brand-mark{background:white;color:var(--ink)}footer p{font-size:12px;color:#aaa;margin:0}.menu-toggle:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #d78b5e;outline-offset:3px}@media(max-width:800px){.site-header{height:74px}.menu-toggle{display:block}nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:24px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{height:760px;min-height:0}.hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.2) 80%)}.hero-copy{margin-bottom:72px}.hero-credit{left:24px;right:auto;bottom:18px}.proof-strip{grid-template-columns:repeat(2,1fr);gap:24px}.section,.project{padding-top:82px;padding-bottom:82px}.service-grid{grid-template-columns:1fr}.service-grid article{padding:32px}.service-grid h3{margin-top:24px}.project-intro{grid-template-columns:1fr;gap:22px}.project-intro .eyebrow,.project-intro ul{grid-column:1}.project-grid{grid-template-columns:1fr}.project-grid figure.wide{grid-column:auto;aspect-ratio:4/3}.about{grid-template-columns:1fr}.about-image{height:420px}.about-copy{padding:72px 24px}.contact{grid-template-columns:1fr;gap:48px;padding-top:80px;padding-bottom:80px}footer{flex-direction:column;align-items:flex-start}}@media(max-width:520px){h1{font-size:50px}.proof-strip{grid-template-columns:1fr}.hero-actions .button{width:100%}.project-grid{margin-left:-24px;margin-right:-24px}.project-grid figcaption{left:12px;bottom:12px}form{grid-template-columns:1fr}form>*{grid-column:1}.site-header .brand-text small{letter-spacing:.13em}}
/* Official Steller Jay identity */
.site-header{background:rgba(255,255,255,.96)!important}
.brand-logo{display:block;width:176px;height:70px;object-fit:contain}
.footer-brand{background:transparent;padding:0}
.footer-brand .brand-logo{width:180px;height:80px}
@media(max-width:520px){.brand-logo{width:145px;height:58px}}

/* Documented craftsmanship */
.behind-walls{background:#fff;max-width:none;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2))}
.progress-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.progress-grid article{background:var(--paper);border:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(240px,.95fr);min-height:310px}
.progress-grid img{height:100%;min-height:310px;object-fit:cover}
.progress-grid article>div{padding:34px;display:flex;flex-direction:column;justify-content:center}
.progress-grid span{color:var(--wood);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.progress-grid h3{font-size:23px;margin:16px 0 12px}
.progress-grid p{color:#5c5c58;margin:0;font-size:15px}
@media(max-width:1050px){.progress-grid article{grid-template-columns:1fr}.progress-grid img{height:260px;min-height:0}.progress-grid article>div{padding:28px}}
@media(max-width:700px){.progress-grid{grid-template-columns:1fr}.progress-grid img{height:280px}}

/* BBB Accredited Business seal */
.bbb-seal{display:inline-block;margin-top:28px;line-height:0}
.bbb-seal img{width:200px;height:42px;object-fit:contain}
.bbb-seal:focus-visible{outline:3px solid var(--wood);outline-offset:5px}

/* Form submission states */
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#form-note{transition:color .2s ease}
#form-note.is-working{opacity:.75}
#form-note.is-success{color:#1c6b3a;font-weight:600}
#form-note.is-error{color:#a32a1f;font-weight:600}
#form-note a{color:inherit;text-decoration:underline}
.button.primary:disabled{opacity:.65;cursor:not-allowed}
.license-line{margin-top:.75rem;font-size:.85rem;line-height:1.6;opacity:.8}
