:root{--ink:#102822;--green:#a8d41c;--green-dark:#6f9600;--paper:#f2f4ef;--line:#d9ded9;--muted:#68766f;--blue:#0b4f91}
.generated-view{position:absolute;left:50%;top:50%;width:136%;height:136%;display:block;object-fit:contain;object-position:center;transform:translate(-50%,-50%)}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
.site-header{height:76px;padding:0 clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}
.site-header img{display:block;width:148px;height:52px;object-fit:contain}
.halo-mark{display:flex;align-items:center;gap:10px}
.halo-mark strong{font-size:23px;letter-spacing:-.05em}
.halo-symbol{width:27px;height:27px;display:flex;align-items:end;gap:2px}
.halo-symbol i{display:block;width:8px;background:var(--ink);transform:skewY(-28deg)}
.halo-symbol i:nth-child(1){height:14px}
.halo-symbol i:nth-child(2){height:21px}
.halo-symbol i:nth-child(3){height:27px;background:var(--green-dark)}
main{max-width:1500px;margin:0 auto}
.hero{min-height:650px;display:grid;grid-template-columns:minmax(340px,.88fr) minmax(440px,1.12fr);background:#fff}
.hero-copy{padding:clamp(70px,8vw,126px) clamp(34px,7vw,110px)}
.eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 28px;color:var(--green-dark);font-size:10px;font-weight:800;letter-spacing:.17em}
.eyebrow span{width:26px;height:2px;background:var(--green)}
h1{max-width:660px;margin:0;font:400 clamp(43px,5.3vw,78px)/.98 Georgia,"Times New Roman",serif;letter-spacing:-.055em}
.lead{max-width:620px;margin:31px 0 36px;color:var(--muted);font-size:16px;line-height:1.7}
.primary-button{display:inline-flex;align-items:center;gap:26px;padding:18px 23px;color:var(--ink);background:var(--green);font-size:12px;font-weight:800;text-decoration:none;box-shadow:0 10px 25px rgba(111,150,0,.18);transition:transform .18s,background .18s}
.primary-button:hover{background:#b8e32b;transform:translateY(-2px)}
.primary-button span{font-size:18px}
.notice{max-width:560px;margin:30px 0 0;padding-top:20px;border-top:1px solid var(--line);color:#82908a;font-size:10px;line-height:1.6}
.visual{position:relative;min-height:650px;overflow:hidden;background:#fff}
.grid{position:absolute;inset:0;background-image:linear-gradient(rgba(16,40,34,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(16,40,34,.06) 1px,transparent 1px);background-size:42px 42px;transform:perspective(600px) rotateX(57deg) scale(1.5);transform-origin:center bottom}
.hall{position:absolute;left:14%;right:12%;top:30%;height:45%;filter:drop-shadow(0 30px 24px rgba(16,40,34,.19))}
.front{position:absolute;left:0;bottom:0;width:62%;height:58%;background:#d9ddd8;clip-path:polygon(0 22%,50% 0,100% 22%,100% 100%,0 100%);border-bottom:9px solid #b8beba}
.front i{position:relative;display:inline-block;width:15%;height:48%;margin:29% 3% 0;background:#53645d}
.front i:first-child{margin-left:9%}
.front i:nth-child(3){width:23%;background:#73817b}
.side{position:absolute;left:62%;bottom:0;width:38%;height:45%;background:#c4cac4;clip-path:polygon(0 0,100% 17%,100% 100%,0 100%)}
.roof{position:absolute;z-index:2;left:0;top:0;width:100%;height:39%;background:#f7f8f6;clip-path:polygon(0 59%,31% 0,100% 25%,62% 100%);box-shadow:inset 0 -3px rgba(16,40,34,.12)}
.dimension{position:absolute;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.04em}
.dimension:before,.dimension:after{content:"";position:absolute;background:var(--blue)}
.dimension-width{left:14%;bottom:17%;width:49%;padding-top:10px;text-align:center;border-top:1px solid var(--blue)}
.dimension-length{right:4%;top:36%;height:38%;padding-left:12px;writing-mode:vertical-rl;border-left:1px solid var(--blue)}
.status{position:absolute;right:7%;bottom:7%;display:flex;align-items:center;gap:11px;padding:14px 17px;background:#fff;box-shadow:0 10px 25px rgba(16,40,34,.12);color:var(--muted);font-size:9px;line-height:1.5}
.status i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(168,212,28,.2)}
.status strong{color:var(--ink)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);background:var(--ink);color:#fff}
.steps article{position:relative;min-height:230px;padding:50px clamp(28px,4vw,60px);border-right:1px solid rgba(255,255,255,.13)}
.steps article:last-child{border-right:0}
.steps b{position:absolute;right:25px;top:22px;color:rgba(255,255,255,.16);font:400 42px Georgia,serif}
.steps h2{margin:20px 0 13px;font:400 24px Georgia,serif}
.steps p{max-width:310px;margin:0;color:#aab9b3;font-size:11px;line-height:1.7}
footer{max-width:1500px;margin:0 auto;padding:28px clamp(22px,5vw,76px);display:flex;justify-content:space-between;gap:20px;color:#7d8984;background:#fff;font-size:10px}
footer a{color:var(--green-dark);font-weight:800;text-decoration:none}
@media(max-width:900px){.hero{grid-template-columns:1fr}
.hero-copy{padding:65px 28px}
.visual{min-height:470px}
.steps{grid-template-columns:1fr}
.steps article{min-height:180px;border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}
}
@media(max-width:560px){.site-header{height:66px;padding:0 18px}
.site-header img{width:116px}
.hero-copy{padding:55px 22px}
h1{font-size:43px}
.visual{min-height:390px}
.hall{left:7%;right:5%;top:27%}
.status{right:4%;bottom:4%}
footer{flex-direction:column}
}
