:root{--ink:#2b2118;--paper:#f7f4ed;--muted:#626962;--line:#d7d1c5;--accent:#62680f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 'Satoshi',Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #b57d45;outline-offset:5px}.skip{position:absolute;top:-100px;background:white;padding:12px;z-index:10}.skip:focus{top:0}header{height:116px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;line-height:1.1}.brand>span{font-family:Georgia,serif;font-size:28px;letter-spacing:1px}.brand-dot{color:var(--accent)}.brand small{font-size:10px;letter-spacing:4.8px;margin-top:9px}nav{display:flex;gap:38px;font-size:14px}nav a{padding:10px 0;border-bottom:1px solid transparent}nav a:hover{border-color:var(--ink)}.location,.eyebrow{font-size:12px;letter-spacing:1.9px;font-weight:500}.location{color:var(--muted)}.hero-copy{padding:55px 5% 38px}.eyebrow{margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2{font-family:'Boska',Georgia,serif;font-weight:500;line-height:1.08;letter-spacing:-0.025em}h1{font-size:clamp(48px,6.3vw,98px);margin-bottom:32px}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:30px}.hero-bottom p{max-width:430px;margin:0;color:var(--muted)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:10px 0;border-bottom:1px solid currentColor;font-size:14px}.text-link span{font-size:24px}.hero-image{height:clamp(350px,52vw,760px);position:relative;margin:0 2%}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 55%}.image-label{position:absolute;left:28px;bottom:24px;background:var(--paper);padding:9px 14px;font-size:11px;letter-spacing:1.5px}.intro{display:grid;grid-template-columns:1fr 1.7fr;padding:110px 8%;gap:60px}.intro>.eyebrow{padding-top:10px}h2{font-size:clamp(36px,4vw,62px);margin-bottom:30px}.intro div p{max-width:610px;color:var(--muted);font-size:17px}.work{padding:80px 5% 110px;background:#ebe7dd}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-heading>p{color:var(--muted);font-size:14px;margin-bottom:34px}.filters{display:flex;gap:28px;margin:18px 0 35px;border-bottom:1px solid #d0c9bb}.filters button{border:0;background:none;padding:12px 0;color:var(--muted);border-bottom:2px solid transparent;font-size:14px}.filters button.active{color:var(--ink);border-color:var(--ink)}.filters span{font-size:11px;vertical-align:super;margin-left:7px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 24px}.photo{border:0;background:none;padding:0;text-align:left;color:var(--ink)}.photo-image{height:380px;overflow:hidden;position:relative;display:block}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.photo:hover img{transform:scale(1.035)}.photo .expand{position:absolute;right:12px;bottom:12px;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;background:var(--paper);font-size:22px}.photo-caption{display:flex;justify-content:space-between;gap:10px;padding-top:13px;font-size:14px}.photo-caption small{color:var(--muted);font-size:12px}.expertise{padding:105px 7%;display:grid;grid-template-columns:1fr 1.15fr;gap:10%;background:var(--ink);color:#f5f5ee}.expertise .eyebrow{color:#bac4bb}.expertise-intro>p:last-child{color:#c2cac3;max-width:310px}.services article{display:flex;gap:26px;border-top:1px solid #5b655d;padding:27px 0 12px}.services article>span{font-size:12px;color:#b8c1b9;padding-top:7px}.services h3{font-size:23px;margin-bottom:12px}.services p{font-size:15px;color:#c2cac3;max-width:420px}.closing{text-align:center;padding:110px 20px}.closing h2{font-size:clamp(45px,5.5vw,80px)}.closing>p:not(.eyebrow){color:var(--muted)}footer{margin:0 5%;padding:35px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}footer p,footer>a:last-child{font-size:13px;color:var(--muted);margin:0}dialog{border:0;background:#171b18;color:white;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:22px 4%;margin:0}dialog::backdrop{background:#171b18}.viewer-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.viewer-top p{margin:0;font-size:14px}dialog button{border:1px solid #69746c;background:transparent;color:white;padding:8px 16px}.photo-stage{height:calc(100% - 105px);display:flex;align-items:center;gap:20px;justify-content:space-between}.photo-stage img{width:calc(100% - 140px);height:100%;object-fit:contain}.photo-stage button{font-size:34px;padding:0 12px}#photo-count{text-align:center;font-size:13px;margin:12px 0}body.modal-open{overflow:hidden}@media(min-width:1500px){.photo-image{height:470px}}@media(max-width:900px){.location{display:none}.gallery{grid-template-columns:repeat(2,1fr)}.photo-image{height:350px}.intro{padding:75px 5%;gap:30px;grid-template-columns:1fr 2fr}.expertise{gap:6%;padding:75px 5%}.section-heading{display:block}.section-heading>p br{display:none}}@media(max-width:600px){header{height:98px;padding:0 6%;gap:16px}.brand>span{font-size:21px}.brand small{font-size:8px;letter-spacing:3.5px}nav{gap:15px;font-size:12px}.hero-copy{padding:36px 6% 28px}h1{font-size:48px;letter-spacing:-1.7px}.eyebrow{font-size:10px;letter-spacing:1.3px}.hero-bottom{display:block}.hero-bottom p{font-size:15px}.hero-bottom .text-link{margin-top:17px}.hero-image{height:340px;margin:0}.image-label{left:16px;bottom:16px;font-size:10px}.intro{display:block;padding:62px 6%}.intro div p{font-size:16px}h2{letter-spacing:-1px}.work{padding:55px 6% 65px}.section-heading h2{font-size:38px}.filters{gap:20px}.filters button{font-size:13px}.filters span{margin-left:3px}.gallery{gap:25px 12px}.photo-image{height:235px}.photo-caption{display:block;font-size:13px}.photo-caption small{display:block;margin-top:3px;font-size:12px}.photo .expand{width:28px;height:28px;font-size:18px;right:8px;bottom:8px}.expertise{display:block;padding:60px 6%}.expertise-intro{margin-bottom:38px}.expertise h2 br:last-child{display:none}.services h3{font-size:21px}.closing{padding:70px 6%}footer{align-items:start;flex-wrap:wrap;padding:28px 0}footer p{width:100%;order:3}.photo-stage{gap:6px}.photo-stage img{width:calc(100% - 80px)}.photo-stage button{padding:0 7px;font-size:28px}.viewer-top p{font-size:12px}.viewer-top button{font-size:13px;padding:8px}dialog{padding:16px 3%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo img{transition:none}}

/* Oak House identity and contact */
.brand-logo{display:block;width:184px;height:auto;max-height:108px;object-fit:contain;mix-blend-mode:multiply}header{height:138px}.expertise{background:#2b2118}.expertise .eyebrow{color:#d3cfba}.expertise-intro>p:last-child,.services p{color:#d9d3c5}.services article{border-color:#6a5b49}.services article>span{color:#cbc1aa}.contact-link{font-size:clamp(20px,3vw,32px);color:#62680f}.contact-note{font-size:14px;margin-top:20px}.footer-details p,.footer-details a{font-size:13px;color:var(--muted);margin:0 0 4px}.footer-details a{text-decoration:underline;text-underline-offset:3px}footer .brand-logo{width:150px;max-height:none}@media(max-width:600px){header{height:auto;min-height:144px;padding:15px 6%;flex-wrap:wrap;justify-content:center;gap:12px}.brand-logo{width:150px;max-height:89px}header nav{width:100%;justify-content:space-between;gap:14px;font-size:14px}header nav a{padding:5px 0}.footer-details{width:100%;order:3}.footer-details p{width:auto}.contact-note{max-width:280px;margin-left:auto;margin-right:auto}.closing>p br{display:none}}

/* Shared vector controls and regional coverage */
.icon{display:inline-block;width:22px;height:22px;flex:0 0 22px;vertical-align:middle}.text-link .icon{width:24px;height:24px;flex-basis:24px}footer>a:last-child,#close{display:inline-flex;align-items:center;gap:10px}.photo .expand .icon{width:17px;height:17px}.photo-stage button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px}.photo-stage button .icon{width:24px;height:24px;flex-basis:24px}.service-area{padding:85px 7%;display:grid;grid-template-columns:1.3fr 1fr;gap:8%;border-bottom:1px solid var(--line)}.service-area h2{font-size:clamp(32px,3.2vw,48px);margin-bottom:0}.service-area-lead{color:var(--muted);margin-bottom:16px}.service-area ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.service-area li{padding:12px 0;border-bottom:1px solid var(--line);font-size:17px}@media(max-width:600px){.service-area{padding:55px 6%;grid-template-columns:1fr;gap:28px}.service-area li{font-size:16px}.photo-stage img{width:calc(100% - 100px)}}

/* Refined headline typography */
h1{font-size:clamp(46px,6.1vw,94px);max-width:1150px;letter-spacing:-0.025em;line-height:1.08}.hero-bottom p{max-width:570px}h2{letter-spacing:-0.02em}h3{font-weight:500}@media(max-width:600px){h1{font-size:clamp(42px,10.5vw,60px);letter-spacing:-0.02em;line-height:1.1}.hero-bottom p{font-size:16px}h2{letter-spacing:-0.02em}}

.filters{flex-wrap:wrap;column-gap:28px;row-gap:0}.filters button{white-space:nowrap}@media(max-width:600px){.filters{column-gap:20px}}

.project-group{grid-column:1/-1}.project-heading{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin:8px 0 30px}.project-heading h3{font-family:'Boska',Georgia,serif;font-size:48px;line-height:1.1;margin:0}.project-heading .eyebrow{margin-bottom:14px}.project-heading>p{max-width:540px;color:var(--muted);margin:0}.project-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}.project-photos .photo:first-child{grid-column:span 2}.other-work-heading{grid-column:1/-1;font-family:'Boska',Georgia,serif;font-size:36px;margin:28px 0 0;border-top:1px solid var(--line);padding-top:35px}@media(max-width:900px){.project-photos{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.project-heading{grid-template-columns:1fr;gap:18px}.project-heading h3{font-size:40px}.project-photos{gap:25px 12px}.project-photos .photo:first-child .photo-image{height:280px}.project-heading>p{font-size:16px}}

.project-group+.project-group{margin-top:30px;padding-top:36px;border-top:1px solid var(--line)}.repaint-project .project-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.repaint-project .photo:first-child{grid-column:auto}.repaint-project .photo-image{height:auto;aspect-ratio:4/3}.repaint-project .photo-caption{font-size:16px;font-weight:500}@media(max-width:600px){.repaint-project .project-photos{grid-template-columns:1fr}.repaint-project .photo:first-child .photo-image{height:auto}}

.hero-image img{object-position:60% 58%}.montecito-project .project-photos{grid-template-columns:1fr}.montecito-project .photo:first-child{grid-column:auto}.montecito-project .photo-image{height:auto;aspect-ratio:16/9}.montecito-project .photo img{object-position:60% 58%}.photo-stage button[hidden]{display:none}.photo-stage:has(button[hidden]) img{width:100%}@media(max-width:600px){.hero-image img{object-position:66% 58%}.montecito-project .photo:first-child .photo-image{height:auto;aspect-ratio:4/3}}

.montecito-project .project-photos{grid-template-columns:repeat(3,minmax(0,1fr))}.montecito-project .photo:first-child{grid-column:1/-1}.montecito-project .photo:not(:first-child) .photo-image{aspect-ratio:4/5}.montecito-project .photo:not(:first-child) img{object-position:center}.montecito-project .photo-caption{display:block}.montecito-project .photo-caption small{display:block;margin-top:4px}@media(max-width:600px){.montecito-project .project-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.montecito-project .photo:last-child{grid-column:1/-1}.montecito-project .photo:last-child .photo-image{aspect-ratio:4/3}}

.inquiry-section{padding:100px 7%;display:grid;grid-template-columns:0.8fr 1.2fr;gap:8%}.inquiry-intro>p:not(.eyebrow){color:var(--muted);max-width:360px}.inquiry-intro h2{font-size:clamp(42px,4vw,62px)}.inquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}.inquiry-fields label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500}.inquiry-fields label>span,.upload-field legend span{font-weight:400;color:var(--muted)}.inquiry-fields input,.inquiry-fields select,.inquiry-fields textarea{width:100%;min-width:0;min-height:48px;padding:12px 13px;border:1px solid #a5aaa0;border-radius:0;background:#fff;color:var(--ink);font:400 16px/1.5 'Satoshi',Arial,sans-serif}.inquiry-fields textarea{resize:vertical}.inquiry-fields input:focus,.inquiry-fields select:focus,.inquiry-fields textarea:focus{outline:2px solid #62680f;outline-offset:2px}.full-field{grid-column:1/-1}.upload-field{min-width:0;margin:0;padding:18px;border:1px solid var(--line)}.upload-field legend{font-size:14px;padding:0 7px}.upload-field>p{font-size:14px;color:var(--muted)}.upload-field label{margin:12px 0;font-size:13px}.upload-field input{font-size:14px;padding:9px;min-height:44px}.upload-field input::file-selector-button{font:inherit;border:0;background:#ebe7dd;padding:6px 10px;margin-right:10px;color:var(--ink);cursor:pointer}.form-guidance,.form-disclosure{font-size:13px;color:var(--muted);line-height:1.6}.form-disclosure{margin:24px 0 12px}.form-disclosure a{text-decoration:underline}.inquiry-submit{display:flex;align-items:center;justify-content:center;gap:24px;background:var(--ink);color:white;border:0;min-height:54px;padding:15px 24px;width:100%;font-size:16px}.inquiry-submit:hover{background:#4c3926}.inquiry-submit:disabled{opacity:.65;cursor:wait}.form-honey{display:none}#form-error{font-size:14px;color:#9b2821}#form-error:empty{display:none}@media(max-width:800px){.inquiry-section{grid-template-columns:1fr;gap:36px;padding:65px 6%}.inquiry-intro>p:not(.eyebrow){max-width:560px}}@media(max-width:480px){.inquiry-fields{grid-template-columns:1fr;gap:20px}.full-field{grid-column:auto}.inquiry-submit{padding:14px 12px;gap:15px}}

.hero-image img{object-position:50% 55%}.montecito-project .photo img{object-position:center}.montecito-project .photo:not(:first-child) .photo-image{aspect-ratio:4/3}@media(max-width:600px){.hero-image img{object-position:45% 55%}.montecito-project .photo:last-child{grid-column:auto}.montecito-project .photo:last-child .photo-image{aspect-ratio:4/3}}
/* Compact project carousel */
.project-carousel{display:block;max-width:1200px;margin:auto}.project-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}.project-navigation button{display:inline-flex;align-items:center;gap:12px;padding:12px 0;background:none;border:0;color:var(--ink);font-size:14px;min-height:44px}.project-navigation button:disabled{opacity:.35;cursor:default}#project-position{font-size:13px;color:var(--muted);text-align:center}.featured-photo{position:relative;display:block;width:100%;padding:0;border:0;background:#ebe7dd;cursor:zoom-in}.featured-photo>img{display:block;width:100%;height:clamp(300px,42vw,560px);object-fit:contain;background:#ebe7dd}.featured-expand{position:absolute;bottom:16px;right:16px;display:flex;align-items:center;gap:8px;background:var(--paper);padding:9px 12px;font-size:12px}.featured-caption{display:flex;justify-content:space-between;gap:20px;margin:13px 0 16px;font-size:14px;min-height:24px}#featured-count{white-space:nowrap;color:var(--muted);font-size:13px}.project-thumbnails{display:flex;gap:12px;overflow-x:auto;padding:3px 3px 12px;scrollbar-width:thin}.thumbnail{flex:0 0 96px;height:70px;border:2px solid transparent;background:none;padding:3px;opacity:.7}.thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.thumbnail.selected{border-color:var(--ink);opacity:1}.thumbnail:hover{opacity:1}.carousel-details{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding-top:26px;margin-top:8px;border-top:1px solid #d0c9bb;min-height:200px}.carousel-details h3{font:500 clamp(32px,3.3vw,48px)/1.08 'Boska',Georgia,serif;margin:0}.carousel-details .eyebrow{margin-bottom:14px}.carousel-details>p{color:var(--muted);margin:0;max-width:550px}.work{padding-bottom:65px}@media(max-width:600px){.project-navigation{gap:8px;margin-bottom:12px}.project-navigation button{font-size:12px;gap:4px}.project-navigation .icon{width:18px;flex-basis:18px}#project-position{font-size:12px}.featured-photo>img{height:300px}.featured-expand span{display:none}.featured-expand{bottom:10px;right:10px;padding:8px}.featured-caption{font-size:13px;gap:12px;min-height:42px}.thumbnail{flex-basis:78px;height:60px}.project-thumbnails{gap:8px}.carousel-details{grid-template-columns:1fr;gap:18px;min-height:270px}.carousel-details>p{font-size:15px}.carousel-details h3{font-size:36px}}

/* Photo navigation overlays */
.featured-stage{position:relative}.featured-photo{touch-action:pan-y pinch-zoom}.featured-photo>img{user-select:none;-webkit-user-drag:none}.photo-arrow{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:50%;color:#fff;background:rgba(29,33,27,.48);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer;transition:background .18s ease}.photo-arrow:hover{background:rgba(29,33,27,.75)}.photo-arrow:focus-visible{outline:3px solid white;outline-offset:3px}.photo-arrow-prev{left:16px}.photo-arrow-next{right:16px}.photo-arrow[hidden]{display:none}.photo-arrow .icon{width:24px;height:24px}.project-thumbnails{position:relative}@media(max-width:600px){.photo-arrow{width:44px;height:44px}.photo-arrow-prev{left:10px}.photo-arrow-next{right:10px}}

/* Accessibility: focus, reflow, contrast and reduced motion */
:where(a,button,input,select,textarea):focus-visible{outline:3px solid #2b2118;outline-offset:4px;box-shadow:0 0 0 6px #fff}
.thumbnail:focus-visible{outline-offset:-3px;box-shadow:inset 0 0 0 6px #fff;opacity:1}
.skip{position:fixed;top:0;left:12px;transform:translateY(-150%);z-index:1000}.skip:focus{transform:translateY(0)}
.inquiry-fields input,.inquiry-fields select,.inquiry-fields textarea{border-color:#73796f}
.inquiry-fields [aria-invalid="true"]{border:2px solid #9b2821}.field-error{font-size:14px;font-weight:400;color:#9b2821}
.photo-arrow{background:rgba(29,33,27,.68)}.photo-arrow:focus-visible{outline:3px solid #fff;box-shadow:0 0 0 6px #2b2118}
dialog button:focus-visible{outline-color:white;box-shadow:0 0 0 6px #171b18}
.form-guidance a{text-decoration:underline;text-underline-offset:3px}
.inquiry-section>* ,.carousel-details>*{min-width:0}body{overflow-wrap:break-word}header nav{flex-wrap:wrap}header nav a{min-height:44px;display:inline-flex;align-items:center}
.image-label{max-width:calc(100% - 40px)}.featured-caption{flex-wrap:wrap}#project-position{max-width:42%;font-size:14px}.project-navigation button{font-size:14px;flex-shrink:0}.project-navigation button span{max-width:90px}
.photo-stage{min-height:0;flex:1;height:auto}dialog[open]{display:flex;flex-direction:column}.viewer-top{flex-shrink:0}.viewer-top button{min-height:44px;flex-shrink:0}#photo-count{flex-shrink:0}
.eyebrow,.location{font-size:12px}.image-label{font-size:12px}.form-guidance,.form-disclosure,.footer-details p,.footer-details a{font-size:14px}
@media(max-width:600px){.project-navigation{flex-wrap:wrap}#project-position{order:-1;flex-basis:100%;max-width:100%;text-align:left}.project-navigation button span{max-width:none}.carousel-details>p{font-size:16px}.carousel-details h3{font-size:2.25rem}.service-area ul{gap:0 16px}.viewer-top p{font-size:14px}h1{font-size:clamp(2.25rem,10.5vw,3.75rem)}.featured-caption{font-size:14px}.contact-link{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(forced-colors:active){.photo-arrow{background:ButtonFace;color:ButtonText;border:2px solid ButtonText}.thumbnail.selected{border-color:Highlight}}

/* Olive accents within the warm ivory palette */
.text-link{color:var(--accent)}.filters button.active{color:var(--accent);border-color:var(--accent)}.thumbnail.selected{border-color:var(--accent)}
