@font-face{font-family:Amatic;src:url('assets/amaticsc.woff2') format('woff2');font-display:swap}@font-face{font-family:Script;src:url('assets/mrdehaviland.woff2') format('woff2');font-display:swap}@font-face{font-family:Futura;src:url('assets/futura-light.woff2') format('woff2');font-display:swap}
:root{--ink:#24282d;--paper:#f4f2ed;--white:#fff;--line:rgba(255,255,255,.42);--accent:#d1b690}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:64px}body{margin:0;background:#20252a;color:#fff;font:16px/1.65 Futura,Arial,sans-serif}a{color:inherit}img{display:block;max-width:100%}.skip-link{position:fixed;z-index:100;top:-5rem;left:1rem;background:#fff;color:#111;padding:.8rem 1rem}.skip-link:focus{top:1rem}.site-header{height:64px;position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:center;background:rgba(25,28,31,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.12)}nav{display:flex;align-items:center}nav a{font-family:Amatic,sans-serif;font-size:1.35rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:.3rem 1.65rem;border-right:1px solid rgba(255,255,255,.25)}nav a:last-child{border:0}nav a:hover,nav a:focus-visible{color:var(--accent)}.mini-mark{display:none}.menu-button{display:none}.hero{min-height:690px;position:relative;display:grid;place-items:center;background:url('assets/hero.jpg') center/cover fixed}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,24,30,.86),rgba(22,24,30,.34) 58%,rgba(22,24,30,.15))}.wordmark{position:relative;text-align:center;margin-top:-1rem;text-shadow:0 2px 18px rgba(0,0,0,.38)}.wordmark h1{font:clamp(5rem,12vw,9rem)/.8 Script,cursive;margin:0;font-weight:400}.wordmark p{font-size:1.45rem;letter-spacing:.55em;text-transform:uppercase;margin:1.8rem 0 .4rem}.wordmark svg{width:min(420px,80vw);fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round}.section{padding:7rem max(1.25rem,calc((100vw - 1180px)/2))}.expertise,.portfolio{background:linear-gradient(rgba(29,33,41,.9),rgba(29,33,41,.96)),url('assets/hero.jpg') center/cover fixed}.section-heading{text-align:center;max-width:730px;margin:0 auto 3rem}.section-heading h2{font:400 clamp(3rem,7vw,5.2rem)/1 Amatic,sans-serif;letter-spacing:.06em;text-transform:uppercase;margin:.15rem 0}.section-heading .eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:.78rem;margin:0;opacity:.65}.section-heading span{display:block;width:42px;height:2px;background:currentColor;margin:1.1rem auto}.section-heading>p:last-child{margin:.4rem 0 0;opacity:.72}.expertise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.expertise-grid article{background:rgba(24,28,34,.82);text-align:center;padding:3rem 1.5rem;min-height:280px}.expertise-grid .icon{font-size:3.2rem;line-height:1}.expertise-grid h3{font:400 2rem/1 Amatic,sans-serif;letter-spacing:.07em;text-transform:uppercase;margin:1.4rem 0 .7rem}.expertise-grid p{margin:0;color:rgba(255,255,255,.68);font-size:.92rem}.portfolio{padding-top:6rem}.gallery{display:grid;gap:4px}.design-gallery{grid-template-columns:repeat(3,1fr)}.photo-gallery{grid-template-columns:repeat(2,1fr)}.gallery button{display:block;padding:0;border:0;background:#000;overflow:hidden;cursor:zoom-in;aspect-ratio:4/3}.photo-gallery button{aspect-ratio:1}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease,opacity .45s ease}.gallery button:hover img,.gallery button:focus-visible img{transform:scale(1.035);opacity:.82}.photography-heading{margin-top:8rem}.about{min-height:820px;background:linear-gradient(rgba(36,40,45,.25),rgba(36,40,45,.5)),url('assets/about-bg.jpeg') center/cover fixed;display:flex;align-items:center}.about-card{width:min(760px,100%);margin:auto;background:rgba(255,255,255,.95);color:#333;padding:clamp(2rem,6vw,5rem);box-shadow:0 30px 80px rgba(0,0,0,.28)}.about-card .section-heading{margin-bottom:2.2rem}.about-card p{margin:0 0 1.3rem}.about-card a{text-decoration-color:#8d7252;text-underline-offset:.2em}.contact{background:linear-gradient(rgba(26,29,34,.58),rgba(26,29,34,.72)),url('assets/contact-bg.jpg') center/cover}.contact-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;max-width:1060px;margin:auto;background:rgba(25,29,34,.9);padding:clamp(2rem,6vw,5rem)}.contact-intro .section-heading{text-align:left;margin:0 0 2rem}.contact-intro .section-heading span{margin-left:0}.location{font:400 2rem/1.4 Amatic,sans-serif;letter-spacing:.06em;text-transform:uppercase}.location em{font-style:normal;color:var(--accent)}.socials{display:flex;gap:.65rem}.socials a{width:40px;height:40px;border:1px solid rgba(255,255,255,.4);border-radius:50%;display:grid;place-items:center;text-decoration:none;text-transform:uppercase;font-size:.8rem}.socials a:hover{background:#fff;color:#222}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}label{display:grid;gap:.35rem;margin-bottom:1rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}input,textarea{width:100%;border:1px solid rgba(255,255,255,.33);background:rgba(255,255,255,.07);color:#fff;font:inherit;padding:.8rem;border-radius:0}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:2px}form button{border:1px solid #fff;background:#fff;color:#222;padding:.85rem 1.2rem;text-transform:uppercase;letter-spacing:.14em;cursor:pointer}form button:hover{background:var(--accent);border-color:var(--accent)}.form-note{font-size:.78rem;opacity:.6}footer{text-align:center;background:#171a1e;padding:1.5rem;color:rgba(255,255,255,.65);font-size:.85rem}dialog{width:min(1000px,94vw);height:min(84vh,850px);border:0;padding:0;background:#111;color:#fff;box-shadow:0 30px 100px #000}dialog::backdrop{background:rgba(0,0,0,.86)}dialog img{width:100%;height:calc(100% - 48px);object-fit:contain}dialog p{height:48px;margin:0;display:grid;place-items:center}dialog button{position:absolute;right:.6rem;top:.35rem;width:42px;height:42px;border:0;border-radius:50%;font-size:2rem;background:rgba(0,0,0,.7);color:#fff;cursor:pointer}
@media(max-width:760px){html{scroll-padding-top:58px}.site-header{height:58px;justify-content:space-between;padding:0 1rem}.mini-mark{display:block;text-decoration:none;font:2rem Script,cursive}.menu-button{display:block;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);padding:.45rem .75rem;text-transform:uppercase;letter-spacing:.1em}nav{display:none;position:absolute;top:58px;left:0;right:0;background:#1b1e22;flex-direction:column;padding:.5rem 0}nav.open{display:flex}nav a{width:100%;border:0;text-align:center;padding:.65rem}.hero{min-height:580px;background-attachment:scroll}.section{padding:5rem 1rem}.expertise-grid{grid-template-columns:1fr 1fr}.expertise-grid article{min-height:230px;padding:2rem 1rem}.design-gallery{grid-template-columns:repeat(2,1fr)}.photo-gallery{grid-template-columns:1fr}.about{background-attachment:scroll}.contact-panel{grid-template-columns:1fr;gap:2rem}.field-row{grid-template-columns:1fr}}
@media(max-width:430px){.expertise-grid{grid-template-columns:1fr}.design-gallery{grid-template-columns:1fr}.wordmark p{font-size:1rem}.about-card{padding:2rem 1.35rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery img{transition:none}.hero,.expertise,.portfolio,.about{background-attachment:scroll}}
