:root{--ink:#252224;--wine:#351e29;--wine2:#241a23;--brass:#a48759;--brass-light:#cdb990;--paper:#f4f1ea;--ivory:#faf8f3;--line:#d8d0c2;--muted:#655f5c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Avenir Next',Avenir,'Helvetica Neue',Arial,sans-serif;font-size:1rem;line-height:1.72;-webkit-font-smoothing:antialiased}a{color:inherit}button,input,textarea{font:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;z-index:99;padding:.6rem}header{position:sticky;top:0;z-index:20;background:rgba(248,246,240,.97);border-bottom:1px solid rgba(84,64,63,.14);backdrop-filter:blur(14px)}.nav{max-width:1440px;margin:auto;padding:1.15rem 4vw;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font-family:Baskerville,'Iowan Old Style',Georgia,serif;text-decoration:none;font-size:1.55rem;letter-spacing:.015em;white-space:nowrap}.brand em{color:#9a7749;font-weight:normal}nav{display:flex;align-items:center;gap:1.7rem}nav a{text-decoration:none;font-size:.73rem;text-transform:uppercase;letter-spacing:.145em;font-weight:600}nav a:hover,.lang:hover{color:#8c643c}.lang{border-left:1px solid var(--line);padding-left:1.3rem}.menu{display:none;background:none;border:0;font-size:1.5rem}h1,h2,h3,p{margin-top:0}h1,h2,h3,.large,.quote{font-family:Didot,'Bodoni 72','Bodoni MT',Baskerville,Georgia,serif;font-weight:400}h1{font-size:clamp(3rem,3.35vw,4.25rem);line-height:1.15;letter-spacing:-.025em;max-width:690px;margin-bottom:1.8rem}h2{font-size:clamp(3rem,3.35vw,4.25rem);letter-spacing:-.032em;line-height:1.07}h3{font-size:clamp(1.75rem,2.3vw,2.6rem);line-height:1.16;letter-spacing:-.02em}.eyebrow{font-family:'Avenir Next',Avenir,Arial,sans-serif;font-size:.71rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--brass)}.hero{color:var(--ivory);min-height:700px;display:flex;align-items:center;position:relative;overflow:hidden;background:#251b22}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#251b22 0%,#251b22 42%,rgba(37,27,34,.78) 55%,transparent 72%);z-index:1;pointer-events:none}.hero-visual{position:absolute;inset:0 0 0 auto;width:60%;height:100%;overflow:hidden}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:64% center;display:block}.hero-inner{position:relative;z-index:2;width:100%;max-width:1440px;margin:auto;padding:6.2rem 4vw 4rem}.hero .eyebrow{color:var(--brass-light);margin-bottom:1.7rem}.hero h1 span{display:block;font-style:italic;color:#dcc49c;font-weight:normal}.hero p.lead{font-size:clamp(1.08rem,1.6vw,1.35rem);line-height:1.7;max-width:590px;color:#e2d9d3}.actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.7rem}.button{display:inline-block;border:1px solid var(--brass-light);padding:1rem 1.55rem;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-weight:700;font-size:.72rem;background:var(--brass-light);color:#251b20;cursor:pointer;transition:background .2s,color .2s,transform .2s}.button.alt{background:transparent;color:#f8f3ea}.button:hover{transform:translateY(-2px);background:#e3cfa8}.button.alt:hover{color:#231b20}.hero-meta{display:flex;gap:1rem 2.6rem;flex-wrap:wrap;margin-top:4.4rem;color:#dccdbd;font-size:.88rem;letter-spacing:.1em;text-transform:uppercase}.hero-meta span{border-top:1px solid rgba(218,191,153,.48);padding-top:.8rem;min-width:180px}.container{max-width:1440px;margin:auto;padding:8rem 4vw}.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw;align-items:start;background:var(--paper)}.intro .large{font-size:clamp(1.8rem,2.2vw,2.35rem);line-height:1.35;letter-spacing:-.015em}.intro p:not(.eyebrow):not(.large){max-width:680px;color:#514b49}.situations{background:var(--ivory);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-head{max-width:900px;margin-bottom:4rem}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.card{background:var(--ivory);padding:2.6rem 2.35rem 3.2rem;min-height:300px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .25s}.card:hover{background:#f0ebe1}.card small{font-size:.7rem;color:#a07d4b;font-weight:700;letter-spacing:.12em}.card h3{margin:1.45rem 0 .9rem}.card p{max-width:430px;margin:0;color:#59524d}.services{background:#ebe5dc}.service{display:grid;grid-template-columns:1fr 1.55fr;gap:7vw;padding:3.7rem 0;border-top:1px solid #c6bdaf}.service:last-child{border-bottom:1px solid #c6bdaf}.service h3{margin:.55rem 0}.service p{max-width:750px;color:#514b47}.service strong{color:#2b2325}.service .tag{font-size:.73rem;text-transform:uppercase;letter-spacing:.16em;color:#927044;font-weight:700}.dark{background:radial-gradient(ellipse at 85% 80%,#47303b 0%,transparent 43%),linear-gradient(125deg,#211b22,#39242d);color:var(--ivory)}.dark p{color:#dfd4cd}.split{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.steps{counter-reset:step;list-style:none;margin:0;padding:0}.steps li{counter-increment:step;border-top:1px solid rgba(210,187,168,.27);padding:1.35rem 0 1.35rem 3.4rem;position:relative;color:#ded3ce}.steps li:last-child{border-bottom:1px solid rgba(210,187,168,.27)}.steps li:before{content:'0' counter(step);position:absolute;left:0;color:var(--brass-light);font-size:.75rem;letter-spacing:.1em}.steps strong{display:block;font-weight:600;color:#fff;letter-spacing:.02em}.about{display:grid;grid-template-columns:1fr 1fr;gap:11vw;align-items:center}.about .quote{font-size:clamp(2.35rem,3vw,3.45rem);line-height:1.18;color:var(--wine);letter-spacing:-.028em;border-left:1px solid var(--brass);padding-left:2.5rem}.about p:not(.eyebrow){color:#514b49}.faq{background:var(--paper)}.faq details{border-top:1px solid var(--line);padding:1.5rem 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:600;font-size:1.07rem;padding-right:2rem;list-style:none;position:relative}.faq summary:after{content:'+';position:absolute;right:.2rem;font-size:1.4rem;top:-.2rem;color:var(--brass)}.faq details[open] summary:after{content:'−'}.faq p{max-width:850px;margin:1rem 0 0;color:#514b49}.contact{background:var(--wine);color:var(--ivory)}.contact .split{align-items:start}.contact p{color:#e3d8d3}.contact form{border-top:1px solid rgba(210,187,168,.45);padding-top:2rem}label{display:block;font-size:.82rem;margin:0 0 .35rem;letter-spacing:.03em}input,textarea{width:100%;border:1px solid #bbaaad;border-radius:0;background:#faf8f4;color:var(--ink);padding:.85rem;min-height:50px}textarea{min-height:125px;resize:vertical}.field{margin-bottom:1.2rem}.contact .note{font-size:.8rem}.contact .button{margin-top:.5rem}.contact-direct{margin:1.8rem 0 0;display:flex;flex-direction:column;gap:.25rem}.contact-direct a{text-decoration:none;color:var(--ivory);overflow-wrap:anywhere;border-bottom:1px solid rgba(210,187,168,.5);width:fit-content}.contact-direct a:hover{color:var(--brass-light)}footer{background:#1b171b;color:#c9bbba;padding:2rem 4vw;font-size:.8rem}footer .foot{max-width:1440px;margin:auto;display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}footer a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #d7b77d;outline-offset:3px}@media(max-width:950px){nav{gap:.8rem}nav a{font-size:.67rem}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.nav{padding:1rem 6vw}.menu{display:block}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:1.5rem 6vw;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}nav.open{display:flex}.lang{border-left:0;padding:0}.hero{min-height:690px}.hero-visual{width:100%;opacity:.25}.hero:before{background:linear-gradient(90deg,rgba(37,27,34,.94),rgba(37,27,34,.75))}.hero-inner{padding:6rem 6vw 3rem}.hero-meta{margin-top:4.5rem;gap:.5rem 1rem}.hero-meta span{min-width:0;width:45%;font-size:.78rem}.container{padding:5rem 6vw}.intro,.split,.about,.service{grid-template-columns:1fr;gap:1.5rem}.grid{grid-template-columns:1fr}.card{min-height:auto;padding:2.2rem}.section-head{margin-bottom:2.5rem}.service{padding:2.8rem 0}.about .quote{padding-left:1.5rem}.hero h1{font-size:clamp(3.1rem,10vw,4.6rem)}h2{font-size:clamp(2.6rem,8vw,3.4rem)}.about .quote{font-size:clamp(2.35rem,7vw,3rem)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.card{transition:none}}
