/* SK architectural editorial refresh — responsive, accessible, local review. */
:root{--paper:#f7f4ed;--ink:#2e2a25;--stone:#e7e0d4;--muted:#64655d;--bronze:#946b3e;--line:#d9d0c2;--sk-rust:#946b3e;--sk-dark:#2e2a25;--sk-sand:#e7dfd1;--sk-white:#fffefa;--gutter:clamp(24px,6vw,100px)}
body{background:var(--paper);color:var(--ink)}
a,button,input,select,textarea{ -webkit-tap-highlight-color:transparent }
.site-header.scrolled,.service-page .site-header{background:rgba(255,254,250,.97);border-bottom:1px solid #d9d0c2;box-shadow:none}
.site-header .header-cta{background:var(--sk-rust);color:white;border:1px solid var(--sk-rust);padding:12px 22px}
.site-header .header-cta:hover{background:#75402f}.site-header .nav a:hover{color:var(--sk-rust)}
.button{transition:background .2s ease,color .2s ease}.button:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #a04f31;outline-offset:5px}
.kicker{color:var(--sk-rust);letter-spacing:.05em;font-weight:500}.section h2{font-weight:300;letter-spacing:-.04em}
.hero .hero-copy{max-width:1000px}.hero .hero-copy h1{line-height:1.06}.hero .actions .button{background:var(--sk-rust);color:white;border:1px solid var(--sk-rust)}
.hero .hero-bottom{border-top:1px solid #ffffff60;padding-top:20px}.hero .eyebrow:before{content:'';display:inline-block;width:36px;height:1px;background:currentColor;margin-left:14px;vertical-align:middle}
.gallery{padding-block:96px;background:var(--sk-white)}.gallery.audit-interiors{background:#ebe2d5}
.gallery .section-head{max-width:1600px;margin-inline:auto;align-items:end;gap:40px}
.gallery .section-head h2{font-weight:300;max-width:750px}.gallery .section-head>a,.gallery .section-head .text-link{color:var(--sk-rust)}
#spaces .home-project-grid,.home-project-grid.project-grid,.projects-page .home-project-grid,.project-grid{counter-reset:house;gap:64px 42px}
.home-project-card{counter-increment:house;background:transparent;border:0;box-shadow:none}
.home-project-card .house-card-copy{position:relative;padding:24px 0 0;border-top:1px solid var(--line);margin-top:18px}
.home-project-card .house-card-copy:before{content:counter(house,decimal-leading-zero);display:block;font:400 12px/1.2 Arial,sans-serif;letter-spacing:.1em;color:var(--sk-rust);margin-bottom:12px}
.home-project-card .house-name{font-size:clamp(27px,2.8vw,40px);font-weight:400;line-height:1.2;margin:0 0 10px;letter-spacing:-.025em}
.home-project-card .house-summary{font-size:18px;line-height:1.65;color:#625e5a;max-width:600px}
.home-project-card .house-open{display:inline-block;color:var(--sk-rust);font-size:17px;margin-top:14px;border-bottom:1px solid #b78e7f;padding-bottom:5px}
.visual-kind{display:inline-block!important;background:#e9e2d8;color:#5b554b;font-size:12px!important;padding:4px 9px;margin-inline-start:12px;border:0!important;line-height:1.4}
.home-project-card .project-card-gallery.sk-carousel{background:#e3dbce}
.home-project-card .sk-gallery-controls{padding-inline:3px}.home-project-card .sk-gallery-controls button{border:1px solid #c8bba9;background:transparent;color:var(--ink)}
.home-project-card .sk-gallery-controls button:hover{background:#e9dfd1}
.gallery-group-title{color:var(--sk-rust);border-bottom:1px solid var(--line);padding-bottom:20px;font-size:28px!important}
.intro{background:var(--paper);position:relative}.intro:before{content:'';position:absolute;top:0;right:var(--gutter);width:1px;height:52px;background:var(--sk-rust)}
.whole{background:var(--sk-dark);color:#f7f4ed;position:relative}.whole .kicker,.whole .benefit span{color:#d6ac8c}.whole .whole-head p,.whole .benefit p{color:#dadbd1}.whole .benefit{border-top-color:#74706b}.whole .split-image{gap:32px;align-items:start}.whole .split-image figure:nth-child(2){margin-top:90px}.whole .split-image img{height:510px}.whole .split-image figure:nth-child(2) img{height:340px}.whole .split-image figcaption{color:#c7c1bb}
.services{background:#eee7dc}.services .service-rows article{padding:32px 0}.services .service-rows h3{font-size:32px}.services .service-rows small{color:var(--sk-rust);font-size:14px}
.since{background:var(--sk-rust);color:#fff7ed;border:0;position:relative;overflow:hidden}.since .kicker{color:#edc6a9}.since .year{font-size:clamp(110px,15vw,220px);color:#e8baa1;font-weight:300;letter-spacing:-.07em}.since .text-link{color:#fff7ed;border-bottom-color:#e5bea9}.since a{color:inherit;text-underline-offset:5px}
.workflow{background:var(--sk-white)}.workflow-panels{border-color:#bfb1a0}.workflow-rail button[aria-selected=true] .step-node{background:var(--sk-rust);border-color:var(--sk-rust)}.workflow-rail button[aria-selected=true] .step-node:after{border-color:#c3977c}.workflow-panels .panel-index{color:#bca891}.workflow-panels .panel-kicker,.stage-outcome span{color:var(--sk-rust)}
.faq{background:#e8e4e0}.faq summary{font-weight:400}.faq details{border-bottom-color:#c6c0b9}.faq summary:after{color:var(--sk-rust)}
/* Strong editorial hierarchy for galleries and articles. */
.villa-main{max-width:1440px;margin:auto;padding-inline:var(--gutter)}
.villa-main>nav,.article-page>nav,.projects-page>nav{font-size:14px;color:#76716b;margin-bottom:32px}
.villa-intro{position:relative;background:var(--sk-dark);color:var(--paper);padding:clamp(32px,5vw,72px);margin-bottom:36px;border-inline-start:7px solid var(--sk-rust);overflow:hidden}
.villa-intro:after{content:'';position:absolute;width:200px;height:200px;left:-100px;top:-100px;border:1px solid #f5f0e133;transform:rotate(45deg);pointer-events:none}
.villa-intro h1{font-size:clamp(50px,6vw,90px);font-weight:300;letter-spacing:-.04em;line-height:1.07;margin:12px 0 24px}
.villa-intro .kicker{color:#d9b493}.villa-intro>p:not(.kicker):not(.audit-disclosure){font-size:21px;line-height:1.8;max-width:820px;color:#e4e4d9}
.villa-intro .audit-disclosure{color:#c6c9bc;font-size:14px;line-height:1.7;max-width:820px;margin:0 0 24px}
.villa-intro .villa-meta{display:block;margin-top:25px;font-size:14px;color:#d9b493}
.villa-main>.gallery-help{font-size:15px;color:var(--muted);margin:28px 0 18px}.villa-images.sk-carousel{background:#e8e0d4;padding:18px}.villa-images figcaption{background:var(--sk-white);padding:18px 22px}.villa-images figcaption h2{font-size:22px;font-weight:400;margin:0}
.sk-gallery-controls button{border-radius:0!important;min-height:44px}.sk-gallery-controls button:focus-visible{outline-color:var(--sk-rust)}
.villa-story{padding:64px 0;max-width:820px}.villa-story h2{font-size:36px;font-weight:300;line-height:1.2}.villa-story p{font-size:20px;line-height:1.8;color:#64605b}
.article-page{max-width:1180px;padding-inline:var(--gutter)}.article-page h1{font-size:clamp(44px,5.8vw,78px);font-weight:300;line-height:1.12;max-width:860px;border-right:4px solid var(--sk-rust);padding-right:24px}
.article-content{max-width:920px}.article-content>p{max-width:740px}.article-content h2{font-weight:400;color:var(--sk-dark);margin-top:52px}.article-content p{font-size:21px;color:#5d5954;line-height:1.9}
.service-editorial-photo{margin:40px 0 60px!important;max-width:none!important}.service-editorial-photo img{width:100%;height:auto;display:block;aspect-ratio:3/2;object-fit:cover}.service-editorial-photo figcaption{font-size:14px;color:var(--muted);padding:16px 0;border-bottom:1px solid var(--line);line-height:1.65}
.projects-page>h1,.service-main h1,.about-page h1{font-weight:300;letter-spacing:-.035em}.projects-page>h1{font-size:clamp(42px,5vw,72px)}
/* A concise invitation, not a long administrative form. */
.service-contact,.section.contact{background:var(--sk-dark);color:var(--paper);position:relative;padding:clamp(28px,5vw,72px)!important;gap:clamp(28px,5vw,80px);border-top:0!important;margin-block:64px;align-items:start}
.section.contact{margin-block:0}.service-contact:before,.section.contact:before{content:'';position:absolute;top:0;right:0;width:100px;height:5px;background:var(--sk-rust)}
.service-contact>div:first-child,.section.contact>div:first-child{padding-top:20px}.service-contact h2,.section.contact h2{font-size:clamp(34px,4vw,58px);font-weight:300;line-height:1.16;color:var(--paper);letter-spacing:-.035em}
.service-contact>div>p,.section.contact>div>p{color:#d4cec8;font-size:19px;line-height:1.8;max-width:460px}.service-contact .direct-contact a,.section.contact .direct-contact a{border-bottom-color:#77716b;color:#f7f4ed}.service-contact .direct-contact span,.section.contact .direct-contact span{color:inherit}.service-contact .direct-contact svg,.section.contact .direct-contact svg{width:21px;min-width:21px}
.contact-form{background:var(--sk-white)!important;border:1px solid #e0d7c8!important;padding:clamp(24px,3.2vw,46px)!important;color:var(--ink)!important;width:100%;min-width:0;box-shadow:12px 12px 0 #17141130}
.inquiry-heading{margin-bottom:28px}.inquiry-heading .kicker{font-size:12px;letter-spacing:.12em;margin:0 0 10px;display:block}.inquiry-heading h3{font-size:31px;font-weight:400;line-height:1.2;margin:0 0 10px}.inquiry-heading p{font-size:16px!important;line-height:1.6;color:#706961!important;margin:0!important}
.inquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}.inquiry-fields>label:last-child{grid-column:1/-1}
.contact-form label{display:block;color:var(--ink)!important;font-size:15px!important;font-weight:500;line-height:1.5;margin:0}
.contact-form input:not([type=hidden]):not(.lead-honeypot),.contact-form select,.contact-form textarea{background:#f3efe7!important;color:var(--ink)!important;border:1px solid #cfc6b7!important;border-radius:0!important;padding:13px 14px!important;min-height:52px;font-family:inherit;font-size:17px!important;line-height:1.4;width:100%;margin-top:8px;box-shadow:none;transition:border-color .2s,background .2s}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{background:white!important;border-color:var(--sk-rust)!important;outline:2px solid #946b3e33;outline-offset:2px}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#7a7c71!important;font-weight:300;opacity:1}.contact-form select{appearance:auto}.contact-form textarea{min-height:110px;resize:vertical}
.inquiry-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0;padding:0;background:transparent}.inquiry-details summary{cursor:pointer;padding:17px 0;font-size:16px;color:var(--sk-rust);list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:48px}.inquiry-details summary:after{content:'+';font:300 25px/1 Arial}.inquiry-details[open] summary:after{content:'−'}.inquiry-extra{display:grid;grid-template-columns:1fr 1fr;gap:20px 18px;padding:2px 0 24px}.inquiry-extra>.wide,.inquiry-extra>label:last-child{grid-column:1/-1}
.contact-form .privacy-notice,.contact-form .fine{color:#6a6560!important;font-size:13px!important;line-height:1.65!important;max-width:none!important;margin:20px 0!important;font-weight:400}.contact-form .privacy-notice a{color:#75422f!important;text-decoration:underline;text-underline-offset:3px}.contact-form button[type=submit],.contact-form #nextFormStep{background:var(--sk-rust)!important;color:#fffaf2!important;border:1px solid var(--sk-rust)!important;padding:15px 24px!important;min-height:54px;width:100%;font-size:18px;display:block;text-align:center;margin-top:20px;border-radius:0;cursor:pointer}.contact-form button:hover{filter:brightness(.94)}.contact-form button:disabled{opacity:.55;cursor:wait}.contact-form .back-button{color:#5f554b!important;background:transparent!important;border:0!important;width:auto;padding:12px 0!important;font-size:15px}.contact-form [role=status]{color:var(--ink);font-size:15px;line-height:1.6}.contact-form [aria-invalid=true]{border-color:#ac352c!important;background:#fff2ee!important}.contact-form .field-error{color:#9c2e24!important;font-size:14px}
#inquiryForm .form-top{font-size:15px;color:var(--sk-rust);border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:22px;display:flex;justify-content:space-between}#inquiryForm fieldset{border:0;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}#inquiryForm fieldset[hidden]{display:none!important}#inquiryForm legend{font-size:27px;color:var(--ink);font-weight:400;margin-bottom:24px;padding:0}#inquiryForm fieldset button,#inquiryForm fieldset .wide{grid-column:1/-1}
footer{background:#e6ddcf;color:var(--ink);padding:52px var(--gutter);border-top:0}.footnote{background:#e6ddcf;border-top-color:#c6baaa}.legal-links{border-top-color:#c6baaa}
@media(min-width:1101px){#spaces .home-project-grid,.home-project-grid.project-grid,.projects-page .home-project-grid,.project-grid{grid-template-columns:repeat(12,minmax(0,1fr))!important;align-items:start}.home-project-card:nth-of-type(odd){grid-column:span 7}.home-project-card:nth-of-type(even){grid-column:span 5;margin-top:110px}.home-project-grid>.gallery-group-title{grid-column:1/-1}.service-contact{grid-template-columns:.8fr 1.2fr}.villa-story{margin-left:10%}.gallery .section-head h2{font-size:clamp(44px,4.6vw,70px)}}
@media(max-width:1100px){.home-project-card{margin-top:0!important}.service-contact,.section.contact{grid-template-columns:1fr!important}.service-contact>div:first-child,.section.contact>div:first-child{padding-top:0}.service-contact .direct-contact{max-width:560px}.whole .split-image img{height:auto}.whole .split-image figure:nth-child(2){margin-top:60px}.whole .split-image figure:nth-child(2) img{height:auto}}
@media(max-width:700px){.gallery{padding-block:56px}.gallery .section-head{gap:24px}.gallery .section-head h2{font-size:38px}.home-project-card .house-name{font-size:30px}.home-project-card .house-summary{font-size:17px}.whole .split-image figure:nth-child(2){display:none}.since .year{font-size:130px}.villa-main{padding-inline:20px}.villa-intro{padding:30px 24px;border-inline-start-width:4px}.villa-intro h1{font-size:54px}.villa-intro>p:not(.kicker):not(.audit-disclosure){font-size:19px}.villa-intro .audit-disclosure{font-size:13px}.villa-images.sk-carousel{padding:10px}.villa-images figcaption{padding:14px}.villa-images figcaption h2{font-size:19px}.service-contact,.section.contact{padding:30px 22px!important;margin-block:42px;gap:30px}.section.contact{margin-block:0}.service-contact h2,.section.contact h2{font-size:38px}.contact-form{padding:24px 20px!important;box-shadow:7px 7px 0 #17141130}.inquiry-heading h3{font-size:29px}.inquiry-fields,.inquiry-extra{grid-template-columns:1fr;gap:18px}.inquiry-fields>label:last-child,.inquiry-extra>label:last-child{grid-column:auto}.contact-form .privacy-notice{font-size:13px!important}.article-page h1{padding-right:16px;font-size:44px}.article-content p{font-size:19px}.service-editorial-photo{margin-block:28px!important}#inquiryForm fieldset{grid-template-columns:1fr}.contact-form input,.contact-form select{font-size:16px!important}.visual-kind{margin-inline-start:8px}.whole .benefits{gap:30px}.service-contact .direct-contact{margin-top:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(forced-colors:active){.contact-form,.villa-intro,.service-contact,.section.contact,.since,.whole{background:Canvas!important;color:CanvasText!important;border:1px solid CanvasText!important}.contact-form input,.contact-form select,.contact-form textarea,.contact-form button{background:Canvas!important;color:CanvasText!important;border:1px solid CanvasText!important}}
/* Keep the full-width location row even when validation adds helper nodes. */
.inquiry-fields>label:nth-of-type(3){grid-column:1/-1!important;width:100%}
.since p,.since .note,.since small{color:#fff3e7!important}
@media(max-width:700px){.inquiry-details summary{gap:12px;flex-wrap:wrap}.inquiry-details .optional-note{font-size:13px;color:#7a6d5e}.inquiry-fields>label:nth-of-type(3){grid-column:1/-1!important}}
/* Accessibility labels are wrapped by the existing form helper at runtime. */
.inquiry-fields>.a11y-field:nth-of-type(3),.inquiry-extra>.a11y-field:last-child{grid-column:1/-1!important;min-width:0;width:100%}
.a11y-field{min-width:0}.contact-form .a11y-field-error{color:#9c2e24!important;font-size:14px}
