:root{--navy:#111c28;--ink:#18232d;--ivory:#f5f1e8;--gold:#d4ad65;--muted:#bfc3c6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{text-decoration:none}p{margin:0 0 1.3rem}h1,h2,h3{line-height:1.12;font-weight:400;margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif}h1{font-size:clamp(3.5rem,5.5vw,6.5rem);letter-spacing:-.045em}h2{font-size:clamp(2.5rem,4vw,4.5rem);letter-spacing:-.04em}h3{font-size:1.35rem}em{font-weight:400;color:var(--gold)}.eyebrow{font-size:.68rem;letter-spacing:.19em;font-weight:700;margin-bottom:1.6rem}.section{padding:100px 7vw}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;background:var(--gold);color:#111c28;padding:16px 25px;font-size:.86rem;font-weight:700;border:1px solid var(--gold);text-decoration:none}.button:hover{background:#e6c58b}.button:disabled{cursor:not-allowed;opacity:.65}.small{padding:12px 18px}.text-link{font-size:.88rem;border-bottom:1px solid #7f8991;padding:8px 0}.skip{position:absolute;top:-100px;left:1rem;background:white;padding:12px;z-index:10}.skip:focus{top:10px}:focus-visible{outline:3px solid #b3822c;outline-offset:5px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--navy);color:var(--ivory);padding:22px 7vw;border-bottom:1px solid #ffffff1c}.brand{background:white;display:block;padding:7px 11px}.brand img{width:100px;height:auto;display:block}nav{display:flex;gap:34px;align-items:center;font-size:.82rem}nav a:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:var(--ivory);min-height:690px}.hero-copy{padding:80px 3vw 50px 7vw}.hero .eyebrow{color:var(--gold)}.intro{max-width:400px;color:#ccd0d3;font-size:1rem;margin:30px 0}.actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}.hero-note{font-size:.6rem;letter-spacing:.14em;margin:55px 0 0;color:#bbc0c4}.hero-image{margin:0;position:relative;display:flex;align-items:center;background:#292b2b;min-width:0}.hero-image>img{width:100%;height:100%;max-height:790px;object-fit:contain}.hero-image figcaption{position:absolute;bottom:0;left:0;right:0;padding:20px 25px;background:#111c28d9;display:flex;gap:15px;justify-content:space-between;font-size:.55rem;letter-spacing:.12em}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:40px}.section-heading>p{max-width:340px;font-size:.9rem;color:#58616a;margin:0}.filters{display:flex;flex-wrap:wrap;gap:10px;margin:35px 0}.filters button{background:none;border:1px solid #c9c4b9;padding:10px 17px;color:var(--ink);font-size:.8rem}.filters button[aria-pressed=true]{background:var(--navy);color:var(--ivory);border-color:var(--navy)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 24px}.project{border:0;padding:0;background:none;text-align:left;color:inherit}.project-image{height:360px;overflow:hidden;background:#333332;position:relative}.project-image img{height:100%;width:100%;object-fit:contain;transition:transform .4s}.project:hover img{transform:scale(1.035)}.project-image span{position:absolute;right:12px;bottom:12px;background:var(--ivory);border-radius:50%;width:34px;height:34px;display:grid;place-items:center}.project h3{margin:16px 0 5px;font-family:Georgia,serif;font-size:1.45rem}.project p{font-size:.72rem;color:#61676b;margin:0}.services{background:var(--navy);color:var(--ivory)}.services>.eyebrow{color:var(--gold)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:60px}.service-grid article{border-top:1px solid #ffffff40;padding-top:23px}.service-grid span{color:var(--gold);font-size:.75rem}.service-grid h3{margin:25px 0 18px}.service-grid p{color:#bfc5ca;font-size:.88rem}.process{display:grid;grid-template-columns:1fr 1fr;gap:80px}.process h2{margin-bottom:25px}.process p{color:#58616a;font-size:.92rem}.process ol{margin:0;padding-left:30px}.process li{padding:0 0 30px 20px;border-bottom:1px solid #d6d0c5;margin-bottom:30px}.process li::marker{color:#8c6425}.process h3{margin-bottom:12px}.quote{background:#e9e4da;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.quote-intro>p{max-width:320px}.quote-intro h2{margin-bottom:28px}.email{font-size:.95rem;border-bottom:1px solid #9b7e48;display:inline-block;margin:15px 0 30px;overflow-wrap:anywhere}.fine{font-size:.75rem;color:#596069;line-height:1.6}.form-title{display:flex;justify-content:space-between;gap:10px;font-size:.6rem;letter-spacing:.12em;border-bottom:1px solid #bcb7ad;padding-bottom:22px}fieldset{border:0;padding:25px 0 0;margin:0 0 25px}legend{padding-top:30px;font-size:1.2rem;font-family:Georgia,serif}label{display:block;font-size:.78rem;margin-bottom:18px}input,select,textarea{display:block;width:100%;background:#f9f6ef;border:1px solid #b6b5ac;border-radius:0;padding:12px;margin-top:7px;color:var(--ink);min-width:0}textarea{resize:vertical}.two{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.consent{display:flex;align-items:start;gap:10px}.consent input{width:18px;flex-shrink:0;margin-top:4px}.honeypot{position:absolute;left:-10000px;width:1px}#form-status{font-size:.9rem}footer{background:var(--navy);color:var(--ivory);display:flex;justify-content:space-between;align-items:center;gap:30px;padding:45px 7vw;font-size:.8rem}footer strong{font-family:Georgia,serif;letter-spacing:.15em}footer strong span{color:var(--gold)}footer p{color:#bfc5ca;margin:8px 0 0}dialog{border:0;background:var(--ivory);color:var(--ink);padding:50px;max-width:1100px;width:92vw;max-height:90dvh;overflow:auto}dialog::backdrop{background:#07111be8}.close{position:absolute;right:12px;top:5px;border:0;background:none;font-size:2rem}.lightbox-body{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}.lightbox-body>img{width:100%;max-height:70vh;object-fit:contain;background:#2c2d2d}.lightbox-body h2{font-size:2.6rem;margin-bottom:20px}.lightbox-controls{display:flex;align-items:center;gap:20px;margin:30px 0}.lightbox-controls button{border:1px solid #aaa;background:none;padding:10px 20px}.lightbox-controls button:disabled{opacity:.3}@media(min-width:1500px){.hero-copy{padding-top:110px}.project-image{height:440px}}@media(max-width:1000px){nav{gap:20px}.section{padding:75px 5vw}header{padding:18px 5vw}.hero-copy{padding-left:5vw}.gallery{grid-template-columns:repeat(2,1fr)}.service-grid{grid-template-columns:repeat(2,1fr)}.quote{gap:5vw}.project-image{height:390px}}@media(max-width:700px){header{align-items:center;padding:15px 5vw}.brand img{width:70px}nav{justify-content:flex-end;gap:15px;flex-wrap:wrap}nav>a{font-size:.75rem}nav a:nth-child(2),nav a:nth-child(3){display:none}.small{padding:10px}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 6vw 45px}.hero h1{font-size:clamp(3rem,12vw,5rem)}.hero-image{height:440px}.hero-note{margin-top:35px}.hero-image>img{max-height:440px}.section{padding:65px 6vw}.section-heading{display:block}.section-heading>p{margin-top:25px}.gallery{gap:28px 15px}.project-image{height:250px}.project h3{font-size:1.18rem}.filters{gap:7px}.filters button{font-size:.7rem;padding:8px 12px}.service-grid{gap:22px}.process,.quote{grid-template-columns:1fr;gap:35px}.process ol{padding-left:20px}.quote-intro>p{max-width:none}.two{grid-template-columns:1fr}.form-title{font-size:.55rem}.lightbox-body{grid-template-columns:1fr;gap:25px}dialog{padding:40px 20px 25px}.lightbox-body>img{max-height:45vh}.lightbox-body h2{font-size:2rem}footer{align-items:start;flex-direction:column;gap:20px}}@media(max-width:400px){.gallery{grid-template-columns:1fr}.project-image{height:340px}.service-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
/* Contemporary Workshop: warm gallery surfaces and graphite typography. */
:root{--navy:#292b29;--ink:#292b29;--ivory:#f7f4ed;--gold:#ae7b2c;--muted:#646760}
header{background:var(--ivory);color:var(--ink);border-bottom:1px solid #ddd8ce}
.brand{background:white}
.hero{background:var(--ivory);color:var(--ink)}
.hero .eyebrow,.services>.eyebrow{color:#805b24}
.hero .intro{color:#62655f}
.hero-note{color:#666a62}
.text-link{border-bottom-color:#999d91}
.button{background:#d6b16e;border-color:#d6b16e;color:#292b29}
.button:hover{background:#e0c28d}
.hero-image{background:#e8e3d9}
.hero-image figcaption{background:#f7f4edf2;color:#4f534b;border-top:1px solid #ddd8ce}
.work{background:#fffdf8}
.filters button[aria-pressed=true]{background:#343832;border-color:#343832;color:#fffdf8}
.services{background:#eae6dc;color:var(--ink)}
.services em{color:#805b24}
.service-grid article{border-top-color:#bdbbae}
.service-grid span{color:#805b24}
.service-grid p{color:#5c6157}
.process{background:var(--ivory)}
.quote{background:#eeebe3}
footer{background:#e4e0d5;color:var(--ink);border-top:1px solid #d4d0c4}
footer p{color:#5b6056}
footer strong span{color:#805b24}
/* Blend the supplied logo's white backing into the ivory header. */
.brand{background:transparent}
.brand img{mix-blend-mode:multiply}

.social-links{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:20px;margin:0 0 25px;font-size:.85rem}.social-links a{border-bottom:1px solid #b4a17c;padding:4px 0}.social-links a:hover{color:#805b24}footer .social-links{margin:12px 0 0}
