:root{--ink:#243934;--deep:#123d36;--paper:#f7f6f1;--line:#d6ddd5;--soft:#e7eee7;--rose:#c95d65;--marigold:#e69328;--lavender:#8d63a8;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}a{color:inherit;text-underline-offset:5px}header,footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 5vw;border-bottom:1px solid var(--line);font-size:14px}.brand{font:30px/1 var(--serif);text-decoration:none}.brand small{display:block;text-align:center;font:9px/2 var(--sans);letter-spacing:4px}.intro{max-width:1200px;margin:auto;padding:65px 5vw 44px}.eyebrow{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 14px}.intro h1{font:500 clamp(48px,6vw,86px)/.94 var(--serif);margin:0}.intro h1 em,.explain h2 em{font-style:italic;color:#955b57}.lede{font-size:20px;max-width:650px;margin:28px 0 18px}.model-note{font-size:13px;border-left:3px solid #b98e54;padding-left:15px;max-width:640px}.studio{max-width:1400px;margin:auto;padding:20px 5vw 75px;display:grid;grid-template-columns:310px 1fr;gap:50px}.concepts{display:grid;gap:8px}.concept,.layout-switch button,.view-toolbar button{width:100%;border:1px solid var(--line);border-radius:4px;background:white;color:inherit;text-align:left;padding:13px;cursor:pointer}.concept{display:grid;grid-template-columns:22px 1fr;gap:0 10px}.concept small{grid-column:2;font-size:12px;color:#687871}.concept.active{border-color:var(--ink);box-shadow:inset 3px 0 var(--ink)}.swatch{width:18px;height:18px;border-radius:50%;display:block;margin-top:3px}.rose{background:var(--rose)}.marigold{background:var(--marigold)}.lavender{background:var(--lavender)}.space-label{margin-top:30px}.layout-switch{display:grid;gap:7px}.layout-switch button{font-size:13px;padding:9px 11px}.concept.active,.layout-switch button.active,.view-toolbar button.active{background:var(--deep);color:white;border-color:var(--deep)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:32px;border-top:1px solid var(--line);padding-top:20px}.metrics strong{display:block;font:28px var(--serif)}.metrics span{font-size:11px;display:block;line-height:1.2;color:#607168}.small{font-size:12px;color:#687871}.cta{display:block;background:var(--deep);color:white;text-decoration:none;text-align:center;padding:13px 12px;border-radius:4px;margin-top:25px;font-size:14px}.viewport{min-width:0}.view-toolbar{display:flex;gap:7px;margin-bottom:12px}.view-toolbar button{width:auto;padding:8px 14px;font-size:13px}.model{position:relative;height:min(64vw,700px);min-height:500px;background:#9aa98e;overflow:hidden;border:1px solid var(--line);perspective:1000px}.model.plan .estate{transform:rotateX(0) rotateZ(0) scale(.85)}.model.perspective .estate{transform:rotateX(58deg) rotateZ(-11deg) scale(.92) translateY(5%)}.model.photo .estate,.model.photo .mountain{opacity:0}.mountain{position:absolute;inset:0;background:linear-gradient(150deg,#ddd8bd 0 45%,#73816b 46% 100%);clip-path:polygon(0 0,100% 0,100% 42%,70% 32%,50% 45%,25% 30%,0 48%);opacity:.55}.estate{position:absolute;left:50%;top:52%;width:min(82%,700px);aspect-ratio:1.18;transform:translate(-50%,-50%);transition:transform .7s ease}.step{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:8px solid #bbc0b2;background:#8b9287;box-shadow:0 0 0 2px #778075}.s1{width:100%;height:100%}.s2{width:91%;height:91%;border-color:#c6c8bb}.s3{width:82%;height:82%}.s4{width:73%;height:73%;border-color:#c6c8bb}.s5{width:64%;height:64%}.s6{width:55%;height:55%;border-color:#c6c8bb}.s7{width:46%;height:46%}.s8{width:37%;height:37%;border-color:#c6c8bb}.channel{position:absolute;background:#355e5a;opacity:.9}.c1,.c2{width:5%;height:76%;top:12%}.c1{left:20%}.c2{right:20%}.c3,.c4{height:5%;width:70%;left:15%}.c3{top:22%}.c4{bottom:22%}.stage{position:absolute;left:50%;top:50%;width:25%;height:21%;transform:translate(-50%,-50%);background:#72452f;border:5px solid var(--concept);box-shadow:0 5px 0 #4a3025;transition:all .6s}.model[data-concept=rose] .stage{--concept:var(--rose)}.model[data-concept=marigold] .stage{--concept:var(--marigold)}.model[data-concept=lavender] .stage{--concept:var(--lavender)}.model[data-layout=edge] .stage{top:32%}.model[data-layout=forward] .stage{top:63%}.seats{position:absolute;inset:0;background:radial-gradient(circle,#eee5d3 0 4px,transparent 5px) 10% 25%/8% 10% repeat}.decor{position:absolute;left:50%;transform:translateX(-50%);top:38%;width:32%;height:3%;background:var(--concept);box-shadow:0 0 18px var(--concept);transition:all .6s}.model[data-layout=edge] .decor{top:20%}.model[data-layout=forward] .decor{top:52%}.north{position:absolute;right:3%;top:3%;font-weight:bold;border:1px solid var(--ink);padding:3px 8px}.dimension{position:absolute;font-size:11px;background:#ffffffcc;padding:3px 7px}.width{left:50%;bottom:-1px;transform:translateX(-50%)}.depth{right:-4px;top:50%;transform:rotate(90deg)}.photo-layer{position:absolute;inset:0;display:none}.photo-layer img{width:100%;height:100%;object-fit:cover}.model.photo .photo-layer{display:block}.model.photo .photo-layer:after{content:'Completed Panigrahana wedding · Nividha & Sanhil';position:absolute;bottom:0;left:0;right:0;background:#13261ecc;color:white;padding:15px}.viewport>p{font-size:12px;margin-top:10px;color:#64736c}.explain,.questions{max-width:1200px;margin:auto;padding:65px 5vw;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:70px}.explain h2{font:500 clamp(34px,4vw,54px)/.98 var(--serif);margin:0}.copy{max-width:530px}.questions{grid-template-columns:1fr 2fr}.question-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.question-grid p{background:white;padding:20px;margin:0}.questions .eyebrow{margin:0}footer{border-top:1px solid var(--line);border-bottom:0;margin-top:20px}@media(max-width:900px){.studio{grid-template-columns:1fr}.viewport{order:-1}.model{min-height:420px}.explain,.questions{grid-template-columns:1fr;gap:25px}}@media(max-width:600px){header,footer{padding:16px 20px}.intro,.studio,.explain,.questions{padding-left:20px;padding-right:20px}.intro{padding-top:42px}.intro h1{font-size:52px}.lede{font-size:18px}.model{min-height:360px;height:100vw}.metrics strong{font-size:24px}.question-grid{grid-template-columns:1fr}footer{display:block}footer span{display:block;margin-top:12px}}
