@font-face{font-family:Caslon;src:url('assets/caslon.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:DM;src:url('assets/dm-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:DM;src:url('assets/dm-500.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
:root{--paper:#eee8de;--ivory:#f5f1e9;--ink:#303421;--muted:#5e6252;--rust:#a95332;--rust-hover:#8f4329;--line:#c9c7b9;--olive:#3c422e;--display:Caslon,Georgia,serif;--body:DM,Arial,sans-serif;--gutter:5.75vw}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}button{color:inherit}button:disabled{cursor:wait}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.02}h2{font-size:clamp(42px,4.9vw,78px);letter-spacing:-.035em}h3{font-size:34px;letter-spacing:-.02em}em{font-weight:400}::selection{background:#c77551;color:#fff}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--rust);outline-offset:6px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--rust);outline-offset:2px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-80px;background:var(--ink);color:white;padding:12px 20px;z-index:200}.skip-link:focus{top:12px}.section-wrap{padding-left:var(--gutter);padding-right:var(--gutter)}.section-kicker{display:block;font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase}.text-link{display:inline-flex;align-items:center;gap:26px;border:0;background:transparent;border-bottom:1px solid currentColor;border-radius:0;padding:7px 0;font-size:14px;line-height:1.5;text-align:left}.text-link span{transition:transform .25s}.text-link:hover span{transform:translate(3px,-3px)}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:38px;padding:17px 26px;min-height:58px;border:1px solid transparent;border-radius:2px;line-height:1.4;font-size:15px;transition:background .25s,transform .25s}.button span{font-size:21px;line-height:1;transition:transform .25s}.button:hover span{transform:translate(2px,-2px)}.button:active{transform:translateY(1px)}.button-rust{background:var(--rust);color:#fff9ee}.button-rust:hover{background:var(--rust-hover)}.button-light{background:var(--ivory);color:var(--ink)}.button-light:hover{background:#dfd7c9}
.site-header{display:flex;align-items:center;position:absolute;z-index:5;left:0;right:0;top:0;padding:21px var(--gutter)}.brand{display:inline-flex;flex-direction:column;flex-shrink:0;line-height:1}.brand>span{font-family:var(--display);font-size:48px;letter-spacing:-.025em}.brand small{font-size:12px;line-height:1.6;margin-top:1px;color:#606451}.desktop-nav{display:flex;gap:48px;margin-left:140px;padding-top:1px}.desktop-nav a{position:relative;font-size:14px}.desktop-nav a:after{content:'';position:absolute;bottom:-5px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.desktop-nav a:hover:after{transform:scaleX(1)}.menu-toggle{display:none}.mobile-nav{display:none}
.hero{position:relative;height:clamp(610px,42vw,780px);isolation:isolate;overflow:hidden;background:#e8ddcc}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-content{position:relative;padding:clamp(162px,11.7vw,205px) var(--gutter) 60px;z-index:1}.hero h1{font-size:clamp(74px,6.4vw,108px);line-height:.96;letter-spacing:-.04em;width:max-content;max-width:100%;margin-bottom:34px}.hero .button{min-width:252px}.hero-note{font-size:12px;line-height:1.6;margin-top:23px;color:#4d503e}.hero-scroll{position:absolute;bottom:25px;left:var(--gutter);display:flex;align-items:center;gap:25px;font-size:11px;letter-spacing:.01em}.hero-scroll span{font-size:19px;transition:transform .2s}.hero-scroll:hover span{transform:translateY(4px)}
.approach{padding-top:37px;padding-bottom:92px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:30px}.section-heading>p{font-size:13px;line-height:1.6;color:var(--muted);padding-bottom:4px;min-width:230px}.approach-grid{display:grid;grid-template-columns:1.6fr 1.5fr 1fr;gap:18px}.image-frame{position:relative;overflow:hidden}.image-frame img{height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.6,.2,1)}.approach-card .image-frame{aspect-ratio:1.45}.detail-card .image-frame{aspect-ratio:.967}.approach-card:hover img,.project-card:hover img{transform:scale(1.035)}.round-arrow{position:absolute;bottom:17px;right:17px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ivory);font-size:22px;transition:transform .25s,background .25s}.approach-card:hover .round-arrow,.project-card:hover .round-arrow{transform:rotate(45deg);background:white}.card-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:19px}.card-title h3{font-size:31px}.card-title>span{font-size:10px;color:var(--muted)}.approach-card>p{font-size:12px;color:var(--muted);line-height:1.65;max-width:320px;margin-top:11px;padding-right:20px}
.design-section{padding-top:51px;padding-bottom:94px;border-top:1px solid var(--line)}.design-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:10%;margin-top:31px}.design-layout h2{font-size:clamp(48px,5.1vw,82px);line-height:1.04}.design-layout em{color:var(--rust)}.design-copy{padding-top:3px;max-width:480px}.lead{font-size:19px;line-height:1.5;letter-spacing:-.02em}.design-copy>p+p{font-size:14px;color:var(--muted);margin-top:23px;line-height:1.75}.service-tags{display:flex;gap:8px;flex-wrap:wrap;margin:25px 0 24px}.service-tags span{font-size:10px;border:1px solid var(--line);padding:5px 10px;border-radius:30px;white-space:nowrap}
.build-section{display:grid;grid-template-columns:1fr 1fr;background:#dedbce}.build-image{position:relative;min-height:650px}.build-image>img{width:100%;height:100%;object-fit:cover;position:absolute}.image-caption{position:absolute;left:35px;bottom:25px;font-size:11px;background:rgba(245,241,233,.93);padding:8px 13px}.build-content{padding:65px 11.5% 57px}.build-content h2{margin:22px 0 23px;font-size:clamp(50px,5.1vw,80px)}.build-content>p{font-size:14px;color:#565c49;max-width:400px;line-height:1.8}.process-list{margin-top:31px}.process-list details{border-top:1px solid #bcbdae}.process-list details:last-child{border-bottom:1px solid #bcbdae}.process-list summary{list-style:none;display:flex;align-items:center;gap:20px;cursor:pointer;padding:19px 0;font-size:15px}.process-list summary::-webkit-details-marker{display:none}.process-number{font-size:10px;color:var(--muted)}.plus{position:relative;margin-left:auto;width:13px;height:13px}.plus:before,.plus:after{position:absolute;content:'';background:var(--ink);top:6px;left:0;width:13px;height:1px}.plus:after{transform:rotate(90deg);transition:transform .2s}details[open] .plus:after{transform:rotate(0)}.process-list details>p{padding:0 26px 21px 33px;font-size:12px;color:#565c49;line-height:1.75}
.projects{padding-top:83px;padding-bottom:88px}.projects .section-kicker{margin-bottom:21px}.projects h2{font-size:clamp(42px,4.6vw,72px);max-width:760px}.projects .section-heading{margin-bottom:27px}.project-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}.filter{background:transparent;border:1px solid #b7b8a8;border-radius:30px;padding:8px 18px;font-size:11px;transition:background .2s,color .2s}.filter:hover{background:#e0ddcf}.filter.active{background:var(--ink);border-color:var(--ink);color:var(--ivory)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px 22px}.project-card{text-align:left;border:0;background:transparent;padding:0;min-width:0;width:100%}.project-card .image-frame{height:350px}.project-label{position:absolute;top:16px;left:16px;font-size:10px;padding:6px 11px;color:var(--ink);background:rgba(245,241,233,.93);border-radius:2px}.project-meta{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding-top:18px}.project-meta h3{font-size:36px}.project-meta p{font-size:12px;color:var(--muted);margin-top:8px}.project-meta>span{font-size:10px;color:var(--muted);white-space:nowrap}.project-wide{grid-column:1/-1}.project-wide .image-frame{height:420px}.project-wide img{object-position:center 56%}.project-grid:has(.project-card[hidden]){grid-template-columns:1fr 1fr}.project-grid:has(.project-card[hidden]) .project-wide{grid-column:auto}.project-grid:has(.project-card[hidden]) .project-card .image-frame{height:350px}
.contact-section{background:var(--olive);color:var(--ivory);padding-top:37px;padding-bottom:64px}.contact-top{display:flex;align-items:center;justify-content:space-between}.contact-top .section-kicker{color:#cecdbd}.contact-mark{font-family:var(--display);font-size:90px;line-height:1;color:#a6ad92}.contact-content{display:grid;grid-template-columns:1.4fr 1fr;gap:10%;align-items:center;padding-top:16px}.contact-content h2{font-size:clamp(52px,5.7vw,88px);line-height:1.01}.contact-content p{font-size:14px;line-height:1.8;max-width:370px;color:#dadbce;margin-bottom:27px}.contact-content small{display:block;font-size:10px;color:#c2c5b3;margin-top:13px}.site-footer{padding-top:43px;padding-bottom:22px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.footer-links{display:flex;gap:34px;font-size:12px}.footer-links a:hover{color:var(--rust)}.footer-bottom{border-top:1px solid var(--line);margin-top:35px;padding-top:18px;width:100%;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.footer-bottom .text-link{font-size:10px;padding:0;border:0}
dialog{border:0;padding:0;background:var(--ivory);color:var(--ink);box-shadow:0 20px 90px #20241440;border-radius:3px;max-height:90dvh;overscroll-behavior:contain}dialog::backdrop{background:rgba(35,37,27,.53);backdrop-filter:blur(6px)}dialog[open]{animation:dialog-in .25s ease-out}.close-button{position:absolute;z-index:2;top:16px;right:18px;width:35px;height:35px;font-size:29px;background:var(--ivory);border:1px solid var(--line);border-radius:50%;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s}.close-button:hover{background:#dedacb}.brief-dialog{width:640px;padding:43px 47px 26px}.brief-intro h2{font-size:49px;margin:15px 0 10px}.brief-intro>p{font-size:13px;color:var(--muted)}.brief-progress{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:26px;padding-top:16px;font-size:10px;color:var(--muted)}.brief-progress>span{display:flex;align-items:center;gap:8px}.brief-progress>span.current{color:var(--rust);font-weight:500}.brief-step{border:0;padding:0;margin:28px 0 0;min-width:0}.brief-step legend{font-family:var(--display);font-size:30px;line-height:1.2;margin-bottom:20px}.brief-step label{display:block;margin-bottom:7px;font-size:12px}.brief-step label span{font-size:10px;color:var(--muted)}.brief-step input,.brief-step select,.brief-step textarea{width:100%;border:1px solid #bfbeaf;background:#faf7f1;color:var(--ink);border-radius:2px;min-height:45px;padding:11px 12px;font-size:13px;margin-bottom:17px}.brief-step textarea{resize:vertical;min-height:100px}.brief-step ::placeholder{color:#7a7a6c;opacity:1}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.brief-actions{display:flex;justify-content:flex-end;align-items:center;gap:24px;padding-top:5px}.brief-actions #brief-back{margin-right:auto}.brief-actions .button{font-size:13px;min-height:48px;padding:12px 20px}.form-error{color:#974329;font-size:12px;margin-bottom:8px}.draft-status{display:flex;gap:15px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:26px;padding-top:14px;font-size:10px;color:var(--muted)}.draft-status .text-link{font-size:10px;padding:3px 0;white-space:nowrap}.local-notice{background:#e8e7da;font-size:11px;padding:13px 15px;margin:5px 0 21px;color:#666a56;line-height:1.7}.brief-summary{border-top:1px solid var(--line);padding:14px 0;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.brief-summary strong{font-weight:500}.complete-symbol{display:flex;width:48px;height:48px;background:var(--olive);color:var(--ivory);align-items:center;justify-content:center;border-radius:50%;font-size:20px;margin:32px 0 19px}#brief-complete h3{font-size:38px}#brief-complete>p{font-size:14px;color:var(--muted);margin-top:15px}#brief-complete .button{margin:25px 0 16px}#edit-brief{display:flex;margin-bottom:21px}#brief-complete>.local-notice{font-size:11px;margin-bottom:0}.project-dialog{width:1040px}.project-dialog>img{height:385px;object-fit:cover}.project-dialog-copy{padding:32px 43px 35px}.project-dialog h2{font-size:61px;margin:17px 0 17px}.project-dialog-copy>p{font-size:15px;max-width:700px;line-height:1.75;color:var(--muted)}.project-dialog dl{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:25px 0}.project-dialog dt{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.project-dialog dd{margin:7px 0 0;font-size:13px}.project-dialog-copy>.concept-notice{font-size:10px;margin-top:24px}.privacy-dialog{width:560px;padding:48px 40px 34px}.privacy-dialog h2{font-size:45px;margin:20px 0}.privacy-dialog p{font-size:14px;line-height:1.8;margin-top:16px;color:var(--muted)}
@keyframes dialog-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes opening{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.hero h1{animation:opening .8s .1s both}.hero-content>.button{animation:opening .8s .22s both}.hero-note{animation:opening .8s .34s both}
@media(min-width:1800px){:root{--gutter:max(5.75vw,calc((100vw - 1640px)/2))}.hero-content{padding-top:200px}.hero h1{font-size:108px}.hero-image{object-position:center 60%}}
@media(max-width:1100px){.desktop-nav{margin-left:90px;gap:35px}.hero{height:600px}.hero h1{font-size:76px}.hero-content{padding-top:174px}.hero-image{object-position:55% center}.section-heading>p{min-width:190px;font-size:12px}.card-title h3{font-size:27px}.card-title{align-items:flex-start;flex-direction:column;gap:7px}.detail-card .image-frame{aspect-ratio:.967}.build-content{padding:53px 10%}.build-image{min-height:640px}.design-layout{gap:7%}.project-card .image-frame{height:290px}.project-wide .image-frame{height:350px}.project-meta h3{font-size:31px}.contact-content{gap:7%}.contact-content h2{font-size:65px}.footer-bottom{flex-wrap:wrap}}
@media(max-width:800px){:root{--gutter:6vw}.site-header{padding-top:20px}.brand>span{font-size:43px}.brand small{font-size:11px}.desktop-nav{margin-left:auto;gap:24px}.hero{height:670px}.hero-image{object-position:61% bottom;object-fit:cover}.hero:after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(238,228,211,.45),transparent 75%)}.hero-content{padding-top:152px}.hero h1{font-size:clamp(66px,9.2vw,76px)}.hero-note{max-width:220px}.approach{padding-top:37px;padding-bottom:60px}.section-heading{align-items:flex-start;gap:20px}.section-heading>p{min-width:150px;font-size:11px;padding-top:4px}.approach-grid{gap:14px;grid-template-columns:1fr 1fr}.detail-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 25px;align-content:center}.detail-card .image-frame{grid-row:1/3;aspect-ratio:1.5}.detail-card .card-title{justify-content:flex-end;margin-top:20px}.detail-card>p{margin-top:10px}.card-title h3{font-size:30px}.design-section{padding-top:37px;padding-bottom:60px}.design-layout{grid-template-columns:1fr;gap:27px;margin-top:24px}.design-layout h2{font-size:64px}.design-copy{max-width:570px}.build-section{grid-template-columns:1fr}.build-image{min-height:420px}.build-content{padding:47px var(--gutter)}.build-content h2{font-size:67px}.build-content>p{max-width:540px}.process-list{max-width:600px}.projects{padding-top:54px;padding-bottom:55px}.projects .section-heading{display:block}.projects .section-heading>p{margin-top:20px;font-size:12px}.project-meta{display:block}.project-meta>span{display:block;margin-top:10px}.project-card .image-frame{height:260px}.project-wide .image-frame{height:330px}.contact-content{grid-template-columns:1fr;gap:30px}.contact-content h2{font-size:74px}.contact-content p{max-width:450px}.contact-section{padding-bottom:48px}.contact-mark{font-size:69px}.footer-links{gap:23px}.footer-bottom{gap:9px;font-size:10px}.footer-bottom>p:nth-child(2){width:100%}.footer-bottom .text-link{margin-top:2px}.project-dialog{width:90vw}.project-dialog>img{height:300px}.project-dialog-copy{padding:28px}.project-dialog h2{font-size:51px}}
@media(max-width:600px){html{scroll-padding-top:15px}.site-header{justify-content:space-between;align-items:flex-start}.brand>span{font-size:42px}.brand small{font-size:10px}.desktop-nav{display:none}.menu-toggle{display:flex;align-items:center;gap:12px;padding:8px 0;border:0;background:transparent;font-size:12px;margin-top:8px;min-height:38px;position:relative;z-index:7}.menu-lines{width:21px;height:14px;position:relative}.menu-lines:before,.menu-lines:after{content:'';position:absolute;width:21px;height:1px;left:0;background:var(--ink);transition:transform .2s,top .2s}.menu-lines:before{top:3px}.menu-lines:after{top:11px}.menu-toggle[aria-expanded=true] .menu-lines:before{transform:rotate(45deg);top:7px}.menu-toggle[aria-expanded=true] .menu-lines:after{transform:rotate(-45deg);top:7px}.mobile-nav{position:absolute;display:flex;flex-direction:column;gap:17px;background:var(--ivory);left:0;right:0;top:0;padding:105px var(--gutter) 34px;box-shadow:0 15px 30px #30342118}.mobile-nav>a{font-family:var(--display);font-size:37px;line-height:1.1}.mobile-nav>.text-link{align-self:flex-start;margin-top:10px}.site-header .brand{position:relative;z-index:7}.hero{height:790px}.hero:after{display:none}.hero-image{top:auto;bottom:0;height:405px;width:100%;object-fit:cover;object-position:75% center}.hero:before{content:'';position:absolute;top:0;left:0;right:0;height:420px;background:linear-gradient(150deg,#f0e8db,#e9dfcd)}.hero-content{padding-top:156px;padding-bottom:0}.hero h1{font-size:clamp(32px,13.6vw,73px);letter-spacing:-.042em;line-height:.96;margin-bottom:27px;white-space:normal}.hero .button{min-height:51px;font-size:13px;min-width:232px;padding:14px 21px}.hero-note{font-size:11px;line-height:1.6;margin-top:17px;max-width:none}.hero-note br{display:none}.hero-scroll{display:none}.approach{padding-top:32px;padding-bottom:47px}.section-heading{display:block;margin-bottom:24px}.section-heading h2{font-size:44px;letter-spacing:-.035em}.section-heading>p{padding-top:0;margin-top:13px;font-size:12px}.section-heading>p br{display:none}.approach-grid{grid-template-columns:1fr;gap:29px}.approach-card .image-frame{aspect-ratio:1.48}.card-title{flex-direction:row;align-items:baseline;margin-top:15px}.card-title h3{font-size:33px}.card-title>span{font-size:10px}.approach-card>p{max-width:none;font-size:12px;margin-top:8px}.detail-card{grid-column:auto;display:block}.detail-card .image-frame{aspect-ratio:1.48}.detail-card .card-title{justify-content:space-between;margin-top:15px}.design-section{padding-top:30px;padding-bottom:44px}.section-kicker{font-size:10px}.design-layout{margin-top:23px;gap:23px}.design-layout h2{font-size:51px}.lead{font-size:18px}.design-copy>p+p{font-size:13px;margin-top:17px}.service-tags{gap:7px;margin-top:19px}.service-tags span{font-size:9px;padding:5px 9px}.build-image{min-height:330px}.image-caption{left:var(--gutter);bottom:20px;font-size:10px}.build-content{padding-top:36px;padding-bottom:40px}.build-content h2{font-size:59px;margin:21px 0}.build-content>p{font-size:13px}.process-list summary{padding:18px 0;font-size:14px;gap:16px}.process-list details>p{font-size:12px;padding-left:29px}.projects{padding-top:41px;padding-bottom:42px}.projects .section-kicker{margin-bottom:20px}.projects h2{font-size:47px;line-height:1.04}.projects .section-heading>p{margin-top:15px;font-size:12px}.project-filters{gap:7px;row-gap:9px;margin-bottom:23px}.filter{font-size:10px;padding:7px 12px;min-height:33px}.project-grid{grid-template-columns:1fr;gap:29px}.project-card .image-frame,.project-wide .image-frame{height:auto;aspect-ratio:1.3}.project-wide{grid-column:auto}.project-meta{display:flex;padding-top:16px;align-items:baseline}.project-meta h3{font-size:32px}.project-meta p{font-size:11px;max-width:225px;line-height:1.7}.project-meta>span{font-size:9px;max-width:76px;white-space:normal;text-align:right}.project-grid:has(.project-card[hidden]){grid-template-columns:1fr}.project-grid:has(.project-card[hidden]) .project-card .image-frame{height:auto}.contact-section{padding-top:29px;padding-bottom:37px}.contact-mark{font-size:60px}.contact-content{padding-top:13px;gap:24px}.contact-content h2{font-size:54px;letter-spacing:-.03em}.contact-content p{font-size:13px;margin-bottom:22px}.contact-content .button{font-size:13px;min-height:51px;padding:14px 22px}.site-footer{padding-top:34px;padding-bottom:23px;align-items:flex-start}.site-footer .brand>span{font-size:42px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:7px 18px;font-size:11px}.footer-bottom{margin-top:26px;padding-top:16px;font-size:9px}.footer-bottom .text-link{font-size:10px;margin-top:4px}.brief-dialog{width:calc(100% - 24px);padding:36px 23px 20px;max-height:94dvh}.brief-intro h2{font-size:41px;margin-top:16px}.brief-intro .section-kicker{max-width:200px}.brief-intro>p{font-size:12px}.brief-progress{font-size:9px;margin-top:23px}.brief-progress>span{gap:5px}.brief-step{margin-top:24px}.brief-step legend{font-size:28px}.brief-step input,.brief-step select,.brief-step textarea{font-size:16px}.brief-step label{font-size:11px}.brief-step label span{font-size:9px}.field-pair{grid-template-columns:1fr;gap:0}.draft-status{align-items:flex-start;line-height:1.6;margin-top:22px}.draft-status>span{max-width:200px}.project-dialog{width:calc(100% - 24px);max-height:94dvh}.project-dialog>img{height:240px}.project-dialog-copy{padding:27px 23px}.project-dialog h2{font-size:44px}.project-dialog-copy>p{font-size:13px}.project-dialog dl{grid-template-columns:1fr;gap:17px}.project-dialog dd{font-size:12px}.project-dialog .text-link{font-size:12px;gap:20px}.privacy-dialog{width:calc(100% - 24px);padding:41px 26px 27px}.privacy-dialog h2{font-size:40px}.privacy-dialog p{font-size:13px}}
.keep-together{white-space:nowrap}
@media(min-width:801px){.approach-card .image-frame{height:clamp(260px,22vw,360px);aspect-ratio:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* QA corrections: usable controls, consistent focus and short-screen composition. */
a,button,summary{touch-action:manipulation}
.draft-controls{display:flex;gap:14px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}
.no-script-notice{padding-top:34px;padding-bottom:34px;border-bottom:1px solid var(--line)}
.no-script-notice h2{font-size:42px;margin-bottom:16px}.no-script-notice p{max-width:760px;font-size:14px}.no-script-notice a{text-decoration:underline;text-underline-offset:3px}
.draft-status .text-link{min-height:32px;align-items:center;font-size:11px}
.draft-status{align-items:center}
.brief-step [aria-invalid=true]{border-color:var(--rust);background:#fff5ed}
.brief-step legend:focus-visible,#brief-complete h3:focus-visible{outline:2px solid var(--rust);outline-offset:5px}
@media(max-width:600px){.draft-status>span{max-width:180px}.draft-controls{max-width:90px;gap:5px}.close-button{width:40px;height:40px}.footer-links a{min-height:28px;display:inline-flex;align-items:center}}
@media(min-width:601px) and (max-width:1000px){
  .hero{height:670px}
  .hero-image{top:auto;bottom:0;height:330px;object-position:75% center}
  .hero:before{content:'';position:absolute;inset:0 0 auto;height:350px;background:linear-gradient(150deg,#f0e8db,#e9dfcd)}
  .hero:after{display:none}
  .hero-content{padding-top:132px;padding-bottom:0}
  .hero h1{font-size:clamp(55px,8.4vw,72px);margin-bottom:21px}
  .hero-note{max-width:none;margin-top:13px;font-size:11px}
  .hero-note br{display:none}
  .hero .button{min-height:48px;padding:12px 22px;font-size:13px}
  .hero-scroll{display:none}
}
@media(min-width:601px) and (max-width:1000px) and (max-height:500px){
  .hero{height:570px}.hero-image{height:300px}.hero:before{height:290px}
  .hero-content{padding-top:110px}.hero h1{font-size:54px;margin-bottom:18px}
  .hero-note{margin-top:11px}
}
@media(max-width:360px){.hero .button{min-width:0;gap:23px}.hero{height:750px}.hero-image{height:370px}.hero:before{height:390px}}
@media(max-width:260px){
  :root{--gutter:12px}.brand>span{font-size:34px}.brand small{font-size:8px}.menu-label{display:none}.site-header{gap:8px}
  .hero-content{padding-top:124px}.hero h1{font-size:32px;line-height:1.03}.hero .button{padding:12px;gap:8px;font-size:12px}
  .section-heading h2,.projects h2,.design-layout h2,.contact-content h2{font-size:35px}
  .keep-together{white-space:normal}.card-title,.project-meta{flex-wrap:wrap}.footer-links{gap:5px 12px}
  .brief-dialog{padding:40px 16px 20px}.brief-intro h2{font-size:32px}.brief-progress{flex-wrap:wrap;gap:8px}
  .brief-step legend{font-size:25px}.brief-actions{gap:12px;flex-wrap:wrap}.draft-status{flex-wrap:wrap;gap:5px}.draft-controls{max-width:none}
}
