:root {
  --wine: #551320; --wine-deep: #310a12; --copper: #a84318; --copper-light: #d77a3d;
  --cream: #fff6e9; --paper: #fffdf9; --ink: #321c18; --muted: #705e57;
  --line: rgba(85, 19, 32, .14); --radius: 28px; --shadow: 0 28px 70px rgba(68, 23, 18, .14);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",sans-serif;line-height:1.65} img{max-width:100%}
h1,h2{margin:0;font-family:"Fraunces",serif;font-weight:600;line-height:1.02;letter-spacing:-.045em} h1{font-size:clamp(3.2rem,7vw,7.3rem)} h1 em{color:var(--copper);font-style:normal} h2{font-size:clamp(2.35rem,4.5vw,4.8rem)} h3,p{margin-top:0}
.eyebrow{margin-bottom:1rem;color:var(--copper);font-size:.77rem;font-weight:800;letter-spacing:.19em;text-transform:uppercase}.light{color:#ffd8a3}
.site-header{position:sticky;top:0;z-index:20;min-height:84px;padding:12px clamp(22px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,253,249,.92);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:12px;color:var(--wine-deep);text-decoration:none}.brand-logo{width:50px;height:50px;object-fit:cover;border-radius:50%;box-shadow:0 7px 18px rgba(79,21,23,.18)}.brand strong,.brand small{display:block}.brand strong{font-family:"Fraunces",serif;font-size:1.08rem}.brand small{color:var(--muted);font-size:.72rem}
nav{display:flex;align-items:center;gap:28px}nav a{color:var(--wine-deep);font-size:.9rem;font-weight:700;text-decoration:none}.nav-cta{padding:11px 18px;border-radius:999px;color:#fff;background:var(--wine)}.menu-button{display:none;padding:10px 15px;border:1px solid var(--line);border-radius:999px;color:var(--wine-deep);background:#fff;font-weight:700}
.hero{min-height:680px;padding:86px clamp(24px,12vw,190px) 104px;display:flex;align-items:center;overflow:hidden;background:radial-gradient(circle at 82% 18%,rgba(243,190,124,.34),transparent 28%),radial-gradient(circle at 4% 94%,rgba(198,78,34,.13),transparent 32%),linear-gradient(135deg,#fffdf8 0%,var(--cream) 60%,#f7dfbf 100%)}
.hero-copy{position:relative;z-index:2;max-width:940px}.hero-copy:before{content:"";position:absolute;z-index:-1;width:210px;height:210px;left:-90px;top:-70px;border:1px solid rgba(168,67,24,.18);border-radius:50%}.lead{max-width:760px;margin:28px 0;color:var(--muted);font-size:clamp(1.08rem,1.6vw,1.32rem)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{min-height:54px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;font:800 .91rem "DM Sans";text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.button:hover{transform:translateY(-2px)}.primary{color:#fff;background:linear-gradient(135deg,var(--copper-light),var(--copper));box-shadow:0 12px 28px rgba(168,67,24,.24)}.quiet{border:1px solid var(--wine);color:var(--wine);background:rgba(255,255,255,.35)}
.trust-line{margin-top:34px;display:flex;gap:12px 24px;flex-wrap:wrap;font-size:.82rem;font-weight:800}.trust-line span:before{content:"✓";margin-right:7px;color:var(--copper)}
.service-ribbon{padding:24px clamp(24px,7vw,120px);display:grid;grid-template-columns:repeat(4,1fr);color:#fff;background:var(--wine-deep)}.service-ribbon div{min-height:62px;padding:7px 22px;display:flex;align-items:center;gap:14px;border-right:1px solid rgba(255,255,255,.18)}.service-ribbon div:last-child{border:0}.service-ribbon span{font:600 1.8rem "Fraunces";color:#f5b56f}.service-ribbon strong{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
.strip{padding:82px clamp(24px,7vw,120px);display:grid;grid-template-columns:minmax(0,.78fr) minmax(340px,1.22fr);gap:clamp(36px,6vw,88px);align-items:center;background:linear-gradient(125deg,#fff 0%,#fff4e8 58%,#efd2b2 100%)}.strip h2{margin-bottom:22px}.strip .eyebrow.light{color:var(--copper)}.strip p{max-width:680px;margin:0 0 14px}.intro-copy>p:not(.eyebrow){color:var(--muted);font-size:1.06rem}.intro-button{margin-top:18px;color:#fff;background:var(--wine);box-shadow:0 12px 28px rgba(49,10,18,.2)}.transport-visual{margin:0;overflow:hidden;border:5px solid rgba(255,255,255,.82);border-radius:var(--radius);background:var(--cream);box-shadow:var(--shadow);transform:rotate(1deg)}.transport-visual img{width:100%;height:auto;display:block}
.section{padding:90px clamp(24px,7vw,120px)}.section-heading{margin-bottom:54px;display:grid;grid-template-columns:1.2fr .8fr;gap:65px;align-items:end}.section-heading>p{color:var(--muted);font-size:1.06rem}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service{min-height:290px;padding:28px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 8px 30px rgba(72,33,24,.04)}.service.featured{border-color:rgba(168,67,24,.16);background:#fff1df}.service.tpmr-coming{border-color:rgba(85,19,32,.14);background:#f9eef0}.service-number{margin-bottom:auto;color:var(--copper);font:700 1rem "Fraunces"}.service h3{font:700 1.55rem/1.15 "Fraunces"}.service p{color:var(--muted)}.service small{padding-top:16px;border-top:1px solid var(--line);font-weight:700}
.story{padding:82px clamp(24px,7vw,120px);display:grid;grid-template-columns:.3fr 1fr 1fr;gap:5vw;color:#fff;background:linear-gradient(135deg,var(--wine-deep),var(--wine))}.story-accent{width:150px;height:150px;display:grid;place-items:center;border:1px solid #f5b56f;border-radius:50%;color:#f5b56f;text-align:center;font-weight:800;transform:rotate(-7deg)}.story-text{color:#f2dcda;font-size:1.04rem}.signature{margin-top:25px;color:#f5b56f;font:700 3rem "Fraunces";transform:rotate(-5deg)}
.area{padding:78px clamp(24px,7vw,120px);display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.area p{max-width:620px;color:var(--muted)}.towns{display:flex;gap:10px;flex-wrap:wrap}.towns a,.towns span{padding:12px 18px;border-radius:999px;color:var(--wine-deep);background:#f4e7d8;font-weight:700;text-decoration:none}
.reviews{padding:66px clamp(24px,7vw,120px);display:grid;grid-template-columns:.7fr 1fr .75fr;gap:5vw;align-items:center;color:#fff;background:linear-gradient(130deg,var(--wine),var(--wine-deep))}.stars{margin:12px 0 0;color:#f5b56f;font-size:1.5rem;letter-spacing:.15em}.reviews blockquote{margin:0;font:600 clamp(1.45rem,2.3vw,2.2rem)/1.35 "Fraunces"}.review-actions{display:flex;flex-direction:column;gap:15px;align-items:flex-start}.light-button{border-color:#fff;color:#fff}.review-link{color:#f5b56f;font-weight:800}
.contact{padding:82px clamp(24px,7vw,120px);display:grid;grid-template-columns:1fr 1fr;gap:7vw;color:#fff;background:linear-gradient(125deg,var(--wine-deep),var(--wine) 58%,var(--copper))}.contact>div>p{color:#f8e3dc}.phone{margin:28px 0 10px;display:block;color:#ffd7a8;font:700 clamp(2rem,4vw,4rem) "Fraunces";text-decoration:none}.whatsapp{display:block;margin-top:8px;color:#fff;font-weight:800}form{padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:18px;border-radius:var(--radius);color:var(--ink);background:#fff;box-shadow:var(--shadow)}label{font-size:.82rem;font-weight:800}input,textarea,select{width:100%;margin-top:7px;padding:13px;display:block;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#fffaf4;font:inherit}.full{grid-column:1/-1}form small{color:var(--muted);text-align:center}.website-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
footer{padding:48px clamp(24px,7vw,120px);display:flex;align-items:center;justify-content:space-between;background:#fffaf4}footer p{margin:0;text-align:right;font-size:.8rem}.floating-contact{position:fixed;right:20px;bottom:20px;z-index:25;padding:13px 19px;border-radius:999px;color:#fff;background:#198754;box-shadow:0 10px 28px #0003;font-weight:800;text-decoration:none}
@media(max-width:960px){.menu-button{display:block}nav{position:absolute;top:84px;left:0;right:0;padding:22px;display:none;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line);background:var(--paper)}nav.open{display:flex}.hero,.strip,.section-heading,.story,.area,.reviews,.contact{grid-template-columns:1fr}.hero{min-height:auto}.hero-portrait{max-width:500px}.service-ribbon{grid-template-columns:1fr 1fr}.service-ribbon div:nth-child(2){border-right:0}.service-ribbon div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18)}.transport-visual{max-width:760px;transform:none}.services-grid{grid-template-columns:1fr 1fr}.story-accent{display:none}.review-actions{flex-direction:row;align-items:center;flex-wrap:wrap}}
@media(max-width:600px){.site-header{min-height:74px}.brand small{display:none}.brand-logo{width:44px;height:44px}nav{top:74px}.hero{padding:58px 21px 70px}.hero-actions .button{width:100%}.service-ribbon{grid-template-columns:1fr;padding:16px 21px}.service-ribbon div{border-right:0;border-bottom:1px solid rgba(255,255,255,.18)}.service-ribbon div:last-child{border-bottom:0}.section,.strip,.story,.area,.reviews,.contact{padding:70px 21px}.services-grid{grid-template-columns:1fr}.service{min-height:285px}.section-heading{gap:20px;margin-bottom:38px}form{grid-template-columns:1fr;padding:22px}form label{grid-column:1/-1}footer{gap:26px;align-items:flex-start;flex-direction:column}footer p{text-align:left}.floating-contact{right:12px;bottom:12px}}
