:root{--ink:#29251f;--muted:#7c7468;--cream:#f6f3ec;--line:#ddd6c9;--accent:#b39a71}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:14px/1.7 Inter,Arial,sans-serif}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.08}h1{font-size:clamp(40px,5vw,78px)}h2{font-size:clamp(34px,3.5vw,52px);margin:16px 0 26px}h3{font-size:28px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%;height:auto}header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:27px 4.5%;background:var(--ink);color:#fff;position:relative;z-index:5}.home header{position:absolute;inset:0 0 auto;background:transparent}.brand{display:flex;gap:13px;align-items:center;white-space:nowrap;letter-spacing:.09em;font-family:Georgia,serif;font-size:15px}.brand small{display:block;font:9px/1.6 Inter,Arial,sans-serif;letter-spacing:.17em;color:#d6cdbd}.mark{height:44px;width:44px;border:1px solid #c9c0b0;display:grid;place-items:center;font-size:20px}nav{display:flex;gap:26px;font-size:11px;text-transform:uppercase;letter-spacing:.07em}nav a:hover{color:#dbbd89}.menu{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 24px;border:1px solid currentColor;background:transparent;color:inherit;font-size:11px;letter-spacing:.09em;text-transform:uppercase;min-height:46px;transition:.2s}.button:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.button.light{background:#e9e0d0;color:var(--ink);border-color:#e9e0d0}.button.light:hover{background:#d7c7aa}.button:disabled{opacity:.35;cursor:default}.text-link{border-bottom:1px solid currentColor;padding-bottom:5px;font-size:12px}.eyebrow{display:block;text-transform:uppercase;font-size:10px;letter-spacing:.18em;color:var(--muted)}.hero{position:relative;min-height:850px;height:100svh;color:#fff;display:flex;align-items:center;padding:150px 7% 100px}.hero-bg,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(24,20,17,.63),rgba(24,20,17,.08)),linear-gradient(0deg,rgba(24,20,17,.4),transparent)}.hero-content{position:relative;max-width:740px}.hero .eyebrow{color:#d1c6b4;margin-bottom:26px}.hero h1{font-size:clamp(42px,5.4vw,84px);margin-bottom:26px}.hero p{max-width:460px;color:#e3dccf;font-size:16px;line-height:1.8}.hero-tags{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-top:22px}.actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap;margin-top:40px}.hero-bottom{position:absolute;bottom:30px;font-size:9px;letter-spacing:.2em}.section{padding:100px 6%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:45px}.section-heading h2{margin-bottom:0}.about{display:grid;grid-template-columns:1.1fr 1fr .6fr;gap:7%;align-items:center}.about p{color:var(--muted);margin:14px 0;max-width:420px}.portrait{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1)}.stats{display:grid;gap:30px}.stats strong{display:block;font:48px Georgia,serif}.stats span{color:var(--muted);font-size:12px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 28px}.card-image{position:relative;aspect-ratio:4/3;overflow:hidden;background:#ded7cb}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-card a:hover img{transform:scale(1.04)}.card-number{position:absolute;left:17px;top:14px;color:#fff;font-size:11px;background:#29251f99;padding:3px 8px}.card-arrow{position:absolute;bottom:14px;right:14px;color:#fff;font-size:24px}.card-line{display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;color:var(--muted);letter-spacing:.1em;margin:20px 0 9px}.project-card h3{font-size:29px;margin-bottom:5px}.project-card p{font-size:12px;color:var(--muted)}.dark{background:var(--ink);color:#eee7db}.dark .eyebrow{color:#b9a98e}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:50px}.steps article{border-top:1px solid #5d554a;padding-top:25px}.step-number{color:var(--accent);font:30px Georgia,serif}.steps h3{font-size:25px;margin:18px 0}.steps p{color:#bbb2a2;font-size:13px}.services{background:#eeeadf}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin:45px 0}.service-grid>div{display:flex;gap:20px;border-top:1px solid var(--line);padding-top:20px}.service-grid span{color:var(--accent);font-size:11px}.service-grid h3{font:15px/1.6 Inter,Arial,sans-serif}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.reviews article{background:#fff;padding:30px}.reviews p{margin:10px 0 25px;color:var(--muted)}.reviews strong,.reviews small{display:block}.reviews small{color:var(--muted);margin-top:7px}.quote{font:50px Georgia,serif;color:var(--accent);line-height:1}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:var(--ink);color:#fff}.contact .eyebrow{color:#bfae90}.contact p{color:#c1b7a6;max-width:470px}.contact-links>a:not(.button){display:block;font:34px Georgia,serif}.contact-links>a.small-link{font:15px Inter,Arial,sans-serif;margin:18px 0}.contact-links .button{margin-top:25px}footer{background:var(--ink);color:#b4a995;display:flex;gap:25px;align-items:center;justify-content:space-between;padding:30px 6%;border-top:1px solid #494237;font-size:11px}.footer-brand{font:18px Georgia,serif;color:#e6ddcd;letter-spacing:.08em}.page-heading{padding:75px 7%;text-align:center}.page-heading h1{margin:24px auto;max-width:950px}.page-heading p{max-width:560px;margin:0 auto;opacity:.8}.page-heading .text-link{display:inline-block;margin:24px 0}.catalog{padding-top:38px}.filters{display:flex;justify-content:center;flex-wrap:wrap;gap:15px 30px}.filters button{background:none;border:0;border-bottom:1px solid transparent;padding:10px 0;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em}.filters button.active{color:var(--ink);border-color:var(--ink)}.search-row{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:32px 0 45px}.search-row label{display:grid;gap:8px;font-size:11px;color:var(--muted);width:380px;max-width:70%}.search-row input{border:0;border-bottom:1px solid #bdb4a5;background:transparent;padding:12px 0;border-radius:0;min-width:0}.search-row>span{color:var(--muted);font-size:12px}.project-card[hidden]{display:none}#empty{text-align:center;padding:80px 20px}#empty .button{margin-top:20px}.project-heading{padding:55px 6% 45px}.project-title{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-top:45px}.project-title h1{max-width:860px}.project-title>div{min-width:160px;border-left:1px solid var(--line);padding-left:25px}.project-title p{color:var(--muted)}.project-cover{margin:0 6%;height:min(74vw,800px);max-height:78vh;background:#dcd6cb}.project-cover img{width:100%;height:100%;object-fit:cover}.project-description{max-width:840px;margin:auto;padding:60px 24px}.project-description p{font-size:17px;line-height:1.9;color:var(--muted);margin-top:16px}.project-description .image-note{font-size:12px;color:#887b65;border-top:1px solid var(--line);padding-top:15px}.gallery{padding:0 6% 80px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.gallery figure{min-width:0}.gallery img{width:100%;height:auto}.gallery figcaption{font-size:11px;color:var(--muted);margin-top:10px}.image-button{display:block;border:0;padding:0;background:transparent;width:100%;cursor:zoom-in}.sample-callout{text-align:center;padding:65px 24px}.sample-callout .button{margin-top:25px}.next-project{padding:55px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px}.next-project a{font:32px Georgia,serif}.lightbox{border:0;background:#221e1a;color:#fff;width:min(96vw,1600px);max-height:96vh;padding:55px 20px 20px}.lightbox::backdrop{background:#14110fe8}.lightbox img{width:100%;max-height:78vh;object-fit:contain}.lightbox button{position:absolute;right:20px;top:12px;border:0;background:transparent;color:#fff;padding:8px 12px}.lightbox p{text-align:center;margin-top:10px;font-size:12px}.album{padding:30px 4% 70px}.album-toolbar{display:flex;justify-content:center;align-items:center;gap:16px;position:sticky;top:0;background:var(--cream);padding:15px;z-index:2}.album-toolbar input{width:70px;padding:8px;border:1px solid var(--line);background:white}.album-toolbar .button{padding:10px 15px}.album-sheet{overflow:auto;background:#dedad0;padding:20px;max-height:85vh}.album-sheet img{margin:auto;max-width:100%;max-height:none;width:min(100%,1500px)}.album-sheet.zoomed img{max-width:none;width:1800px}#album-status{text-align:center;font-size:12px;color:var(--muted);margin-bottom:20px}.skip{position:absolute;left:10px;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}[hidden]{display:none!important}
@media(min-width:1800px){.section,.project-heading,.gallery,.page-heading{padding-left:calc((100vw - 1550px)/2);padding-right:calc((100vw - 1550px)/2)}}
@media(max-width:1150px){nav{gap:15px}.header-cta{display:none}.steps{grid-template-columns:repeat(2,1fr)}.about{grid-template-columns:1fr 1fr}.stats{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{min-height:720px}.reviews{grid-template-columns:1fr}}
@media(max-width:700px){header{padding:20px 6%;flex-wrap:wrap}.brand{font-size:12px}.mark{width:36px;height:36px;font-size:17px}.menu{display:block;padding:8px 13px;border:1px solid #80735f;background:none;color:#fff;font-size:11px}nav{display:none;width:100%;flex-direction:column;padding:20px;background:var(--ink)}nav.open{display:flex}.hero{padding:150px 6% 85px;min-height:710px;height:100svh}.hero h1{font-size:45px}.hero p{font-size:14px}.hero-tags{font-size:9px}.actions{gap:25px}.section{padding:65px 6%}.about{grid-template-columns:1fr;gap:30px}.portrait{max-width:420px}.stats{grid-template-columns:repeat(2,1fr)}.stats strong{font-size:38px}.section-heading{align-items:start;flex-direction:column}.grid{grid-template-columns:1fr;gap:35px}.steps{grid-template-columns:1fr;gap:30px}.service-grid{grid-template-columns:1fr 1fr;gap:25px 15px}.service-grid>div{gap:10px}.service-grid h3{font-size:12px}.contact{grid-template-columns:1fr;gap:35px}.contact-links>a:not(.button){font-size:30px}.page-heading{padding:45px 6%}.page-heading h1{font-size:44px}.catalog{padding-top:25px}.filters{justify-content:start;gap:8px 20px}.filters button{font-size:10px}.search-row{margin:25px 0 35px;align-items:end}.search-row label{max-width:72%}.project-title{align-items:start;flex-direction:column;gap:25px;margin-top:30px}.project-title h1{font-size:44px}.project-title>div{border-left:0;padding-left:0}.project-heading{padding-top:30px}.project-cover{height:440px;max-height:none}.project-description{padding:40px 6%}.project-description p{font-size:15px}.gallery{grid-template-columns:1fr;gap:25px}.next-project{flex-direction:column;align-items:start}.next-project a{font-size:28px}footer{flex-direction:column;align-items:start;gap:14px}.album{padding-left:0;padding-right:0}.album-toolbar{gap:6px;padding:12px 5px;flex-wrap:wrap;font-size:12px}.album-toolbar .button{padding:8px 12px;font-size:10px}.album-sheet{padding:8px}.album-sheet.zoomed img{width:1200px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:700px){.hero h1{font-size:clamp(34px,10.5vw,45px)}.project-title h1,.page-heading h1{overflow-wrap:anywhere}.contact-links>a:not(.button){font-size:clamp(24px,7.6vw,30px)}.brand{min-width:0}}
