:root{--o:#f5a21b;--d:#e78b07;--ink:#18221e;--muted:#64716b;--cream:#fbf8f0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}img{width:100%;display:block}header{height:105px;width:min(1180px,calc(100% - 48px));position:absolute;z-index:5;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand>b{width:48px;height:48px;background:var(--o);color:white;border-radius:50%;display:grid;place-items:center}.brand strong,.brand small{display:block}.brand strong{font:800 20px Manrope}.brand small{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}nav{display:flex;align-items:center;gap:32px;font-weight:600;font-size:14px}header button{display:none}.pill{min-height:54px;padding:0 26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;transition:.2s}.pill:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0002}.dark{background:var(--ink);color:white}.orange{background:var(--d);color:white}.light{background:white}.hero{min-height:790px;display:grid;grid-template-columns:51% 49%;max-width:1440px;margin:auto;overflow:hidden}.copy{padding:208px max(48px,calc((100vw - 1180px)/2)) 70px}.kicker{color:var(--d);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:2px}h1,h2,h3{font-family:Manrope}h1{font-size:clamp(52px,5vw,76px);line-height:.99;letter-spacing:-4px;margin:26px 0}h1 em{color:var(--d);font-style:normal}.copy>p{font-size:18px;line-height:1.75;color:var(--muted)}.actions{display:flex;align-items:center;gap:28px;margin-top:36px}.trust{margin-top:52px;font-size:25px}.trust small{display:inline-block;color:var(--muted);font-size:11px;margin-left:12px}.trust small strong{color:var(--ink)}.visual{position:relative;background:var(--o);border-radius:0 0 0 80px}.arch{position:absolute;inset:110px 9% 0 7%;overflow:hidden;border-radius:180px 180px 18px 18px}.arch img{height:100%;object-fit:cover;object-position:center 42%}.visual aside{position:absolute;left:-40px;bottom:125px;background:white;padding:17px;border-radius:10px;box-shadow:0 15px 35px #0003;display:flex;gap:12px;font-size:25px}.visual aside span,.visual aside strong,.visual aside small{display:block}.visual aside strong{font-size:13px}.visual aside small{font-size:10px;color:var(--muted)}.section{padding:120px max(48px,calc((100vw - 1180px)/2))}.heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:50px}.heading h2,.about h2,.areas h2,.contact h2{font-size:clamp(37px,4vw,52px);line-height:1.08;letter-spacing:-2px;margin:13px 0}.heading>p{width:400px;color:var(--muted);line-height:1.7}.cards{display:grid;grid-template-columns:repeat(4,1fr);background:white;box-shadow:0 18px 60px #21272212}.cards article{min-height:330px;padding:38px 28px;border:1px solid #e5e4de}.cards .active{background:var(--ink);color:white;transform:translateY(-13px)}.cards i{width:54px;height:54px;background:#fff3df;color:var(--d);border-radius:12px;display:grid;place-items:center;font-size:28px;font-style:normal}.cards h3{margin-top:42px}.cards p,.about p{color:var(--muted);font-size:14px;line-height:1.75}.cards .active p{color:#b9c1bd}.about{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px;background:white}.photo{height:590px;background:var(--o);padding:35px 0 0 35px}.photo img{height:100%;object-fit:cover;object-position:center 30%;border-radius:5px 80px 5px 5px}.about ul{list-style:none;padding:0;line-height:2.5;color:var(--muted)}.areas{display:grid;grid-template-columns:1fr 1.2fr;gap:100px;background:var(--ink);color:white}.areas p{color:#aeb8b3;line-height:1.8}.locations{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#ffffff22}.locations div{padding:30px;min-height:165px;background:var(--ink)}.locations small{color:var(--o)}.contact{text-align:center;background:var(--o)}.contact .kicker{color:var(--ink)}.contact .actions{justify-content:center}footer{min-height:140px;padding:40px max(48px,calc((100vw - 1180px)/2));background:white;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.mobile{display:none}@media(max-width:900px){header{height:82px}header button{display:block;border:0;background:none;font-size:25px;z-index:7}nav{display:none;position:fixed;inset:0;background:var(--cream);padding:120px 30px;flex-direction:column;font-size:22px}nav.open{display:flex}.hero{grid-template-columns:1fr}.copy{padding:140px 25px 65px}.visual{height:620px;border-radius:0}.arch{inset:50px 7% 0}.visual aside{left:15px;bottom:45px}.section{padding:85px 25px}.heading{align-items:start;flex-direction:column}.heading>p{width:auto}.cards{grid-template-columns:1fr 1fr}.about,.areas{grid-template-columns:1fr;gap:70px}.photo{height:520px}footer{flex-direction:column;gap:20px}}@media(max-width:560px){.brand small{display:none}h1{font-size:49px;letter-spacing:-2.7px}.copy .actions{flex-direction:column;align-items:stretch;text-align:center}.visual{height:480px}.arch{border-radius:110px 110px 10px 10px}.cards{grid-template-columns:1fr}.cards .active{transform:none}.photo{height:390px}.locations{grid-template-columns:1fr}.contact .actions{flex-direction:column}.mobile{position:fixed;display:flex;z-index:10;left:15px;right:15px;bottom:12px;height:55px;padding:0 22px;background:var(--ink);color:white;border-radius:9px;align-items:center;justify-content:space-between;font-weight:700}footer{padding-bottom:100px}}
/* Refinements based on client feedback */
.hero{min-height:700px;grid-template-columns:56% 44%}.copy{padding-top:164px;padding-bottom:52px;padding-right:6vw}.copy h1{font-size:clamp(48px,4.35vw,66px);max-width:690px}.copy>p{max-width:620px;line-height:1.62}.trust{margin-top:34px}.arch{inset:92px 7% 0 4%}
.cards article,.cards article.active{background:#fff;color:var(--ink);transform:none;box-shadow:none}.cards p,.cards .active p{color:var(--muted)}.cards i.line-icon{background:#fff3df}.cards i.line-icon svg{width:30px;height:30px;fill:none;stroke:var(--d);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.areas{position:relative;overflow:hidden;grid-template-columns:1fr 1fr;align-items:center}.area-copy{max-width:530px}.area-note{margin-top:34px;display:flex;align-items:center;gap:15px}.area-note>span{width:48px;height:48px;border:1px solid #ffffff33;border-radius:50%;display:grid;place-items:center;color:var(--o);font-size:22px}.area-note strong,.area-note small{display:block}.area-note small{color:#93a099;margin-top:4px}.area-graphic{position:relative;min-height:350px;display:grid;place-items:center}.area-graphic:before{content:'';position:absolute;width:270px;height:270px;border:1px solid #ffffff22;border-radius:50%}.map-ring{position:absolute;border:1px solid #ffffff18;border-radius:50%}.map-ring.one{width:390px;height:390px}.map-ring.two{width:520px;height:520px}.map-dot{position:absolute;width:18px;height:18px;background:var(--o);border:5px solid #f5a21b55;border-radius:50%;box-shadow:0 0 0 14px #f5a21b18}.area-graphic>div{z-index:1;margin-top:145px;text-align:center}.area-graphic small,.area-graphic strong,.area-graphic div span{display:block}.area-graphic small{color:#8f9b95;text-transform:uppercase;letter-spacing:2px}.area-graphic strong{font:800 37px Manrope;margin:5px}.area-graphic div span{color:var(--o)}
.follow{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:30px}.follow>span{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px}.follow a{display:flex;align-items:center;gap:8px;padding:10px 15px;border:1px solid #18221e55;border-radius:99px;font-size:13px}.follow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.follow a:nth-of-type(2) svg{fill:currentColor;stroke:none}footer{background:var(--o);color:var(--ink);border-top:1px solid #18221e22}
@media(max-width:900px){.hero{grid-template-columns:1fr}.copy{padding-top:130px;padding-right:25px}.hero .visual{height:580px}.areas{grid-template-columns:1fr}.area-graphic{min-height:320px}.map-ring.two{width:440px;height:440px}}
@media(max-width:560px){.copy h1{font-size:45px}.follow{flex-wrap:wrap}.follow>span{width:100%}.follow a{background:#ffffff33}.area-graphic{min-height:280px}.map-ring.one{width:300px;height:300px}.map-ring.two{width:390px;height:390px}.hero .visual{height:440px}}

/* Trust, reviews and contact refinements */
.trust{display:flex;align-items:center;gap:13px;font-size:inherit}.trust-check{width:42px;height:42px;border-radius:50%;background:#fff0d5;color:var(--d);display:grid;place-items:center;font-size:20px;font-weight:800}.trust small{margin:0}.reviews{display:grid;grid-template-columns:.8fr 1.4fr;gap:80px;background:#f4efe5}.reviews-intro>p{color:var(--muted);line-height:1.75;max-width:430px}.reviews h2{font-size:clamp(37px,4vw,52px);line-height:1.08;letter-spacing:-2px;margin:13px 0 22px}.rating{display:flex;align-items:center;gap:17px;margin:32px 0 17px}.rating>strong{font:800 58px/1 Manrope;color:var(--ink)}.rating div{display:grid;gap:5px}.stars{color:var(--d);letter-spacing:2px;font-size:16px}.rating small{color:var(--muted)}.google-link{display:inline-block;font-size:13px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:4px}.review-side{align-self:center}.review-label{display:block;margin-bottom:17px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1.4px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);background:white;box-shadow:0 18px 60px #21272212}.review-grid article{min-height:275px;padding:29px 25px;border-right:1px solid #e5e4de}.review-grid article:last-child{border:0}.review-grid h3{font-size:18px;margin:28px 0 12px}.review-grid p{font-size:13px;line-height:1.7;color:var(--muted)}.review-grid small{display:block;margin-top:24px;color:#8a948f;font-size:10px}.phone-number{display:inline-flex;flex-direction:column;align-items:center;margin-top:30px;padding:18px 32px;border:2px solid var(--ink);border-radius:12px;transition:.2s}.phone-number:hover{background:var(--ink);color:white;transform:translateY(-2px)}.phone-number small{font-size:10px;text-transform:uppercase;letter-spacing:1.6px;font-weight:700}.phone-number strong{font:800 clamp(32px,4vw,48px)/1.15 Manrope;margin-top:5px;letter-spacing:-1px}footer{min-height:82px;padding-top:20px;padding-bottom:20px}
@media(max-width:900px){.reviews{grid-template-columns:1fr;gap:50px}.review-grid{grid-template-columns:1fr}.review-grid article{min-height:0;border-right:0;border-bottom:1px solid #e5e4de}}
@media(max-width:560px){footer{min-height:0;padding-top:22px;padding-bottom:90px}.phone-number{width:100%;padding-left:10px;padding-right:10px}.phone-number strong{font-size:35px}}

.review-grid article{display:flex;flex-direction:column;min-height:390px}.review-grid blockquote{margin:25px 0 0;font-size:14px;line-height:1.75;color:var(--ink);font-style:normal}.review-grid article>small{margin-top:auto;padding-top:24px;text-transform:uppercase;letter-spacing:1.2px;font-weight:700}.review-label{max-width:620px;line-height:1.5}@media(max-width:900px){.review-grid article{min-height:0}.review-grid article>small{margin-top:18px}}

/* Stronger contact-number treatment */
.phone-number{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 10px 24px #18221e22}
.phone-number:hover{background:#fff3df;color:var(--ink);border-color:var(--d);box-shadow:0 0 0 5px #f5a21b35,0 16px 32px #18221e2b;transform:translateY(-4px) scale(1.015)}

/* Real Coimbra service map */
.area-map{position:relative;min-height:420px;border-radius:18px;overflow:hidden;border:1px solid #ffffff28;box-shadow:0 22px 45px #0004;background:#24312b}.area-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.65) contrast(1.05)}.area-map:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px #ffffff12}.map-card{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:12px;background:#18221eef;color:#fff;box-shadow:0 12px 28px #0005;backdrop-filter:blur(8px)}.map-pin{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:var(--o);color:var(--ink);font-size:21px}.map-card small,.map-card strong{display:block}.map-card small{color:#aeb8b3;font-size:10px;text-transform:uppercase;letter-spacing:1.4px}.map-card strong{margin-top:4px;font:700 17px Manrope}@media(max-width:900px){.area-map{min-height:390px}}@media(max-width:560px){.area-map{min-height:350px;border-radius:12px}.map-card{left:12px;right:12px;bottom:12px}}

/* Hero booking details, static Coimbra photography and hours */
.hero-actions{gap:34px;flex-wrap:wrap}.hero-booking{display:flex;flex-direction:column;border-left:3px solid var(--o);padding-left:14px}.hero-booking span{font-size:10px;text-transform:uppercase;letter-spacing:1.7px;color:var(--muted);font-weight:700}.hero-booking strong{font:800 20px/1.3 Manrope;margin-top:2px}.services-link{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}.services-link>span{color:var(--d);font-size:20px;line-height:1;transition:transform .2s}.services-link:hover>span{transform:translateX(4px)}.area-photo iframe{display:none}.area-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.78) contrast(1.04)}.area-photo:before{content:'';position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,transparent 45%,#18221e66 100%);pointer-events:none}.photo-credit{position:absolute;z-index:2;right:12px;top:10px;padding:5px 8px;border-radius:5px;background:#18221e99;color:#d8dedb;font-size:8px;letter-spacing:.4px}.hours{display:block;margin:24px auto -12px;color:#4b5651;font-size:12px;font-weight:600;letter-spacing:.3px}.contact .phone-number{margin-top:28px}@media(max-width:560px){.hero-actions{align-items:flex-start!important;text-align:left!important}.services-link{margin-top:4px}.hours{line-height:1.5}}

/* General service-area panel */
.coverage-panel{position:relative;min-height:420px;padding:38px;border:1px solid #ffffff24;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#202d27 0%,#121b17 100%);box-shadow:0 22px 45px #0003}.coverage-panel:before{content:'COIMBRA';position:absolute;right:-23px;top:20px;color:#ffffff08;font:800 92px/1 Manrope;letter-spacing:-6px;writing-mode:vertical-rl}.coverage-panel:after{content:'';position:absolute;right:-70px;bottom:-90px;width:260px;height:260px;border-radius:50%;background:var(--o);opacity:.08}.coverage-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:42px}.coverage-label{color:var(--o);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.coverage-icon{width:44px;height:44px;border:1px solid #ffffff28;border-radius:50%;display:grid;place-items:center;color:var(--o);font-size:21px}.coverage-city{font:800 clamp(48px,6vw,78px)/.9 Manrope;letter-spacing:-4px}.coverage-and{margin-top:10px;color:var(--o);font:700 24px Manrope}.coverage-details{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:42px;background:#ffffff22;border:1px solid #ffffff22}.coverage-details>div{padding:17px 18px;background:#18221e}.coverage-details small,.coverage-details strong{display:block}.coverage-details small{color:#87938d;font-size:9px;text-transform:uppercase;letter-spacing:1px}.coverage-details strong{margin-top:5px;font-size:14px}.coverage-panel>p{z-index:1;margin:18px 0 0;color:#9aa59f;font-size:12px;line-height:1.6}@media(max-width:900px){.coverage-panel{min-height:390px}}@media(max-width:560px){.coverage-panel{min-height:360px;padding:27px}.coverage-details{grid-template-columns:1fr}.coverage-city{font-size:53px}.coverage-panel:before{font-size:70px}}

/* Simplified single-column service area */
.areas{display:block}.areas .area-copy{max-width:760px;margin:0 auto;text-align:center}.areas .area-copy>p{max-width:620px;margin-left:auto;margin-right:auto}.area-note{justify-content:center}.availability-note{margin:28px auto 0!important;padding:18px 22px;max-width:610px;border:1px solid #ffffff20;border-radius:10px;background:#ffffff08;color:#aeb8b3!important;font-size:13px;line-height:1.65}.availability-note strong{color:#fff}

.availability-highlight{position:relative;display:inline-block!important;margin:24px auto 0!important;padding-top:14px;color:#fff!important;font-weight:700;line-height:1.55}.availability-highlight:before{content:'';position:absolute;top:0;left:50%;width:44px;height:3px;border-radius:3px;background:var(--o);transform:translateX(-50%)}

footer{background:var(--ink);color:#aeb8b3;border-top:1px solid #ffffff14}
footer span:first-child{color:#fff}

/* Official Oh My Dog brand mark */
.brand>b.brand-logo{background:transparent;overflow:hidden;padding:0}.brand-logo img{width:100%;height:100%;object-fit:contain}.footer-brand{display:inline-flex;align-items:center;gap:10px}.footer-brand img{width:38px;height:38px;object-fit:contain}.footer-brand strong{color:#fff;font:700 14px Manrope}

.brand>b.brand-logo{width:58px;height:58px}.footer-brand img{width:44px;height:44px}@media(max-width:560px){.brand>b.brand-logo{width:52px;height:52px}}

/* Fixed, clearly interactive navigation */
header{position:fixed;top:12px;height:76px;padding:0 18px;background:#fbf8f0f2;border:1px solid #18221e14;border-radius:15px;box-shadow:0 10px 32px #18221e14;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
nav{gap:7px}
nav>a:not(.pill){padding:11px 15px;border-radius:8px;transition:background .2s,color .2s,transform .2s}
nav>a:not(.pill):hover{background:#f5a21b24;color:var(--d);transform:translateY(-1px)}
nav>a:not(.pill):focus-visible{outline:2px solid var(--o);outline-offset:2px}
nav .pill{min-height:44px;padding:0 20px;margin-left:5px}
@media(max-width:900px){header{top:8px;height:68px;padding:0 12px}nav{top:-8px;left:-18px;right:-18px;bottom:auto;height:100vh;padding-top:120px;border-radius:0}nav>a:not(.pill){width:min(300px,100%);text-align:center}}

/* Full-width top navigation */
header{top:0;left:0;width:100%;max-width:none;height:82px;transform:none;border-radius:0;border-left:0;border-right:0;border-top:0;padding-left:max(24px,calc((100vw - 1180px)/2));padding-right:max(24px,calc((100vw - 1180px)/2));box-shadow:0 5px 24px #18221e12}
@media(max-width:900px){header{top:0;left:0;width:100%;height:74px;padding-left:18px;padding-right:18px}nav{top:0;left:0;right:0}}

/* Stronger mobile-service highlight */
.visual aside{padding:20px 24px 20px 18px;border:2px solid var(--o);border-radius:13px;box-shadow:0 18px 42px #18221e4a,0 0 0 5px #f5a21b24;gap:15px}.visual aside>span:first-child{color:var(--d)}.visual aside strong{font-size:16px;line-height:1.25}.visual aside small{font-size:12px;margin-top:6px;color:#53605a;font-weight:600}.visual aside:before{content:'';position:absolute;top:-2px;left:22px;width:46px;height:4px;border-radius:0 0 4px 4px;background:var(--o)}@media(max-width:560px){.visual aside{padding:17px 20px 17px 15px}.visual aside strong{font-size:15px}}

.services-link>span,.services-link:hover>span{color:var(--ink)}

.visual aside small{font-size:14px}
@media(max-width:560px){.visual aside small{font-size:13px}}

.heading{display:block}.heading>p{width:auto;max-width:680px;margin:20px 0 0;font-size:16px;line-height:1.7}.heading h2{max-width:760px}

/* Final consistency pass */
section{scroll-margin-top:82px}
.review-label{color:#59645f;font-weight:700}
@media(max-width:900px){section{scroll-margin-top:74px}}

/* Stable responsive layout and exact original image treatment */
@media(min-width:1051px){.hero{width:100%;max-width:1440px;grid-template-columns:minmax(0,56fr) minmax(440px,44fr)}.copy{min-width:0;padding-left:clamp(48px,6vw,110px);padding-right:clamp(36px,4.5vw,72px)}.copy h1{font-size:clamp(48px,4.35vw,66px);max-width:660px}.visual{min-width:440px}.about{grid-template-columns:minmax(440px,1fr) minmax(0,1fr)}}
.arch img{object-position:center 42%;transform:none}.photo img{object-position:center 30%;transform:none}
@media(max-width:1050px){.hero{grid-template-columns:1fr}.copy{padding:140px 25px 65px}.visual{height:580px;min-height:0;border-radius:0}.arch{inset:50px 7% 0}.visual aside{left:15px;bottom:45px}.about{grid-template-columns:1fr;gap:70px}.photo{height:520px}}
@media(max-width:560px){.visual{height:440px}.photo{height:390px}}
