@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap";:root{color:#344b4b;font-synthesis:none;text-rendering:optimizelegibility;--slate:#344b4b;--cream:#f5e9d9;--terracotta:#c7784d;--peach:#f8caa6;--blue:#778b96;--red:#c1221f;--white:#fffcf7;background:#f5e9d9;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);min-width:320px;color:var(--slate);margin:0;line-height:1.6}h1,h2,h3{color:var(--slate);font-family:Playfair Display,Georgia,serif;font-weight:500;line-height:1.2}h1{font-size:clamp(2.8rem,6vw,5rem)}h2{font-size:clamp(2rem,4vw,3.25rem)}p{line-height:1.75}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}::selection{background:var(--peach);color:var(--slate)}#root{min-height:100vh}main{min-height:65vh}main>section{width:min(1100px,100% - 40px);margin:0 auto;padding:80px 0}.btn,button[type=submit]{border:1px solid var(--terracotta);background:var(--terracotta);color:var(--white);border-radius:4px;justify-content:center;align-items:center;padding:14px 28px;font-weight:600;transition:background .2s,transform .2s;display:inline-flex}.btn:hover,button[type=submit]:hover{background:var(--slate);border-color:var(--slate);transform:translateY(-2px)}input,select,textarea{background:var(--white);width:100%;color:var(--slate);border:1px solid #c9c8be;border-radius:4px;padding:14px}input:focus,select:focus,textarea:focus{outline:2px solid var(--terracotta);outline-offset:2px}@media (width<=600px){main>section{padding:48px 0}}.site-header{background:var(--slate);color:var(--cream)}.navbar{justify-content:space-between;align-items:center;gap:24px;max-width:1200px;margin:0 auto;padding:22px 32px;display:flex}.logo,.footer-logo{letter-spacing:-.04em;color:var(--cream);font-family:Playfair Display,Georgia,serif;font-size:1.8rem;font-weight:600}.logo-dot{color:var(--terracotta)}.nav-links{align-items:center;gap:36px;display:flex}.nav-links a{color:var(--cream);font-size:.9rem;font-weight:500;transition:color .2s}.nav-links a:hover,.nav-links a.active:not(.nav-contact){color:var(--peach)}.nav-links .nav-contact{border:1px solid var(--peach);border-radius:4px;padding:11px 22px}.nav-links .nav-contact:hover,.nav-links .nav-contact.active{background:var(--peach);color:var(--slate)}.site-footer{background:var(--slate);color:var(--cream);padding:72px 32px 24px}.footer-inner{grid-template-columns:2fr 1fr 1.5fr;gap:60px;max-width:1200px;margin:0 auto;display:grid}.footer-brand p{max-width:300px;color:var(--cream);opacity:.8;margin-top:16px}.footer-navigation,.footer-contact{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.site-footer h3{text-transform:uppercase;letter-spacing:.12em;color:var(--peach);margin:0 0 10px;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:700}.site-footer a{color:var(--cream)}.site-footer a:hover{color:var(--peach)}.footer-contact a{overflow-wrap:anywhere}.footer-contact p{opacity:.8;margin:0}.footer-bottom{opacity:.75;border-top:1px solid #f5e9d940;justify-content:space-between;gap:16px;max-width:1200px;margin:64px auto 0;padding-top:24px;font-size:.8rem;display:flex}@media (width<=768px){.navbar{flex-wrap:wrap;justify-content:center;padding:20px}.nav-links{flex-wrap:wrap;justify-content:center;gap:20px}.footer-inner{grid-template-columns:1fr 1fr;gap:40px}.footer-brand{grid-column:1/-1}}@media (width<=480px){.logo{font-size:1.6rem}.nav-links{gap:16px}.nav-links a{font-size:.85rem}.nav-links .nav-contact{padding:8px 12px}.footer-inner{grid-template-columns:1fr;gap:36px}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column;gap:8px}}.about-page{max-width:800px}.about-page .eyebrow{color:var(--terracotta);letter-spacing:.18em;font-size:.8rem;font-weight:700}.about-page h1{margin-bottom:12px}.about-intro{color:var(--blue);margin-bottom:56px;font-size:1.3rem}.about-page h2{margin-bottom:24px}.about-page p{max-width:650px}.about-page .btn{margin-top:28px}.home-page{overflow:hidden}.home-page>section{width:100%;max-width:none;margin:0}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta);font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:700}.text-link{border-bottom:1px solid;padding-bottom:5px;font-weight:700;transition:color .2s;display:inline-block}.text-link:hover{color:var(--terracotta)}.home-hero{background:var(--cream);grid-template-columns:1.3fr .7fr;align-items:center;gap:60px;min-height:650px;padding:100px max(6%,50% - 600px);display:grid}.hero-content{max-width:750px}.home-hero h1{margin:24px 0}.home-hero h1 em{color:var(--terracotta);font-weight:400}.hero-description{max-width:530px;margin-bottom:36px;font-size:1.2rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:30px;display:flex}.hero-decoration{aspect-ratio:4/5;border:1px solid var(--terracotta);background:var(--slate);color:var(--cream);text-align:center;border-radius:160px 160px 8px 8px;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex}.hero-decoration span{font-family:Playfair Display,serif;font-size:clamp(2rem,3vw,3.5rem)}.hero-decoration p{color:var(--peach);font-style:italic}.home-services{background:var(--white);padding:100px 6%}.section-heading{text-align:center;max-width:700px;margin:0 auto 60px}.section-heading h2{margin:16px 0}.service-grid{grid-template-columns:repeat(4,1fr);gap:20px;max-width:1200px;margin:0 auto;display:grid}.service-card{background:var(--cream);border:1px solid #d8cabc;min-height:300px;padding:32px 24px;transition:transform .2s,border-color .2s;position:relative}.service-card:hover{border-color:var(--terracotta);transform:translateY(-5px)}.service-number{color:var(--terracotta);letter-spacing:.1em;font-size:.8rem}.service-card h3{margin:35px 0 14px;font-size:1.6rem}.service-card p{font-size:.95rem}.service-arrow{color:var(--terracotta);font-size:1.5rem;position:absolute;bottom:20px;right:24px}.home-about{background:var(--cream);grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding:110px max(6%,50% - 600px);display:grid}.home-about h2{margin-top:16px}.home-about p{font-size:1.1rem}.home-about .text-link{margin-top:20px}.home-cta{text-align:center;background:var(--slate);color:var(--cream);padding:100px 24px}.home-cta h2{color:var(--cream);margin:20px 0}.home-cta>p:not(.eyebrow){max-width:500px;margin:0 auto 35px}.home-cta .eyebrow{color:var(--peach)}@media (width<=900px){.home-hero{grid-template-columns:1fr;min-height:auto;padding:80px 6%}.hero-decoration{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.home-about{grid-template-columns:1fr;gap:20px}}@media (width<=600px){.home-hero{padding:65px 24px}.home-services{padding:70px 24px}.service-grid{grid-template-columns:1fr}.service-card{min-height:240px}.home-about{padding:70px 24px}.home-cta{padding:75px 24px}.hero-actions{gap:24px}}.services-page>section{width:100%;max-width:none;margin:0}.services-intro{background:var(--cream);text-align:center;padding:110px 6% 100px}.services-intro h1{max-width:900px;margin:24px auto}.services-intro h1 em{color:var(--terracotta);font-weight:400}.services-intro>p:last-child{max-width:600px;margin:0 auto;font-size:1.1rem}.services-list{background:var(--white);padding:30px 6% 90px}.service-detail{border-bottom:1px solid #d8cabc;grid-template-columns:1fr 1fr;gap:80px;max-width:1100px;margin:0 auto;padding:75px 0;display:grid}.service-detail:last-child{border-bottom:none}.service-detail h2{margin:18px 0}.service-subtitle{color:var(--terracotta);font-family:Playfair Display,serif;font-size:1.3rem;font-style:italic}.service-detail-content>p{margin-bottom:25px;font-size:1.05rem;line-height:1.8}.service-detail-content ul{margin-bottom:30px;padding-left:20px}.service-detail-content li{margin-bottom:12px;line-height:1.6}.service-detail-content li::marker{color:var(--terracotta)}.services-cta{text-align:center;background:var(--slate);color:var(--cream);padding:100px 24px}.services-cta h2{color:var(--cream);margin:20px 0}.services-cta>p:not(.eyebrow){max-width:500px;margin:0 auto 35px}.services-cta .eyebrow{color:var(--peach)}@media (width<=768px){.services-intro{padding:75px 24px}.services-list{padding:10px 24px 60px}.service-detail{grid-template-columns:1fr;gap:20px;padding:55px 0}.services-cta{padding:75px 24px}}
