@font-face{font-family:"DM Sans";font-style:normal;font-weight:400 600;font-display:swap;src:url('assets/fonts/dm-sans-latin.woff2') format('woff2')}
@font-face{font-family:"Playfair Display";font-style:italic;font-weight:500;font-display:swap;src:url('assets/fonts/playfair-display-italic-latin.woff2') format('woff2')}
:root{--ink:#18382f;--cream:#f6f1e8;--paper:#fffdf8;--accent:#e76f51;--mint:#b9d1c2;--line:rgba(24,56,47,.18);--header:78px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header)}body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",sans-serif;font-size:17px;line-height:1.65}a{color:inherit}button,input,select,textarea{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-size:clamp(2.8rem,6vw,6.6rem);font-weight:500;line-height:.98;letter-spacing:-.055em}h2{font-size:clamp(2.5rem,5vw,5.2rem)}h3{font-size:1.55rem;line-height:1.2}em{font-family:"Playfair Display",serif;font-weight:500}section{scroll-margin-top:var(--header)}.skip-link{position:fixed;z-index:20;top:-100px;left:1rem;background:#fff;padding:.7rem 1rem}.skip-link:focus{top:1rem}.site-header{height:var(--header);position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:rgba(255,253,248,.93);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-size:1.25rem;font-weight:600;line-height:1}.brand small{font-size:inherit;color:var(--accent)}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:var(--ink);color:#fff;font-family:Georgia,serif;font-size:1.35rem}.brand-mark span{color:var(--accent)}nav{display:flex;align-items:center;gap:2rem}nav a{text-decoration:none;font-size:.92rem;font-weight:500}.nav-cta,.button{background:var(--accent);color:#fff;border-radius:99px;padding:.7rem 1.25rem;text-decoration:none}.menu-button{display:none}.hero{position:relative;min-height:calc(100vh - var(--header));display:flex;align-items:center;padding:8vw 8vw;overflow:hidden;background:var(--cream)}.hero-bg{position:absolute;inset:0 0 0 48%;background:linear-gradient(90deg,var(--cream) 0%,transparent 34%),linear-gradient(0deg,rgba(24,56,47,.12),rgba(24,56,47,.12)),url('assets/hero.jpg') center/cover}.hero-content{position:relative;max-width:850px;z-index:1}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:600}.eyebrow{color:var(--accent)}.hero h1{margin:.5rem 0 1.6rem}.hero .intro{max-width:560px;font-size:1.2rem}.hero-actions{display:flex;align-items:center;gap:2rem;margin-top:2.3rem}.button{display:inline-block;padding:.9rem 1.5rem;font-weight:600}.text-link{text-decoration:none;border-bottom:1px solid}.hero-note{position:absolute;right:3vw;bottom:3vw;display:flex;flex-direction:column;background:var(--paper);padding:1rem 1.3rem;transform:rotate(-2deg);box-shadow:0 10px 30px rgba(0,0,0,.12)}.hero-note strong{font-family:"Playfair Display",serif;font-style:italic;font-size:1.25rem}.hero-note span{font-size:.78rem}.section{padding:8rem 7vw}.welcome{display:grid;grid-template-columns:1fr 5fr;gap:5vw}.section-label{padding-top:.7rem;border-top:1px solid var(--ink)}.lead-copy h2{max-width:850px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:5vw;max-width:900px;margin-left:auto}.services{background:var(--ink);color:var(--paper)}.services .section-label{border-color:var(--paper)}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.25);margin:4rem 0}.service-grid article{background:var(--ink);padding:3.5rem}.number{color:var(--accent);font-size:.8rem}.service-grid h3{font-size:2.6rem;margin:.8rem 0 1.4rem}.service-grid li{margin:.45rem 0}.examples{display:grid;grid-template-columns:1fr 4fr;align-items:start}.tags{display:flex;flex-wrap:wrap;gap:.8rem}.tags span{border:1px solid rgba(255,255,255,.35);border-radius:99px;padding:.55rem 1rem;font-size:.85rem}.process{background:var(--cream)}.process-heading{display:grid;grid-template-columns:3fr 1fr;align-items:end;gap:4vw;margin-top:4rem}.process-heading p{font-size:1.1rem}.steps{list-style:none;padding:0;margin:3rem 0;border-top:1px solid var(--line)}.steps li{display:grid;grid-template-columns:1fr 3fr;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--line)}.steps li>span{color:var(--accent)}.steps h3{margin-bottom:.4rem}.steps p{margin:0;max-width:700px}.privacy{display:flex;gap:1.2rem;align-items:center;background:var(--mint);padding:1.5rem 2rem;max-width:800px;margin-left:auto}.privacy>span{font-size:2rem}.privacy p{margin:0}.about{display:grid;grid-template-columns:1fr 1.15fr;min-height:850px}.about-image{background:url('assets/suzanne.jpg') center/cover;min-height:600px}.about-copy{padding:8rem 7vw;background:var(--paper)}.about-copy h2{font-size:clamp(2.7rem,4.8vw,5rem)}blockquote{margin:2.5rem 0;padding-left:1.5rem;border-left:3px solid var(--accent);font-family:"Playfair Display",serif;font-style:italic;font-size:1.35rem}.experience{columns:2;padding-left:1rem;font-size:.9rem}.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);gap:7vw;text-align:left;background:var(--accent);color:#fff}.contact .eyebrow{color:var(--ink)}.contact h2{font-size:clamp(3rem,5.5vw,5.6rem);margin:1rem 0 2rem}.contact-intro>p:last-child{max-width:520px}.contact-form{position:relative;background:var(--paper);color:var(--ink);padding:2.4rem;box-shadow:0 20px 60px rgba(24,56,47,.16)}.contact-form label{display:block;text-align:left;font-size:.82rem;font-weight:600;margin-bottom:1.15rem}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:.35rem;border:1px solid rgba(24,56,47,.3);border-radius:0;background:#fff;padding:.8rem .9rem;color:var(--ink)}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:3px solid rgba(231,111,81,.25);border-color:var(--accent)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.consent{display:flex!important;gap:.7rem;align-items:flex-start;font-weight:400!important}.consent input{margin-top:.35rem;accent-color:var(--accent)}.form-submit{width:100%;border:0;background:var(--ink);color:#fff;padding:1rem 1.2rem;font-weight:600;cursor:pointer}.form-submit:hover{background:#28594b}.form-submit span{float:right}.form-note{font-size:.72rem;margin:.7rem 0 0;color:rgba(24,56,47,.7)}.form-status{margin-bottom:1.2rem;padding:.85rem 1rem;background:var(--mint);font-weight:600}.form-status.error{background:#f5d3c9}.website-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}footer{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:2rem;padding:2.2rem 4vw;background:#102820;color:#fff;font-size:.75rem}footer>div{display:flex;justify-content:center;gap:1.3rem}.footer-link{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer}.footer-brand{color:#fff}footer p{text-align:right;margin:0}dialog{max-width:760px;width:calc(100% - 2rem);max-height:85vh;border:0;padding:3.5rem;border-radius:4px;color:var(--ink);background:var(--paper);box-shadow:0 20px 80px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(16,40,32,.75)}dialog h2{font-size:2.5rem}dialog h3{font-size:1.1rem;margin-top:2rem}.dialog-close{position:absolute;right:1.2rem;top:1rem;background:none;border:0;font-size:2rem;cursor:pointer;color:var(--ink)}
@media(max-width:780px){:root{--header:68px}.site-header{padding:0 1.2rem}.menu-button{display:block;border:1px solid var(--ink);background:transparent;border-radius:99px;padding:.45rem .8rem}nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);padding:1rem 1.2rem;border-bottom:1px solid var(--line)}nav.open{display:flex}nav a{padding:.8rem}.nav-cta{text-align:center;margin-top:.5rem}.hero{min-height:750px;padding:5rem 1.5rem;align-items:flex-start}.hero-bg{inset:45% 0 0;background:linear-gradient(180deg,var(--cream),transparent 30%),linear-gradient(rgba(24,56,47,.08),rgba(24,56,47,.08)),url('assets/hero.jpg') center/cover}.hero h1{font-size:clamp(3.1rem,15vw,5rem)}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.2rem}.hero-note{display:none}.section{padding:5rem 1.5rem}.welcome,.process-heading{grid-template-columns:1fr}.lead-copy{margin-top:2.5rem}.columns,.service-grid,.about,.contact{grid-template-columns:1fr}.columns{gap:1rem}.service-grid article{padding:2rem 1.5rem}.examples{grid-template-columns:1fr}.steps li{grid-template-columns:45px 1fr}.about-copy{padding:5rem 1.5rem}.about-image{min-height:500px}.experience{columns:1}.contact h2{font-size:3.3rem}.contact-form{padding:1.5rem}.form-row{grid-template-columns:1fr}footer{grid-template-columns:1fr;text-align:center}footer>div{flex-direction:column;gap:.4rem}footer p{text-align:center}dialog{padding:2.5rem 1.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.brand img{display:block;width:auto;height:48px}.footer-brand img{height:38px}@media(max-width:780px){.brand img{height:40px}.footer-brand img{height:34px}}
.inline-dialog-link{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer}
