@font-face{font-family:Lato;src:url(/fonts/lato-300.ttf)format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/lato-400.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Lato;src:url(/fonts/lato-700.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Playfair Display;src:url(/fonts/playfair-400.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Playfair Display;src:url(/fonts/playfair-600.ttf)format("truetype");font-weight:600;font-style:normal;font-display:swap}:root{--white:#fff;--paper:#f9f9f7;--ink:#2c2c2c;--muted:#888;--accent:#a89f91;--footer:#222;--serif:"Playfair Display",Georgia,serif;--sans:Lato,Arial,sans-serif;scroll-behavior:smooth;scroll-padding-top:120px}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);font-family:var(--sans);margin:0;font-weight:400}body{font-size:16px;line-height:1.6}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:4px;outline:3px solid #715c42}img{max-width:100%;display:block}.skip-link{z-index:20;background:#fff;padding:.8rem;position:absolute;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.site-header{z-index:10;background:#fff;justify-content:space-between;align-items:center;height:120px;padding:15px 5%;display:flex;position:fixed;inset:0 0 auto}.brand-logo{object-fit:contain;width:auto;height:90px}.primary-nav{align-items:center;gap:30px;display:flex}.primary-nav>a{font:400 .85rem/1.6 var(--sans);letter-spacing:1px;text-transform:uppercase;text-decoration:none}.primary-nav>a:hover,.site-footer a:hover{color:var(--accent)}.menu-toggle{border:1px solid var(--accent);color:var(--ink);font:inherit;background:0 0;padding:.55rem .8rem;display:none}.hero{text-align:center;color:#fff;place-items:center;height:100svh;min-height:600px;display:grid;position:relative;overflow:hidden}.hero-bg{object-fit:cover;z-index:0;filter:brightness(.85);width:100%;height:100%;position:absolute;inset:0}.hero-content{z-index:1;text-shadow:0 1px 10px #0004;max-width:800px;padding:20px;position:relative}.hero h1{font:400 3.5rem/1.2 var(--serif);margin:0 0 1rem}.hero p{letter-spacing:.5px;margin:0 0 2rem;font-size:1.3rem;font-weight:300}.cta-group{flex-wrap:wrap;justify-content:center;display:flex}.btn{color:#fff;letter-spacing:1px;text-transform:uppercase;border:1px solid #fff;margin:10px;padding:14px 35px;font-size:.8rem;font-weight:400;text-decoration:none;transition:background .2s,color .2s;display:inline-block}.btn-primary{font-weight:700}.btn-primary,.btn:hover{color:var(--ink);background:#fff}.manifesto{text-align:center;max-width:900px;margin:0 auto;padding:100px 5%}.manifesto h2,.section-heading h2{font:400 1.5rem/1.2 var(--serif);margin:0 0 24px}.contact h2{font:400 2.5rem/1.2 var(--serif);margin:0 0 20px}.manifesto p{max-width:900px;margin:0 auto 18px;font-size:1rem;line-height:1.8}.manifesto .highlight{font:700 1rem var(--serif);color:var(--accent);margin-top:28px;display:block}.services{background:var(--paper);padding:100px 5%}.section-heading{text-align:center;max-width:900px;margin:0 auto 50px}.section-heading p{color:var(--muted);margin:.65rem 0 0}.services-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:40px;max-width:1500px;margin:auto;display:grid}.service-card{background:#fff;padding-bottom:30px;transition:transform .25s,box-shadow .25s;box-shadow:0 3px 12px #0000000a}.service-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000012}.service-card h3,.project-title{font:400 1.6rem/1.3 var(--serif);margin:20px 30px 8px}.service-card p{color:#555;margin:0 30px}.service-card img{object-fit:cover;width:100%;height:300px;margin-bottom:20px}.projects{background:#fff;padding:100px 5%}.project-typology-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;max-width:1500px;margin:0 auto 90px;display:grid}.project-typology-card{background:var(--paper);border:1px solid #efeeeb;flex-direction:column;align-items:flex-start;min-height:210px;padding:28px 30px;text-decoration:none;transition:transform .25s,box-shadow .25s;display:flex}.project-typology-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000012}.typology-card-index{color:#8d8376;letter-spacing:.12em;font-size:.82rem}.project-typology-card h3{font:400 clamp(1.35rem,2vw,1.8rem)/1.25 var(--serif);margin:30px 0 18px}.typology-card-link{letter-spacing:.08em;text-transform:uppercase;margin-top:auto;font-size:.82rem}.typology-card-link span{color:var(--accent);margin-left:5px;font-size:1.15rem}.featured-projects .section-heading{margin-bottom:50px}.project-grid{grid-template-columns:repeat(auto-fit,minmax(min(350px,100%),1fr));gap:30px;max-width:1500px;margin:auto;display:grid}.project-card{text-decoration:none;display:block}.project-card img{object-fit:cover;width:100%;height:500px;transition:transform .4s}.project-card:hover img{transform:scale(1.015)}.project-image-wrap{overflow:hidden}.project-title{margin:16px 0 2px;font-size:1.5rem}.project-category{color:#888;letter-spacing:1.5px;text-transform:uppercase;margin:0;font-size:.9rem}.quote-banner{background:var(--paper);text-align:center;color:#2c2c2c;place-items:center;height:350px;margin-top:90px;display:grid;position:relative;overflow:hidden}.quote-banner p{z-index:1;font:400 2.2rem/1.3 var(--serif);padding:1rem;position:relative}.contact{text-align:center;background:var(--paper);padding:80px 5%}.contact h2{margin-bottom:20px}.contact p{color:#555;margin:0 0 30px;font-size:1.1rem}.contact-button{color:#fff;letter-spacing:1px;text-transform:uppercase;background:#2c2c2c;padding:14px 32px;font-size:.9rem;font-weight:400;text-decoration:none;display:inline-block}.site-footer{background:var(--footer);color:#ccc;padding:60px 5% 0}.footer-content{justify-content:space-between;gap:30px;max-width:1200px;margin:auto;display:flex}.footer-content h2,.footer-content h3{font:400 .85rem/1.4 var(--sans);letter-spacing:1px;text-transform:uppercase;color:#aaa}.footer-content p{margin:.3rem 0}.site-footer a{text-decoration:none}.footer-bottom{text-align:center;border-top:1px solid #444;margin:40px -5% 0;padding:20px;font-size:.85rem}.initial-photos{border-top:1px solid #ddd;padding-top:18px}.initial-photos h2{margin-top:0}.pending-photo-list{gap:8px;margin:16px 0;padding:0;list-style:none;display:grid}.pending-photo-list li{border:1px solid #ddd;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.detail-main{max-width:1400px;margin:auto;padding:184px 5% 100px}.back-link{margin-bottom:30px;display:inline-block}.detail-hero{grid-template-columns:1.15fr .85fr;align-items:center;gap:5%;display:grid}.detail-hero img{object-fit:cover;width:100%;height:min(65vw,650px);max-height:650px}.detail-kicker{text-transform:uppercase;letter-spacing:.1em;color:#756c61;font-size:.85rem}.detail-copy h1{font:400 clamp(2.5rem,5vw,4.2rem)/1.15 var(--serif);margin:.45rem 0 1.4rem}.detail-summary{color:#555;font-size:1.15rem}.detail-sections{max-width:800px;margin:80px auto 0}.detail-sections h2{font:400 2rem var(--serif)}.detail-sections p{white-space:pre-line}.detail-meta{border-top:1px solid #ddd;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-top:40px;padding-top:25px;display:grid}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:60px;display:grid}.gallery figure{margin:0}.gallery img{object-fit:cover;width:100%;height:auto;max-height:650px}.gallery figcaption,.cover-caption{color:#666;margin-top:8px}.detail-cta{text-align:center;background:var(--paper);margin-top:80px;padding:50px 20px}.typology-page{min-height:70vh;padding-top:220px}.typology-page .section-heading h1{font:400 clamp(2rem,4vw,3rem)/1.2 var(--serif);margin:0 0 18px}.typology-kicker{color:#756c61;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:.85rem}.typology-return{max-width:1500px;margin:50px auto 0}.typology-return a{text-decoration:none}.typology-return a:hover{color:var(--accent)}.admin-shell{background:var(--paper);min-height:100vh;padding:32px 5%}.admin-panel{background:#fff;max-width:1000px;margin:32px auto;padding:clamp(20px,5vw,52px);box-shadow:0 8px 35px #2c2c2c0c}.admin-panel h1,.admin-panel h2{font-family:var(--serif);font-weight:400}.admin-top{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-form{gap:18px;display:grid}.editor-fields{border:0;gap:18px;min-width:0;margin:0;padding:0;display:grid}.admin-form label,.row-editor label{gap:5px;font-weight:400;display:grid}.admin-form input,.admin-form textarea,.row-editor input,.row-editor textarea{font:inherit;border:1px solid #bbb;border-radius:0;min-width:0;padding:10px}.admin-form textarea,.row-editor textarea{min-height:105px}.admin-button{color:#fff;font:inherit;cursor:pointer;background:#2c2c2c;border:1px solid #2c2c2c;padding:11px 16px;text-decoration:none;display:inline-block}.admin-button.secondary{color:#2c2c2c;background:#fff}.admin-button:disabled{opacity:.5;cursor:wait}.admin-list{padding:0;list-style:none}.admin-list li{border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;gap:1rem;padding:15px 0;display:flex}.error-message{color:#9b251d}.success-message{color:#236b43}.row-editor{border:1px solid #ddd;gap:12px;padding:16px;display:grid}.admin-actions{flex-wrap:wrap;gap:10px;display:flex}.media-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;display:grid}.media-card{border:1px solid #ddd;padding:12px}.media-card img{object-fit:cover;width:100%;height:180px}.media-card label{margin:8px 0;display:block}.loading{color:#777}.empty-projects{text-align:center;color:#555;max-width:700px;margin:0 auto}.detail-cover{min-width:0;margin:0}.cover-caption{font-size:.9rem}@media (max-width:640px){:root{scroll-padding-top:110px}.site-header{height:75px;padding:10px 5%}.brand-logo{height:45px}.menu-toggle{display:block}.primary-nav{background:#fff;flex-direction:column;align-items:flex-start;gap:14px;padding:14px 5% 22px;display:none;position:absolute;top:75px;left:0;right:0;box-shadow:0 10px 15px #0001}.primary-nav.is-open{display:flex}.hero{min-height:560px}.hero-content{padding:20px}.hero h1{font-size:2.2rem}.manifesto,.services,.projects{padding:100px 5%}.typology-page{padding-top:130px}.project-typology-grid{grid-template-columns:1fr;gap:16px;margin-bottom:70px}.project-typology-card{min-height:175px}.project-typology-card h3{margin:22px 0 16px}.project-grid{grid-template-columns:1fr}.project-card img{height:400px}.quote-banner{margin-top:90px}.quote-banner p{font-size:1.5rem}.contact{padding:80px 5%}.footer-content{text-align:center;flex-direction:column;gap:22px}.footer-bottom{margin-top:30px}.detail-main{padding:130px 5% 70px}.detail-hero{grid-template-columns:1fr;gap:24px}.detail-hero img{height:70vw;max-height:500px}.detail-copy h1{font-size:2.7rem}.detail-sections{margin-top:50px}.gallery{grid-template-columns:1fr}.admin-shell{padding:20px 4%}.admin-list li,.pending-photo-list li{flex-direction:column;align-items:flex-start}}@media (max-width:360px){.project-card img{height:400px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.file-picker{position:relative}.file-picker:focus-within{outline-offset:4px;outline:3px solid #715c42}.file-picker-input{clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.service-card{text-decoration:none;display:block}.service-card-link{color:#756c61;letter-spacing:.08em;text-transform:uppercase;margin:18px 30px 0;font-size:.78rem;display:block}.service-card-link span{margin-left:4px;font-size:1rem;transition:transform .2s}.service-card:hover .service-card-link span{display:inline-block;transform:translate(3px)}.service-card:focus-visible{outline-offset:5px}.service-detail .detail-hero img{height:min(48vw,520px)}.service-detail-sections ul{padding-left:1.3rem}.service-detail-sections li{color:#555;margin:.55rem 0;padding-left:.3rem}.service-detail .detail-cta p{color:#555;margin:0 0 24px}.service-detail-return{text-align:center;margin:32px 0 0}.service-detail-return a{text-decoration:none}.service-detail-return a:hover{color:var(--accent)}@media (max-width:640px){.service-detail .detail-hero img{height:70vw;max-height:500px}}.project-detail{--editorial-section-gap:clamp(2rem,3.67vw,3.125rem);--editorial-copy-gap:clamp(3rem,5.86vw,5rem);max-width:1520px}.editorial-hero{grid-template-columns:.75fr 1.25fr;align-items:center;gap:8%}.editorial-hero .detail-copy{padding:0}.editorial-hero .editorial-image{margin:0}.editorial-image{min-width:0;margin:0}.editorial-image img{object-fit:contain;width:100%;height:auto;max-height:none;display:block}.editorial-image figcaption{color:#666;margin-top:9px;font-size:.88rem}.editorial-story{gap:var(--editorial-copy-gap);margin:var(--editorial-copy-gap) auto 0;max-width:1280px;display:grid}.editorial-block{gap:var(--editorial-copy-gap);grid-template-columns:minmax(0,1fr);align-items:start;min-width:0;display:grid}.editorial-text{text-align:center;max-width:500px;margin-inline:auto}.editorial-text h2{font:400 clamp(1.8rem,3vw,2.6rem)/1.2 var(--serif);margin:0 0 1.2rem}.editorial-text p{color:#555;white-space:pre-line;margin:0;line-height:1.85}.editorial-wide .editorial-image img{max-height:900px}.editorial-gallery--composed{grid-template-columns:minmax(0,1fr);gap:24px;width:100%;min-width:0;display:grid}.editorial-gallery-row{grid-column:1/-1;gap:24px;width:100%;min-width:0;display:grid}.editorial-gallery-row--pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.editorial-gallery-row--pair>.editorial-image{width:100%}.editorial-gallery-row--full{grid-template-columns:minmax(0,1fr)}.editorial-gallery-row--full>.editorial-image{grid-column:1/-1;width:100%}.editorial-gallery-row--pair .editorial-image-trigger img{aspect-ratio:3/2}.editorial-unassigned{margin:var(--editorial-copy-gap) auto 0;display:block}.editorial-unassigned .editorial-gallery{gap:30px}.project-detail .detail-meta{max-width:1280px;margin:60px auto 0}.section-media-picker{border:1px solid #ddd;flex-wrap:wrap;gap:8px 18px;padding:12px;display:flex}.section-media-picker legend{padding:0 5px}.section-media-picker label{align-items:center;gap:7px;font-size:.92rem;display:flex}.admin-form select{font:inherit;background:#fff;border:1px solid #bbb;min-width:0;max-width:100%;padding:10px}@media (max-width:900px){.editorial-hero{grid-template-columns:1fr;gap:28px}.editorial-hero .detail-copy{padding:0}.editorial-block,.editorial-text-image-right,.editorial-image-text-left,.editorial-neutral{grid-template-columns:1fr}.editorial-text-image-right,.editorial-image-text-left,.editorial-neutral{gap:var(--editorial-section-gap)}.editorial-gallery-row--pair{grid-template-columns:1fr}.editorial-unassigned{margin-top:var(--editorial-copy-gap)}}.preview-banner{z-index:30;color:#fff;text-align:center;letter-spacing:.04em;background:#2c2c2c;padding:9px 15px;font-size:.82rem;position:sticky;top:0}.editorial-image-trigger{width:100%;color:inherit;cursor:zoom-in;background:0 0;border:0;padding:0;display:block}.editorial-image-trigger img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto;max-height:none;display:block}.editorial-image--portrait .editorial-image-trigger img{aspect-ratio:2/3}.editorial-gallery-row--pair .editorial-image--portrait .editorial-image-trigger img{aspect-ratio:3/2}.editorial-hero .editorial-image-trigger img{aspect-ratio:1}.editorial-wide .editorial-image-trigger img{max-height:none}.editorial-image-trigger:focus-visible{outline-offset:5px;outline:3px solid #715c42}.image-carousel-backdrop{z-index:500;color:#f6f3ec;background:#141414f5;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.image-carousel-dialog{outline:none;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:56px minmax(0,1fr) 56px;gap:12px;width:min(100%,1600px);height:calc(100dvh - 48px);display:grid;position:relative}.image-carousel-stage{overscroll-behavior:contain;touch-action:none;grid-area:1/2;justify-content:safe center;align-items:safe center;min-width:0;min-height:0;display:flex;overflow:auto}.image-carousel-stage.is-zoomed{touch-action:pan-x pan-y}.image-carousel-photo{object-fit:contain;-webkit-user-select:none;user-select:none;flex:none;height:auto;transition:width .18s,max-height .18s;display:block}.image-carousel-nav,.image-carousel-close,.image-carousel-zoom button{color:#f6f3ec;cursor:pointer;background:#1414148c;border:1px solid #f6f3ec8c;place-items:center;transition:background-color .18s,color .18s,opacity .18s;display:grid}.image-carousel-nav{border-radius:50%;grid-row:1;align-self:center;width:48px;height:48px;font-size:2rem;line-height:1}.image-carousel-nav svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px;display:block}.image-carousel-stage.is-pinch-zooming .image-carousel-photo{transition:none}.image-carousel-prev{grid-column:1}.image-carousel-next{grid-column:3}.image-carousel-close{top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));z-index:3;border-radius:50%;width:48px;height:48px;font-size:2rem;line-height:1;position:fixed}.image-carousel-toolbar{color:#f6f3ec;grid-area:2/1/auto/-1;justify-content:space-between;align-items:center;gap:20px;min-height:54px;padding:8px 56px;display:flex}.image-carousel-count{font-variant-numeric:tabular-nums;min-width:52px;font-size:.9rem}.image-carousel-caption{text-align:center;color:#f6f3ecd6;flex:1;margin:0;font-size:.9rem;line-height:1.5}.image-carousel-zoom{font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;gap:8px;min-width:174px;font-size:.85rem;display:flex}.image-carousel-zoom button{border-radius:50%;width:40px;height:40px;font-size:1.3rem;line-height:1}.image-carousel-zoom .image-carousel-reset{width:auto;font:inherit;border-radius:2px;padding:0 12px;font-size:.8rem}.image-carousel-nav:hover:not(:disabled),.image-carousel-close:hover,.image-carousel-zoom button:hover:not(:disabled){color:#222;background:#f6f3ec}.image-carousel-nav:disabled,.image-carousel-zoom button:disabled{cursor:default;opacity:.34}.image-carousel-nav:focus-visible,.image-carousel-close:focus-visible,.image-carousel-zoom button:focus-visible{outline-offset:3px;outline:3px solid #fff}@media (max-width:640px){.image-carousel-backdrop{padding:calc(10px + env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom))}.image-carousel-dialog{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:44px minmax(0,1fr) 44px;gap:0;width:100%;height:100%}.image-carousel-stage{grid-area:1/1/auto/-1;padding:48px 0 14px}.image-carousel-nav{z-index:2;background:#141414b3;justify-self:center;width:44px;height:44px;position:relative;top:auto;transform:translateY(17px)}.image-carousel-nav svg{width:20px;height:20px}.image-carousel-prev{left:0}.image-carousel-next{right:0}.image-carousel-close{top:calc(10px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));width:44px;height:44px}.image-carousel-toolbar{flex-wrap:wrap;grid-area:2/1/auto/-1;justify-content:center;gap:10px 16px;padding:10px 0 4px 56px}.image-carousel-count{min-width:0}.image-carousel-caption{flex:0 0 100%;order:3;max-height:3em;font-size:.82rem;overflow:hidden;transform:translate(-28px)}.image-carousel-zoom{display:none}}.studio-page{max-width:1000px}.studio-page .detail-copy{max-width:800px}.studio-page .detail-sections{margin-top:50px}.studio-page .detail-sections ul{padding-left:1.3rem}.studio-page .detail-sections li{margin:.7rem 0}
