/* Soft glass surfaces, with an opaque fallback for browsers without blur. */
.button,.text-button,.dialog-close,.room-open,.menu-toggle,.footer-bottom button,.room-choices span{
  -webkit-backdrop-filter:blur(18px) saturate(155%);
  backdrop-filter:blur(18px) saturate(155%);
  border:1px solid rgba(255,255,255,.65);
  background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(255,255,255,.4));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),inset 0 -1px 0 rgba(255,255,255,.2),0 8px 24px rgba(29,38,29,.07);
}
.button,.text-button{border-radius:999px;isolation:isolate;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s,background .35s,border-color .35s;color:var(--ink)}
.button::after,.text-button::after{content:'';position:absolute;z-index:-1;inset:-40% auto -40% -50%;width:35%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:skewX(-25deg);transition:left .75s var(--ease);pointer-events:none}
.button:hover::after,.text-button:hover::after{left:120%}
.button:hover,.text-button:hover{transform:translateY(-3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 12px 30px rgba(29,38,29,.12);border-color:rgba(255,255,255,.9)}
.button:active,.text-button:active{transform:translateY(0) scale(.98)}
.button-dark{color:white;border-color:rgba(255,255,255,.3);background:linear-gradient(145deg,rgba(64,77,60,.94),rgba(32,43,33,.9));box-shadow:inset 0 1px 0 rgba(255,255,255,.27),inset 0 -1px 0 rgba(0,0,0,.08),0 8px 24px rgba(29,38,29,.15)}
.button-dark:hover{background:linear-gradient(145deg,rgba(74,89,67,.96),rgba(36,47,35,.94));border-color:rgba(255,255,255,.5)}
.button-light,.button-outline{background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,255,255,.4));color:var(--ink)}
.hero .button-light{background:linear-gradient(145deg,rgba(45,59,42,.72),rgba(29,42,29,.68));border-color:rgba(255,255,255,.58);color:white;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 12px 40px rgba(0,0,0,.12);backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%)}
.hero .button-light:hover{background:linear-gradient(145deg,rgba(54,69,48,.79),rgba(36,50,33,.76))}
.button:focus-visible,.text-button:focus-visible{border-radius:999px;outline-offset:5px}
.hero .button:focus-visible{outline-color:white}
.header-cta{min-height:48px;padding:12px 24px}
.text-button{position:relative;padding:16px 22px;border-bottom-width:1px;min-height:54px}
.text-button:hover{color:var(--ink)}
.material-content .text-button{background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.04));border-color:rgba(255,255,255,.25);color:#f5f2eb;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 8px 24px rgba(0,0,0,.07)}
.material-content .text-button:hover{background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.08));border-color:rgba(255,255,255,.45)}
.material-content .small-plus{font-size:22px}
.hero-tabs{padding:6px;gap:4px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:linear-gradient(145deg,rgba(32,42,31,.78),rgba(32,42,31,.74));backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 10px 30px rgba(0,0,0,.1)}
.hero-tabs button{min-width:104px;justify-content:center;padding:12px 16px;border:1px solid transparent;border-radius:999px;color:#f0f1eb;transition:background .3s,border-color .3s,box-shadow .3s}
.hero-tabs button.active{background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.04));border-color:rgba(255,255,255,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 3px 10px rgba(0,0,0,.08)}
.hero-tabs button:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2)}
.hero-tabs button:focus-visible{outline-color:white;outline-offset:2px}
.hero-caption{bottom:88px}
.room-open{border-radius:50%;background:rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 4px 15px rgba(0,0,0,.08)}
.room-card:hover .room-open{background:rgba(255,255,255,.75)}
.dialog-close{background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(255,255,255,.62));border-color:rgba(255,255,255,.85);width:44px;height:44px;transition:transform .3s,background .3s}
.dialog-close:hover{transform:rotate(90deg);background:rgba(255,255,255,.93)}
.menu-toggle{width:44px;border-radius:50%;padding:8px 5px;background:rgba(255,255,255,.55);border-color:#e6e8df;box-shadow:inset 0 1px 0 white,0 3px 14px #28342608}
.menu-toggle span{width:22px;margin:7px auto}
.swatch{background:rgba(255,255,255,.06);box-shadow:inset 0 1px 0 #ffffff26;transition:border .3s,transform .3s,box-shadow .3s}
.swatch.active{border-color:#ded7c8;box-shadow:inset 0 1px 0 #ffffff50,0 0 0 3px #ffffff08}
.room-choices span{border-radius:14px;border-color:#cdd2c6;background:linear-gradient(145deg,#ffffffb8,#ffffff59);color:var(--ink);cursor:pointer}
.room-choices input:checked+span{background:linear-gradient(145deg,#465440,#293629);border-color:#53654a;color:white;box-shadow:inset 0 1px 0 #ffffff35,0 6px 14px #29362914}
.room-choices input:focus-visible+span{outline-offset:4px}
.result-actions .button{font-size:14px;min-height:50px}
#email-summary{flex-basis:100%;justify-content:space-between;padding:16px 24px}
#email-summary::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;order:2}
#project-summary{border-radius:16px;background:linear-gradient(145deg,#ffffff9c,#ffffff38);border-color:#ffffffb0;font-size:14px}
input,select,textarea{border-radius:12px;background:rgba(255,255,255,.58);transition:border-color .3s,box-shadow .3s}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #7f684713}
.plan-status{border-radius:14px}
dialog{border-radius:24px;border:1px solid rgba(255,255,255,.55)}
.contact-section{background:radial-gradient(ellipse at 88% 12%,#f3f1e8 0%,transparent 45%),linear-gradient(120deg,#dfe2d5,#d7dece)}
.contact-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.contact-actions .button{min-height:60px}
.contact-actions .button-outline{background:linear-gradient(145deg,#ffffff70,#ffffff20)}
.contact-details{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;margin-top:42px;max-width:720px}
.contact-details a{padding:20px 24px;display:flex;flex-direction:column;gap:8px;min-width:0;border-radius:22px;border:1px solid #ffffffad;background:linear-gradient(145deg,#ffffff50,#ffffff1c);box-shadow:inset 0 1px 0 #ffffffbd,0 8px 30px #2a362909;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:background .3s,transform .3s,box-shadow .3s}
.contact-details a:hover{background:linear-gradient(145deg,#ffffff94,#ffffff36);transform:translateY(-3px);box-shadow:inset 0 1px 0 white,0 12px 30px #2a362912}
.contact-label{font-size:12px;letter-spacing:.16em;color:#626c59}
.contact-details a>span:last-child{font-size:16px;overflow-wrap:anywhere}
.footer-about{min-width:0;display:flex;align-items:flex-start;flex-direction:column;gap:10px;font-size:14px;color:var(--muted)}
.footer-about p{margin-bottom:7px;line-height:1.9}
.footer-about a{overflow-wrap:anywhere;transition:color .3s}
.footer-about a:hover{color:var(--ink)}
.footer-bottom>div{flex-wrap:wrap;gap:8px}
.footer-bottom button{padding:7px 12px;min-height:36px;border-radius:999px;font-size:12px;border-color:#e0e3d8;transition:background .3s,box-shadow .3s}
.footer-bottom button:hover{background:rgba(255,255,255,.85);box-shadow:inset 0 1px 0 white,0 6px 18px #2a362912}
.faq-list summary span{width:30px;height:30px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;border:1px solid #ffffffbd;background:rgba(255,255,255,.55);box-shadow:inset 0 1px 0 white;font-size:22px}
@supports not (backdrop-filter:blur(1px)){.button-light,.button-outline,.text-button{background:#f7f5ee}.button-dark{background:#31412f}.hero .button-light{background:#e9ece4;color:var(--ink)}.material-content .text-button{background:#3c4a39}.hero-tabs{background:#293629}.dialog-close{background:#f5f2eb}}
@media(max-width:1100px){.hero-tabs button{min-width:85px;padding:11px 12px}.contact-bottom{gap:25px}.contact-bottom>p{max-width:270px;font-size:14px}.contact-actions .button{padding:15px 23px;gap:22px}}
@media(max-width:800px){.hero-tabs{gap:4px}.hero-tabs button{min-width:0;flex:1;padding:12px 10px;gap:8px}.hero-caption{bottom:89px}.contact-bottom{display:block}.contact-bottom>p{text-align:left;margin-top:25px}.header-cta{padding:12px 18px;font-size:12px}.footer-about{grid-column:1/-1;grid-row:2}.footer-top nav{grid-column:2;grid-row:1;align-items:flex-end;flex-direction:column;justify-content:flex-start;font-size:14px;gap:12px}}
@media(max-width:560px){.hero-tabs{padding:5px;gap:2px}.hero-tabs button{font-size:12px;padding:10px 5px;line-height:1.4}.hero-tabs button span{margin-bottom:3px;padding:0;font-size:10px}.hero-caption{bottom:89px}.header-cta{min-height:44px;padding:10px 14px}.header-actions{gap:10px}.menu-toggle{width:42px;height:42px}.contact-actions{gap:12px}.contact-actions .button{font-size:13px;min-height:54px;padding:15px 20px;gap:18px}.contact-details{grid-template-columns:1fr;gap:14px;margin-top:30px}.contact-details a{padding:17px 22px}.contact-details a>span:last-child{font-size:16px}.contact-label{font-size:11px}.footer-about{font-size:14px}.footer-top{grid-template-columns:1fr 1fr}.footer-bottom button{min-height:42px;font-size:12px}.result-actions .button{font-size:13px}#email-summary{flex-basis:auto;justify-content:space-between}.room-detail-image{overflow:hidden}}
@media(max-width:380px){.hero-tabs button{font-size:11px}.hero-caption{font-size:10px!important}.contact-actions .button{width:100%;justify-content:space-between}.header-actions{gap:0}}
@media(prefers-reduced-motion:reduce){.button:hover,.text-button:hover,.button:active,.text-button:active,.contact-details a:hover,.dialog-close:hover{transform:none}.button::after,.text-button::after{display:none}}
@media(prefers-reduced-transparency:reduce){.button-dark{background:#31412f}.button-light,.button-outline,.hero .button-light{background:#f5f2eb;color:var(--ink)}.material-content .text-button{background:#3c4a39}.hero-tabs{background:#293629}.hero-tabs button.active{background:#51654b}}
.logo::after{content:'';position:absolute;z-index:1;top:-50%;bottom:-50%;left:0;width:32%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1) 20%,rgba(255,255,255,.95) 50%,rgba(255,255,255,.1) 80%,transparent);mix-blend-mode:screen;pointer-events:none;animation:obl-logo-shine 3s ease-in-out infinite;will-change:transform;opacity:0}
@keyframes obl-logo-shine{0%,64%{transform:translateX(-180%) skewX(-22deg);opacity:0}65%{opacity:.95}92%{transform:translateX(430%) skewX(-22deg);opacity:.95}100%{transform:translateX(430%) skewX(-22deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.logo::after{animation:none;display:none}}
