@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap");
:root{--ink:#3b2922;--brown:#76503f;--gold:#caa66c;--nude:#ead9cb;--rose:#d9b9aa;--cream:#f8f2ec;--paper:#fffdfb;--muted:#766961;--line:#e6d9cf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}.site-header{height:84px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,253,251,.94);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.logo-small{display:flex;align-items:center;gap:10px;font-weight:600;letter-spacing:.02em}.logo-small img{width:58px;height:58px;object-fit:contain}.logo-small span{font-size:.78rem;color:var(--brown)}nav{display:flex;align-items:center;gap:27px;font-size:.82rem}nav a{opacity:.7;transition:.2s}nav a:hover,nav a.active{opacity:1;color:var(--brown)}.nav-cta{border:1px solid var(--brown);padding:10px 16px!important;opacity:1!important}.menu-toggle{display:none;background:none;border:0;font-size:1.4rem}.hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:1.08fr .92fr;align-items:center;padding:7vw 9vw;gap:5vw;background:linear-gradient(120deg,var(--cream),#f4e8df)}.eyebrow{font-size:.67rem;letter-spacing:.18em;font-weight:600;color:var(--brown);margin:0 0 18px}.hero h1,.page-hero h1,.contact h1{font-size:clamp(3.4rem,6.8vw,6.8rem);line-height:.96;letter-spacing:-.065em;margin:0 0 28px}.hero h1 em,.page-hero h1 em,.contact h1 em,h2 em{font-family:"Playfair Display",serif;font-weight:500}.lead{font-size:1.08rem;color:var(--muted);max-width:620px}.actions{display:flex;align-items:center;gap:24px;margin-top:32px}.button{display:inline-flex;align-items:center;gap:26px;border:0;padding:14px 19px;font:inherit;cursor:pointer}.button.dark{background:var(--brown);color:white}.button.light{background:var(--paper);color:var(--ink)}.text-link{font-weight:600;border-bottom:1px solid}.hero-brand{display:flex;justify-content:center;align-items:center;position:relative}.hero-brand:before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,#e5cdbd 0,#ead9cb 46%,transparent 70%)}.hero-brand img{position:relative;width:min(520px,100%);filter:drop-shadow(0 24px 28px #67483a22)}.marquee{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;padding:18px;border-bottom:1px solid var(--line);font-size:.63rem;letter-spacing:.16em;color:var(--brown)}.marquee b{color:var(--gold)}.section{padding:9vw}.intro{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}.section-label{font-size:.66rem;letter-spacing:.18em;font-weight:600;color:var(--muted)}h2{font-size:clamp(2.7rem,5vw,5rem);line-height:1.02;letter-spacing:-.055em;margin:0 0 24px}.large{font-size:1.3rem;line-height:1.55;max-width:780px;color:#554a44}.services{background:#4a342b;color:white}.services .section-label{color:#dcc4b4}.section-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;margin-bottom:55px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff32}.service-grid article{padding:32px 25px 35px 0;border-bottom:1px solid #ffffff32;min-height:245px;transition:transform .25s,background .25s}.service-grid article:hover{transform:translateY(-5px);background:#ffffff08}.service-grid article:nth-child(3n+2),.service-grid article:nth-child(3n){padding-left:25px;border-left:1px solid #ffffff32}.service-grid span{font-size:.68rem;opacity:.55}.service-grid h3{font-size:1.42rem;margin:28px 0 8px}.service-grid p{color:#daccc4;max-width:330px;font-size:.9rem}.service-grid a{font-size:.78rem;font-weight:600}.cta{background:linear-gradient(120deg,#c8a18c,#b78d77);text-align:center;color:#fff}.cta .eyebrow{color:#fff}.cta h2{margin-left:auto;margin-right:auto}.page-hero{padding:10vw 9vw 7vw;background:var(--cream)}.page-hero .lead{max-width:700px}.service-list article{display:grid;grid-template-columns:.25fr 1fr;gap:5vw;padding:55px 0;border-top:1px solid var(--line)}.number{font-size:.75rem;color:var(--brown);letter-spacing:.1em}.service-list h2{font-size:3rem}.service-list p{max-width:760px;color:var(--muted)}.service-list ul{display:flex;gap:12px;flex-wrap:wrap;padding:0;margin:24px 0 0;list-style:none}.service-list li{background:var(--cream);padding:8px 12px;font-size:.75rem}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:center}.portrait{aspect-ratio:4/5;overflow:hidden;background:var(--nude);box-shadow:0 25px 60px #5c403520}.portrait img{width:100%;height:100%;object-fit:cover}.values{background:var(--cream);display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.value-grid b{font-size:.7rem;color:var(--brown)}.value-grid h3{font-size:1.35rem}.value-grid p{color:var(--muted);font-size:.88rem}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 30px}.project-art{aspect-ratio:1.25;background:var(--nude);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:transform .3s}.project:hover .project-art{transform:translateY(-5px)}.project-art span{text-align:center;font-family:"Playfair Display";font-size:2.4rem;line-height:.85;letter-spacing:-.04em}.project-art em{font-size:1.3em}.p2 .project-art{background:#d9c9bf}.p3 .project-art{background:#ead8c3}.p4 .project-art{background:#d1c5c0}.project small{font-size:.61rem;letter-spacing:.14em;color:var(--muted)}.project h3{font-size:1.35rem;margin:7px 0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:var(--cream);min-height:calc(100vh - 84px)}.contact-info{display:flex;flex-direction:column;gap:7px;margin-top:45px}.contact-info a{font-size:1.05rem;font-weight:600;text-decoration:underline}.contact-info span{font-size:.78rem;color:var(--muted)}form{display:flex;flex-direction:column;gap:20px;background:white;padding:45px;box-shadow:0 20px 50px #5b3e3020}label{font-size:.73rem}input,textarea,select{display:block;width:100%;margin-top:7px;border:0;border-bottom:1px solid var(--line);padding:12px 0;background:transparent;font:inherit;outline:0}textarea{resize:vertical}form small{color:var(--muted);font-size:.68rem}footer{padding:42px 5vw;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;border-top:1px solid var(--line);align-items:center}footer small{grid-column:1/-1;color:var(--muted);font-size:.68rem}footer p{color:var(--muted);font-size:.78rem}@media(max-width:800px){.site-header{height:70px}.logo-small img{width:48px;height:48px}.menu-toggle{display:block}nav{display:none;position:absolute;left:0;right:0;top:70px;background:var(--paper);padding:25px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{grid-template-columns:1fr;padding:16vw 7vw}.hero-brand{min-height:360px}.hero-brand img{width:95%}.intro,.section-head,.about-grid,.values,.contact{grid-template-columns:1fr;gap:45px}.section{padding:16vw 7vw}.service-grid,.portfolio-grid{grid-template-columns:1fr}.service-grid article:nth-child(3n+2),.service-grid article:nth-child(3n){padding-left:0;border-left:0}.service-list article{grid-template-columns:1fr;gap:10px}.service-list h2{font-size:2.2rem}.value-grid{grid-template-columns:1fr}.contact{min-height:auto}.contact form{padding:30px 20px}.page-hero{padding:18vw 7vw 12vw}.hero h1,.page-hero h1,.contact h1{font-size:clamp(3rem,15vw,5rem)}footer{grid-template-columns:1fr}.actions{flex-direction:column;align-items:flex-start}}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.show{opacity:1;transform:none}
