:root { --ink:#112b45; --orange:#eb741d; --orange-deep:#d95e0d; --cream:#f8f4ed; --blue:#0e5b83; --line:#dbe2e5; --muted:#536879; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); font:16px/1.55 "DM Sans",Arial,sans-serif; background:#fff; } a { color:inherit; text-decoration:none; } img { max-width:100%; }
.site-header { min-height:86px; max-width:1200px; padding:18px 32px; margin:auto; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; }.brand img{display:block;width:210px;height:auto;}
nav { display:flex; gap:26px; align-items:center; font-size:14px; font-weight:600; } nav a { transition:color .2s ease,background .2s ease,border-color .2s ease; } nav a:hover,.text-link:hover { color:var(--orange); }.nav-contact { padding:10px 16px; border:1px solid var(--ink); border-radius:4px; }.nav-contact:hover { border-color:var(--orange); }
.hero { min-height:620px; padding:78px max(32px,calc((100% - 1136px)/2)) 96px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:58px; background:radial-gradient(circle at 87% 34%,#d9ebeb 0,transparent 22%),linear-gradient(112deg,#f5f1e9 0%,#faf8f2 58%,#edf4f4 100%); overflow:hidden; }.hero-copy{max-width:580px;position:relative;z-index:1}.eyebrow { margin:0 0 14px; color:var(--orange); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; }.hero .eyebrow span { display:inline-block; width:26px; height:1px; margin:0 8px 4px 0; background:currentColor; }.hero h1,.section h2,.story h2,.route h2,.contact h2 { margin:0; font:clamp(42px,5vw,68px)/.98 "DM Serif Display",Georgia,serif; letter-spacing:0; }.hero h1 em { color:var(--orange); font-weight:400; }.intro { font-size:19px; max-width:500px; margin:27px 0 30px; color:#3d5265; }.actions{display:flex;gap:13px;flex-wrap:wrap}.button{padding:13px 19px;border-radius:4px;font-weight:700;font-size:14px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.primary{background:var(--orange);box-shadow:0 9px 20px #d9601630;color:#fff}.primary:hover{background:var(--orange-deep)}.secondary{border:1px solid #aebac2;background:#ffffff73}.button:hover{transform:translateY(-2px);box-shadow:0 9px 20px #15304518}.hero-note{margin:22px 0 0;color:#617283;font-size:13px;font-weight:600}.hero-note span{color:#45a06c;font-size:10px;margin-right:6px}.hero-art{position:relative}.hero-art:before{content:"";position:absolute;width:80%;height:80%;background:#f5a45e;border-radius:50%;right:-12%;top:7%;opacity:.18}.hero-art:after{content:"";position:absolute;inset:12% 3% 5% 14%;border:1px solid #fff;transform:rotate(-4deg);pointer-events:none}.hero-art img{position:relative;display:block;width:min(100%,470px);margin:auto;filter:drop-shadow(0 23px 28px #3c596350);border-radius:12px}
.proof { max-width:1136px; margin:-44px auto 0; position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,1fr); background:var(--ink); box-shadow:0 16px 30px #112b4524; color:#fff; }.proof div{padding:25px 30px;border-right:1px solid #587086}.proof div:last-child{border:none}.proof strong,.proof span{display:block}.proof strong{font-size:15px}.proof span{font-size:13px;color:#c4d0d7;margin-top:3px}
.hero-art img{aspect-ratio:4/3;height:auto;object-fit:cover;object-position:center;width:min(100%,500px)}
.section { max-width:1136px; margin:0 auto; padding:132px 0; }.section-heading{max-width:650px}.section h2,.story h2,.route h2,.contact h2{font-size:48px}.service-grid { margin-top:52px; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }.service-grid article{padding:30px 28px 22px 0;margin-right:25px;border-right:1px solid var(--line);transition:transform .2s ease}.service-grid article:hover{transform:translateY(-4px)}.service-grid article:last-child{border:0}.service-grid span{color:var(--orange);font-size:13px;font-weight:700}.service-grid h3{font-size:21px;margin:40px 0 8px}.service-grid p{margin:0;color:var(--muted);font-size:15px}
.story{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.story img{width:100%;height:100%;min-height:490px;object-fit:cover;filter:saturate(.9)}.story-copy{padding:96px max(32px,calc((100vw - 1136px)/2));padding-left:70px;max-width:600px}.story-copy h2{font-size:46px}.story-copy>p:not(.eyebrow),.route p:not(.eyebrow){color:#4b6070;font-size:17px}.text-link{display:inline-block;font-weight:700;margin-top:15px}.text-link span{color:var(--orange);font-size:22px;margin-left:7px;transition:margin .2s ease}.text-link:hover span{margin-left:11px}
.story{grid-template-columns:minmax(280px,420px) minmax(0,1fr);align-items:center;gap:70px;padding:82px max(32px,calc((100vw - 1136px)/2))}.story img{justify-self:end;width:100%;max-width:360px;height:420px;min-height:0;border-radius:8px;box-shadow:18px 18px 0 #e9ddd0}.story-copy{padding:0;max-width:590px}
.route{max-width:1136px;margin:0 auto;padding:125px 0;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.route h2{font-size:45px}.route img{width:100%;height:380px;object-fit:cover;object-position:center 58%;box-shadow:18px 18px 0 #edf3f2}
.local-area{padding-top:0}.local-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:42px}.local-grid article{background:#f6f9f9;border:1px solid var(--line);border-radius:8px;padding:26px}.local-grid h3{font-size:22px;margin:0 0 8px}.local-grid p{margin:0;color:var(--muted);font-size:15px}
.faq{padding-top:0}.faq-grid{margin-top:42px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.faq-grid article{border-top:1px solid var(--line);padding-top:24px}.faq-grid h3{font-size:20px;line-height:1.25;margin:0 0 10px}.faq-grid p{margin:0;color:var(--muted);font-size:15px}
.contact{text-align:center;background:linear-gradient(135deg,#0c5176,#0e668b);color:#fff;padding:104px 30px;position:relative;overflow:hidden}.contact:before,.contact:after{content:"";position:absolute;border:1px solid #9ac6d133;border-radius:50%;pointer-events:none}.contact:before{width:430px;height:430px;left:-210px;bottom:-300px}.contact:after{width:350px;height:350px;right:-180px;top:-230px}.contact>*{position:relative}.contact .eyebrow{color:#f5b371}.contact h2{font-size:52px}.contact>p:not(.eyebrow){color:#d9e7ed;margin:16px 0 38px}.contact-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.contact-actions a{border:1px solid #80a5b9;padding:13px 20px;text-align:left;font-weight:600;min-width:230px;transition:background .2s ease,transform .2s ease}.contact-actions a:hover{background:#ffffff12;transform:translateY(-2px)}.contact-actions small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#b9d1dc;margin-bottom:2px}
footer{max-width:1136px;margin:auto;padding:24px 0;display:flex;justify-content:space-between;color:#667685;font-size:12px}
@media (max-width:950px){.site-header{padding:18px 25px}nav{gap:17px}.hero{padding-left:25px;padding-right:25px;gap:35px}.proof{margin-left:25px;margin-right:25px}.section,.route{margin-left:25px;margin-right:25px}.story-copy{padding-right:35px;padding-left:45px}footer{padding-left:25px;padding-right:25px}}
@media (max-width:800px){.site-header{padding:15px 20px}.site-header nav a:not(.nav-contact){display:none}.hero{grid-template-columns:1fr;padding:55px 26px 65px;gap:35px;min-height:auto}.hero-art{grid-row:1}.hero-art img{width:260px}.hero-art:after{inset:5% 17% 6% 17%}.proof{margin:0;grid-template-columns:1fr}.proof div{padding:18px 25px;border-right:0;border-bottom:1px solid #587086}.section{padding:75px 25px;margin:0}.section h2,.story h2,.route h2,.contact h2{font-size:38px}.service-grid,.local-grid,.faq-grid{grid-template-columns:1fr}.service-grid article{border-right:0;border-bottom:1px solid var(--line);padding:23px 0;margin:0}.service-grid h3{margin:17px 0 6px}.story,.route{grid-template-columns:1fr}.story img{min-height:300px}.story-copy{padding:65px 26px}.route{padding:75px 25px;margin:0;gap:35px}.route img{height:260px;object-position:center 55%;box-shadow:12px 12px 0 #edf3f2}.local-area,.faq{padding-top:0}.local-grid,.faq-grid{gap:20px}.contact{padding:75px 20px}footer{padding:22px 20px}.brand img{width:180px}}
@media (max-width:430px){.brand img{width:153px}.nav-contact{padding:8px 11px}.hero h1{font-size:43px}.intro{font-size:17px}.contact-actions a{width:100%;min-width:0}.contact h2{font-size:36px}footer{gap:8px;flex-direction:column}}
@media (max-width:800px){.story{padding:0 0 65px;gap:0}.story img{justify-self:stretch;width:100%;max-width:none;height:260px;min-height:0;border-radius:0;box-shadow:none}.story-copy{padding:65px 26px 0}}
