.hero{padding:56px 0 64px}.hero-inner{align-items:center;gap:48px;display:flex}.hero-content{flex-direction:column;flex:1;gap:22px;display:flex}.hero h1{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;color:var(--color-ink);margin:0;font-size:56px;line-height:.98}.hero h1 em{color:var(--color-accent);font-style:normal}.hero-lead{color:var(--color-ink-soft);max-width:46ch;margin:0;font-size:17px;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:14px;display:flex}.hero-chips{flex-wrap:wrap;gap:10px;display:flex}.hero-chip{color:var(--color-ink-soft);background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;padding:9px 14px;font-size:13px;font-weight:600}.hero-visual{flex-direction:column;align-items:center;gap:18px;display:flex}.hero-graphic{flex:none;width:340px;height:340px;position:relative}.hero-brand{cursor:default;flex-direction:row;align-items:baseline;gap:8px;margin-top:10px;display:flex}.hero-brand b{font-family:var(--font-display);letter-spacing:.02em;color:var(--color-ink);font-size:24px;transition:color .2s}.hero-brand small{font-family:var(--font-display);letter-spacing:.02em;color:var(--color-accent);font-size:24px;transition:color .2s}.hero-brand:hover b{color:var(--color-accent)}.hero-brand:hover small{color:var(--color-accent-deep)}.grid-dots{background-image:radial-gradient(color-mix(in srgb, var(--color-accent) 35%, transparent) 1.4px, transparent 1.4px);opacity:.6;background-size:20px 20px;position:absolute;inset:-10%;-webkit-mask-image:radial-gradient(circle at 52% 46%,#000 52%,#0000 76%);mask-image:radial-gradient(circle at 52% 46%,#000 52%,#0000 76%)}.roof-stack{object-fit:contain;width:86%;height:86%;transition:transform .4s;position:absolute;inset:7%}.hero-graphic:hover .roof-stack{transform:translateY(-6px)rotate(-1.5deg)}.roof-window:before,.roof-window:after{content:"";background:var(--color-accent-deep);position:absolute}.roof-window:before{width:3px;top:0;bottom:0;left:50%;transform:translate(-50%)}.roof-window:after{height:3px;top:50%;left:0;right:0;transform:translateY(-50%)}.reg-mark{opacity:.55;width:18px;height:18px;position:absolute}.reg-mark:before,.reg-mark:after{content:"";background:var(--color-accent);position:absolute}.reg-mark:before{width:1.5px;top:0;bottom:0;left:50%;transform:translate(-50%)}.reg-mark:after{height:1.5px;top:50%;left:0;right:0;transform:translateY(-50%)}.reg-mark--tl{top:0;left:0}.reg-mark--br{bottom:0;right:0}.dim-line{background:var(--color-ink-soft);opacity:.4;height:1px;position:absolute;bottom:-6%;left:7%;right:30%}.dim-line:before,.dim-line:after{content:"";background:var(--color-ink-soft);width:1px;height:9px;position:absolute;top:-4px}.dim-line:before{left:0}.dim-line:after{right:0}.dim-line span{font-family:var(--font-mono);color:var(--color-ink-soft);background:var(--color-bg);white-space:nowrap;padding:0 6px;font-size:11px;position:absolute;top:-21px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.roof-stack{transition:none}.hero-graphic:hover .roof-stack{transform:none}}@media (max-width:860px){.hero-inner{flex-direction:column;align-items:stretch}.hero-graphic{width:260px;height:260px;margin:0 auto}}@media (max-width:640px){.hero{padding:40px 0 48px}.hero h1{font-size:34px}.hero-lead{font-size:15.5px}.hero-actions{flex-direction:column;align-items:stretch}}
.works{background:var(--color-surface);border-top:1px solid var(--color-border);padding:88px 0 72px}.works-head .eyebrow{margin-bottom:10px}.works-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px;display:flex}.works-head h2{font-family:var(--font-display);text-transform:uppercase;color:var(--color-ink);margin:0;font-size:38px;line-height:1}.works-head p{max-width:40ch;color:var(--color-ink-soft);margin:0;font-size:15px}.works-scroll{scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--color-accent) transparent;gap:18px;margin:0 -4px;padding:4px 4px 18px;display:flex;overflow-x:auto}.works-scroll::-webkit-scrollbar{height:7px}.works-scroll::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:8px}.works-scroll::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}.work-card{scroll-snap-align:start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex:0 0 clamp(230px,32vw,300px);transition:transform .25s,border-color .25s,box-shadow .25s;overflow:hidden}.work-card:hover{border-color:var(--color-accent);transform:translateY(-5px);box-shadow:0 16px 32px -18px #0c23384d}.work-photo{aspect-ratio:4/3;background:var(--color-surface-2);border-bottom:1px solid var(--color-border);border-radius:12px 12px 0 0;justify-content:center;align-items:center;display:flex;position:relative}.work-photo svg{width:30%;color:var(--color-ink-soft);opacity:.5;transition:color .25s,opacity .25s,transform .25s}.work-card:hover .work-photo svg{color:var(--color-accent);opacity:.8;transform:scale(1.06)}.work-body{padding:16px 18px 20px}.work-tag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);margin:0 0 8px;font-size:10.5px}.work-body h3{color:var(--color-ink);margin:0;font-size:16.5px;font-weight:700}.work-body p{color:var(--color-ink-soft);margin:4px 0 0;font-size:13.5px}.works-hint{color:var(--color-ink-soft);align-items:center;gap:8px;margin:0;font-size:12.5px;display:flex}.works-hint svg{width:14px;height:14px;animation:1.6s ease-in-out infinite nudge}@keyframes nudge{0%,to{transform:translate(0)}50%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.works-hint svg{animation:none}}@media (max-width:640px){.works{padding:48px 0 56px}.works-head h2{font-size:28px}}
.calculator{background:var(--color-bg);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:64px 0 72px}.calc-head .eyebrow{margin-bottom:10px}.calc-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px;display:flex}.calc-head h2{font-family:var(--font-display);text-transform:uppercase;color:var(--color-ink);margin:0;font-size:38px;line-height:1}.calc-head p{max-width:42ch;color:var(--color-ink-soft);margin:0;font-size:15px}.calc-card{background:var(--color-accent-deep);border-radius:16px;grid-template-columns:1.05fr .95fr;display:grid;overflow:hidden}.calc-form{background:var(--color-surface);padding:36px}.field{margin-bottom:22px}.field label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-soft);margin-bottom:9px;font-size:12.5px;font-weight:700;display:block}.input-row{position:relative}.field input,.field select{width:100%;font-family:var(--font-mono);color:var(--color-ink);background:var(--color-surface-2);border:1.5px solid var(--color-border);appearance:none;border-radius:8px;padding:13px 46px 13px 16px;font-size:17px;font-weight:500}.field select{font-family:var(--font-body);cursor:pointer;font-weight:600}.field input:focus,.field select:focus{border-color:var(--color-accent);outline:none}.unit{font-family:var(--font-mono);color:var(--color-ink-soft);pointer-events:none;font-size:13px;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.unit svg{width:14px;height:14px}.calc-note{color:var(--color-ink-soft);margin:26px 0 0;font-size:12.5px;line-height:1.5}.calc-result{color:#fff;flex-direction:column;justify-content:center;padding:36px;display:flex}.calc-result-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin:0;font-size:12px}.calc-result-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin:10px 0 0;font-size:46px;font-weight:600}.calc-result-value span{color:var(--color-accent);margin-left:8px;font-size:.4em}.calc-breakdown{color:#ffffffb8;border-top:1px solid #ffffff24;flex-direction:column;gap:8px;margin-top:22px;padding-top:18px;font-size:13.5px;display:flex}.calc-breakdown div{font-family:var(--font-mono);justify-content:space-between;display:flex}@media (max-width:780px){.calc-card{grid-template-columns:1fr}}@media (max-width:640px){.calculator{padding:48px 0 56px}.calc-head h2{font-size:28px}.calc-form,.calc-result{padding:26px 22px}.calc-result-value{font-size:36px}}
.benefits{background:var(--color-bg);padding:64px 0 72px;position:relative;overflow:hidden}.benefits-bg{clip-path:polygon(50% 0%,100% 38%,100% 100%,0% 100%,0% 38%);border:2px solid var(--color-border);opacity:.6;pointer-events:none;width:340px;height:340px;position:absolute;top:-60px;right:-60px}.benefits-head .eyebrow{margin-bottom:10px}.benefits-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px;display:flex;position:relative}.benefits-head h2{font-family:var(--font-display);text-transform:uppercase;color:var(--color-ink);margin:0;font-size:34px;line-height:1.02}.benefits-head p{max-width:40ch;color:var(--color-ink-soft);margin:0;font-size:15px}.benefits-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid;position:relative}.benefit-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;padding:26px;transition:transform .25s,box-shadow .25s,border-color .25s}.benefit-card:hover{border-color:var(--color-accent);transform:translateY(-5px);box-shadow:0 16px 32px -18px #0c233847}.benefit-icon{background:var(--color-surface-2);width:46px;height:46px;color:var(--color-accent);border-radius:12px;justify-content:center;align-items:center;margin-bottom:18px;transition:background-color .25s,color .25s,transform .25s;display:flex}.benefit-card:hover .benefit-icon{background:var(--color-accent-deep);color:#fff;transform:scale(1.06)rotate(-4deg)}.benefit-icon svg{width:22px;height:22px}.benefit-card h3{color:var(--color-ink);margin:0;font-size:16.5px;font-weight:700}.benefit-card p{color:var(--color-ink-soft);margin:8px 0 0;font-size:14px}@media (max-width:900px){.benefits-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.benefits{padding:48px 0 56px}.benefits-head h2{font-size:28px}.benefits-grid{grid-template-columns:1fr}.benefits-bg{width:220px;height:220px;top:-40px;right:-40px}}
.contact-grid{grid-template-columns:.85fr 1.15fr;gap:56px;display:grid}.contact{padding:64px 0 100px}.contact-copy{background:var(--color-accent-deep);color:#fff;border-radius:16px;flex-direction:column;justify-content:center;padding:36px;display:flex;box-shadow:0 24px 48px -24px #00000059}.contact-copy h2{font-family:var(--font-display);text-transform:uppercase;color:#fff;margin:0;font-size:38px;line-height:1}.contact-copy .eyebrow{color:#fff9}.contact-copy .eyebrow .sheet-no{color:var(--color-accent)}.contact-copy .eyebrow .sep{color:#ffffff40}.contact-lead{color:#ffffffbf;max-width:40ch;margin:16px 0 0;font-size:15px}.contact-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:32px;box-shadow:0 24px 48px -24px #00000059}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-field{margin-bottom:18px}.form-field label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-soft);margin-bottom:8px;font-size:12.5px;font-weight:700;display:block}.form-field input{width:100%;font-family:var(--font-body);color:var(--color-ink);background:var(--color-surface-2);border:.5px solid var(--color-border);border-radius:8px;padding:13px 16px;font-size:15.5px}.form-field input:focus{border-color:var(--color-accent);outline:none}.form-field.invalid input{border-color:#c14b4b}.form-field small.err{color:#c14b4b;margin-top:6px;font-size:12px;display:block}.submit-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.form-status{align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.form-status.success{color:var(--color-accent)}.form-status.error{color:#c14b4b}.form-status svg{width:16px;height:16px}@media (max-width:860px){.contact-grid{grid-template-columns:1fr;gap:36px}}@media (max-width:640px){.contact{padding:48px 0 56px}.contact-copy h2{font-size:28px}.contact-form{padding:24px 20px}}.consent-wrap{margin:4px 0 18px}.consent{color:var(--color-ink-soft);cursor:pointer;align-items:flex-start;gap:10px;font-size:12.5px;display:flex}.consent input{accent-color:var(--color-accent);flex-shrink:0;margin-top:3px}.consent-wrap.invalid .consent{color:#c14b4b}.consent-wrap small.err{color:#c14b4b;margin-top:6px;margin-left:26px;font-size:12px;display:block}@media (max-width:520px){.form-row{grid-template-columns:1fr}}
