/* One action system for contact, forms, dialogs and the Floor Studio. */
.action-icon{width:1.2rem;height:1.2rem;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* Shared laptop-era limits must not compress large-screen compositions. */
.story-hero h1{max-width:75rem}
.surface-panel{height:100%;min-height:41.25rem}
.panel-top{left:2.5rem;right:2.5rem;top:1.875rem}
.panel-tags>span{padding:.3125rem .6875rem}
.button-sand,.button-dark,.button-outline,.phone-button{
 display:inline-flex;align-items:center;justify-content:space-between;gap:1.25rem;
 min-height:3.5rem;max-width:100%;padding:1rem 1.4rem;border:.0625rem solid transparent;border-radius:.3rem;
 font-family:var(--sans);font-size:.875rem;font-weight:600;line-height:1.4;letter-spacing:0;text-align:left;text-decoration:none;
 cursor:pointer;transition:background .18s,border-color .18s,color .18s,box-shadow .18s;
}
.button-sand{background:var(--sand);border-color:var(--sand);color:var(--night)}
.button-sand:hover{background:#eee2d0;border-color:#eee2d0;transform:none}
.button-dark,.inner-page .button-dark{font-size:.875rem;font-weight:600;background:var(--blue);color:white;border:.0625rem solid var(--blue);padding:1rem 1.4rem;min-height:3.5rem;gap:1.25rem}
.button-dark:hover{background:var(--night);border-color:var(--night)}
.button-dark>span,.button-sand>span{font-size:1.5rem;line-height:1;font-weight:400;flex:none}
.phone-button,.button-outline{background:transparent;border-color:#16394370;color:var(--ink);justify-content:center;margin:0;white-space:normal}
.phone-button>span{font:inherit;white-space:nowrap}
.phone-button:hover,.button-outline:hover{background:#1639430b;border-color:var(--ink)}
.page-cta .phone-button,.global-footer .phone-button,.site-header .phone-button,.mobile-cta .phone-button{border-color:#ffffff80;color:white;background:#ffffff04}
.page-cta .phone-button:hover,.global-footer .phone-button:hover,.site-header .phone-button:hover,.mobile-cta .phone-button:hover{background:#ffffff12;border-color:#ffffffd9}
.cta-actions{display:grid;gap:.8rem;max-width:29rem;width:100%;align-items:stretch}
.cta-actions>.button-sand,.cta-actions>.button-dark,.cta-actions>.phone-button{width:100%;min-height:3.65rem;margin:0}
.cta-actions>.button-sand{justify-content:space-between}
.page-cta>div:last-child{max-width:29rem;width:100%}
.page-cta .cta-actions{margin-top:1.875rem}
.page-cta .cta-actions>a{font-size:.875rem}
.page-cta p:not(.eyebrow){margin-bottom:0}
.footer-grid>.footer-brand>.phone-button{display:inline-flex;width:fit-content;font:600 .875rem/1.4 var(--sans);color:white;margin-top:1.5rem;margin-bottom:0;min-height:3.25rem;padding:.85rem 1.1rem;gap:.75rem}
.site-header .header-phone{display:inline-flex;min-height:3.125rem;padding:0 1rem;font-size:.875rem;gap:.65rem;white-space:nowrap}
.site-header .header-phone .action-icon{width:1rem;height:1rem}
.site-header .mobile-phone{display:flex;justify-content:center;width:100%;min-height:3.25rem;margin-top:1.5rem;padding:.9rem 1rem;font-size:.875rem;border:.0625rem solid #ffffff80;border-radius:.3rem}
.site-header .mobile-phone>span{font:inherit;color:inherit}
.contact-details>.contact-number{display:inline-flex;width:fit-content;font:600 1.0625rem/1.4 var(--sans);min-height:3.8rem;padding:1rem 1.25rem;gap:.8rem;margin-bottom:1.5rem;color:var(--ink)}
.contact-bottom{display:grid;grid-template-columns:1fr minmax(20rem,29rem);gap:3rem;align-items:center;margin-top:3rem;padding-top:2.25rem}
.contact-bottom>.cta-actions{justify-self:end}
.contact-bottom>.cta-actions a{font-size:1rem}
.mobile-cta .quick-project{display:flex;align-items:center;justify-content:center;gap:.6rem;border:.0625rem solid var(--sand);border-radius:.3rem;font-weight:600}
.mobile-cta .quick-project>span{font-size:1.1rem;font-weight:400}
/* Discovery links remain links; action controls have a defined surface. */
.text-link:hover{color:var(--blue);border-bottom-color:currentColor}
.about-section .text-link:hover{color:var(--sand)}
.global-footer a:not(.phone-button):hover{color:var(--sand);text-decoration:underline;text-underline-offset:.25em}
.breadcrumbs a:hover,.region-neighbours a:hover{text-decoration-thickness:2px}
.finder-open,#finder-reset,#edit-brief{display:inline-flex;align-items:center;justify-content:space-between;min-height:3.25rem;gap:1.5rem;padding:.875rem 1.15rem;border:.0625rem solid #16394360;border-radius:.3rem;background:transparent;color:var(--ink);font:600 .875rem/1.4 var(--sans);text-align:left}
.finder-open:hover,#finder-reset:hover,#edit-brief:hover{background:#16394308;border-color:var(--ink)}
.manifesto-side .finder-open{max-width:100%;margin-top:1.5rem}
.explorer-foot .finder-open{color:var(--sand);border-color:#dfd0bb80;padding:.875rem 1.15rem;letter-spacing:0}
.explorer-foot .finder-open:hover{background:#ffffff08;border-color:var(--sand)}
.finder-open>span{font-size:1.2rem;font-weight:400}
.studio-save{padding:.8rem 1.05rem;min-height:3rem;border:.0625rem solid #dfd0bb80;border-radius:.3rem;gap:1rem;font-size:.8125rem}
.studio-save:hover{background:#ffffff0a;border-color:var(--sand)}
.studio-consult{min-height:3.5rem;border:.0625rem solid var(--blue);border-radius:.3rem;font-size:.875rem;font-weight:600;padding:.9rem 1.1rem}
.studio-compare,.studio-edit-tabs button{min-height:2.75rem}
.studio-rooms label>span{min-height:2.75rem;display:flex;align-items:center;justify-content:center}
.studio-sheen label>span{min-height:2.75rem;display:flex;align-items:center;justify-content:center}
.footer-grid>div:not(.footer-brand)>a{min-height:2.75rem;padding:.55rem 0;margin-bottom:0;display:flex;align-items:center}
.look-copy{min-height:3.5rem;border-radius:.3rem;font-weight:600;padding:.9rem 1.1rem;transition:background .18s}
.look-copy:hover{background:#125f7b0b}
.look-dialog-shell>.button-dark{display:flex;width:100%;margin-top:.75rem}
/* Match modal and form scale to the page instead of inheriting laptop pixel values. */
dialog{width:min(43rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);border-radius:.4rem;box-shadow:0 2rem 6rem #001d2966}
.finder-shell{padding:3rem 2.5rem 2.5rem}
.finder-shell>h2{font-size:3.5rem;margin:1.25rem 0 1.5rem}
.finder-shell>.eyebrow{font-size:.625rem;padding-right:2.5rem}
.finder-intro{font-size:1rem;line-height:1.7;margin-bottom:1.75rem}
.finder-options{border:0;display:grid;gap:.6rem}
.finder-options>button{font-size:.9375rem;min-height:3.75rem;border:.0625rem solid #16394330;border-radius:.3rem;padding:1rem 1.1rem;gap:1.5rem;background:#fff5}
.finder-options>button:hover{background:#dfd0bb55;padding-left:1.1rem;border-color:var(--blue)}
.finder-options b{font-size:1.5rem}
.finder-result h3{font-size:2.75rem;margin:1.25rem 0}
.finder-result p{font-size:1rem;line-height:1.7}
.finder-result .button-dark{margin:1.5rem 0 1rem}
.finder-result>small{display:block;font-size:.75rem;line-height:1.65;margin-top:1.25rem}
#finder-reset{margin-top:.5rem;font-size:.8125rem}
.dialog-close,.look-dialog-close{display:grid;place-items:center;top:1rem;right:1rem;min-width:2.75rem;width:2.75rem;height:2.75rem;line-height:1;font-size:1.65rem;border:.0625rem solid #16394335;border-radius:50%;background:#f4f3ed;color:var(--ink);z-index:2}
.dialog-close:hover,.look-dialog-close:hover{background:var(--sand);border-color:var(--sand)}
#brief-result .button-dark,#brief-result .button-sand{display:flex;width:100%;margin-top:1rem;margin-bottom:0}
#brief-result #edit-brief{display:inline-flex;width:auto;margin-top:1.25rem;font-size:.8125rem}
#project-brief>button{margin:1.5rem 0 1rem}
#project-brief :is(input,select,textarea),#brief-text{border-radius:.25rem;transition:border-color .18s,box-shadow .18s}
#project-brief :is(input,select,textarea):hover,#brief-text:hover{border-color:#688a92}
#project-brief :is(input,select,textarea):focus-visible,#brief-text:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-color:var(--blue)}
#brief-status{font-size:.875rem;line-height:1.6;margin:1rem 0;color:var(--blue)}
/* Common focus and pressed states are visible on both light and dark surfaces. */
:is(.button-sand,.button-dark,.button-outline,.phone-button,.finder-open,.studio-save,.studio-consult,.look-copy,#finder-reset,#edit-brief,.dialog-close,.look-dialog-close):focus-visible{outline:.1875rem solid var(--teal);outline-offset:.25rem;box-shadow:0 0 0 1px var(--paper)}
:is(.button-sand,.button-dark,.phone-button,.finder-open,.studio-save,.studio-consult,.look-copy):active{box-shadow:inset 0 0 0 999px #0000000b}
:is(.button-sand,.button-dark,.phone-button):disabled,:is(.button-sand,.button-dark,.phone-button)[aria-disabled=true]{opacity:.55;cursor:not-allowed}
@media(max-width:1150px){.site-header .header-phone{display:none}.contact-bottom{grid-template-columns:1fr minmax(18rem,26rem);gap:2rem}}
@media(max-width:900px){.contact-bottom{grid-template-columns:1fr 1fr;gap:2rem}.footer-grid>.footer-brand>.phone-button{font-size:.8125rem;margin:0;padding:.8rem .9rem;min-height:3rem}.contact-details>.contact-number{font-size:.9375rem;padding:1rem}.page-cta .cta-actions>a{font-size:.8125rem;padding:.9rem 1rem;gap:1rem}}
@media(max-width:600px){
 .surface-panel{height:auto;min-height:35.625rem}.panel-top{left:1.375rem;right:1.375rem;top:1.375rem}
 .button-sand,.button-dark,.button-outline,.phone-button,.inner-page .button-dark{min-height:3.25rem;padding:.95rem 1.1rem;font-size:.875rem;gap:1rem}
 .cta-actions{max-width:none;gap:.75rem}.cta-actions>.button-sand,.cta-actions>.button-dark,.cta-actions>.phone-button{min-height:3.5rem}.page-cta .cta-actions>a{font-size:.875rem;padding:.95rem 1.1rem;gap:1rem}
 .contact-bottom{display:block;margin-top:2rem;padding-top:1.75rem}.contact-bottom>.cta-actions{margin-top:1.75rem}.contact-bottom>.cta-actions a{font-size:.875rem}
 .contact-details>.contact-number{font-size:1rem;min-height:3.5rem;margin-bottom:1.5rem}
 .footer-grid>.footer-brand>.phone-button{font-size:.875rem;margin-top:1.25rem;padding:.85rem 1.1rem;min-height:3.25rem}
 .mobile-cta.visible{gap:.65rem;padding:.625rem .875rem max(.625rem,env(safe-area-inset-bottom))}
 .mobile-cta .phone-button,.mobile-cta .quick-project{display:flex;flex:1;min-height:2.875rem;min-width:0;margin:0;padding:.75rem .55rem;font-size:.75rem;gap:.45rem;line-height:1.3}
 .mobile-cta .phone-button .action-icon{width:1rem;height:1rem}
 .studio-save{min-height:2.875rem;font-size:.6875rem;gap:.5rem;padding:.6rem .7rem}.studio-save>span{font-size:1.1rem}
 .studio-scene-footer{gap:.7rem}.studio-scene-footer strong{font-size:1.25rem}
 .finder-open,#finder-reset,#edit-brief{font-size:.8125rem;min-height:3.125rem;padding:.875rem 1rem}
 .finder-shell{padding:3.75rem 1.25rem 1.5rem}.finder-shell>h2{font-size:2.75rem;margin:1.1rem 0 1.25rem}.finder-intro{font-size:.9375rem}.finder-shell>.eyebrow{padding-right:1.5rem;font-size:.5625rem}
 .finder-options>button{font-size:.9375rem;padding:1rem;gap:1rem}.finder-options>button:hover{padding-left:1rem}.finder-result h3{font-size:2.4rem}.finder-result p{font-size:.9375rem}
 .dialog-close,.look-dialog-close{top:.75rem;right:.75rem}.look-dialog-shell{padding-top:3.75rem}
 .look-dialog-shell>.eyebrow{padding-right:1rem}.look-dialog-shell .button-dark{font-size:.8125rem;gap:1rem}
}
@media(prefers-reduced-motion:reduce){.button-sand,.button-dark,.button-outline,.phone-button,.look-copy{transition:none}}
.enquiry-panel form { display:grid; gap:1.35rem; }
.enquiry-panel label { display:grid; gap:.5rem; }
.enquiry-panel input:not([type="checkbox"]), .enquiry-panel select, .enquiry-panel textarea { width:100%; min-width:0; box-sizing:border-box; padding:.9em 1em; border:1px solid #9cacab; border-radius:0; background:#fff; color:#0a252e; font:inherit; }
.enquiry-panel textarea { resize:vertical; }
.enquiry-panel .field-optional { font-size:.85em; opacity:.75; }
.enquiry-panel .enquiry-consent { display:flex; align-items:flex-start; gap:.75em; font-size:.9em; line-height:1.6; }
.enquiry-consent input { margin-top:.3em; width:1.2em; height:1.2em; flex-shrink:0; accent-color:#125f7b; }
.enquiry-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.enquiry-status:empty { display:none; }
.enquiry-status { margin:0; padding:1em; background:#e3ece9; color:#0a252e; }
.enquiry-status.is-error { border-left:3px solid #9d3528; background:#f8eee9; }
.enquiry-panel [hidden] { display:none !important; }
.enquiry-panel a:not(.button-dark):not(.phone-button) { text-decoration:underline; text-underline-offset:.2em; overflow-wrap:anywhere; }
.enquiry-panel button:disabled { opacity:.65; cursor:wait; }
.enquiry-success:focus { outline:2px solid #26a1af; outline-offset:8px; }

.enquiry-panel .field-pair { gap:1.35rem; }
.enquiry-panel input:focus-visible, .enquiry-panel select:focus-visible, .enquiry-panel textarea:focus-visible { outline:2px solid var(--blue); outline-offset:2px; }
