/* Approved mockup (demos-concept/concept.py, VET, phone 390 px), as drawn; --pad and the media queries widen it. */
:root{--sky:#e4edf1;--ink:#12304a;--ink2:#2c4c68;--red:#c4313a;--hi:#f3d34a;--line:#c9d6dc;--mute:#557085;--pad:18px}
body{background:var(--sky);color:var(--ink);font-family:"Bricolage Grotesque",sans-serif}
a{text-decoration:none}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
footer :focus-visible{outline-color:#fff}

/* Concept bar: a strip at the top at every width, as on the other concept sites. */
.concept,[dir] .concept{position:static;translate:none;justify-content:center;block-size:auto;max-inline-size:none;padding:7px 20px;border-radius:0;background:var(--ink);backdrop-filter:none;box-shadow:none;color:#cfe0ea;font:600 11px/1.4 "Bricolage Grotesque",sans-serif;letter-spacing:.12em;text-transform:uppercase;white-space:normal;text-align:center}
.concept:hover,.concept:focus-visible{color:#fff;text-decoration:underline}
.concept:focus-visible{outline-color:#fff;outline-offset:-4px}

.bar{display:flex;justify-content:space-between;align-items:center;padding:16px var(--pad) 8px}
.bar b{font:700 19px/1.1 "Bricolage Grotesque",sans-serif} .bar b small{display:block;font:500 11.5px/1 "Bricolage Grotesque",sans-serif;color:#52697e;margin-top:5px}
.sos{position:relative;background:var(--red);color:#fff;border-radius:40px;padding:10px 14px;font:600 13px/1 "Bricolage Grotesque",sans-serif;white-space:nowrap}
.sos::after{content:"";position:absolute;inset:-6px 0}
.hero{margin:6px var(--pad) 0;height:270px;border-radius:20px;overflow:hidden;position:relative}
.hero .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
h1{font:800 40px/1 "Bricolage Grotesque",sans-serif;letter-spacing:-.035em;margin:20px var(--pad) 0}
.lead{font:400 15.5px/1.5 "Bricolage Grotesque",sans-serif;color:var(--ink2);margin:14px var(--pad) 0}
.week{margin:22px var(--pad) 0;background:#fff;border-radius:18px;padding:16px 14px 12px}
.wk{display:flex;gap:6px;position:relative;height:190px;padding-left:30px}
.ax{position:absolute;left:0;top:0;bottom:22px;width:28px}
.ax span{position:absolute;right:4px;font:500 10.5px/1 "Bricolage Grotesque",sans-serif;color:var(--mute);transform:translateY(-50%)}
.day{flex:1;display:flex;flex-direction:column;align-items:center}
.trk{position:relative;flex:1;width:100%;border-radius:8px;background:#f7fafb}
.on{position:absolute;left:3px;right:3px;border-radius:6px;background:var(--ink)}
.day.today .trk{background:#fdf3c4}
.day small{font:600 12px/1 "Bricolage Grotesque",sans-serif;margin-top:8px;color:var(--mute)}
.day.today small{color:var(--ink);background:var(--hi);border-radius:10px;padding:3px 6px;margin-top:5px}
.now{position:absolute;left:24px;right:-4px;height:0;border-top:2px solid var(--red);z-index:2}
.now span{position:absolute;right:0;top:-22px;background:var(--red);color:#fff;font:600 11px/1 "Bricolage Grotesque",sans-serif;padding:4px 7px;border-radius:8px;white-space:nowrap}
.cap{font:400 13px/1.45 "Bricolage Grotesque",sans-serif;color:var(--mute);margin:12px 2px 0}
.cta{display:flex;gap:10px;margin:16px var(--pad) 0}
.btn{flex:1;text-align:center;padding:15px 8px;border-radius:12px;font:600 14px/1 "Bricolage Grotesque",sans-serif;white-space:nowrap} .btn.main{flex:1.7;background:var(--ink);color:#fff} .btn.alt{background:#fff;color:var(--ink)}
.rate{margin:14px var(--pad) 0;font:400 13.5px/1.4 "Bricolage Grotesque",sans-serif;color:var(--ink2)} .rate b{font-weight:700;color:var(--ink)}
.carnet{margin:56px 0 0;background:#fff;padding:26px var(--pad) 24px calc(var(--pad) + 16px);position:relative} .carnet .sub{padding-right:90px}
.carnet:before{content:"";position:absolute;left:calc(var(--pad) + 4px);top:0;bottom:0;width:1.5px;background:#e59aa0}
h2{font:700 28px/1.05 "Bricolage Grotesque",sans-serif;letter-spacing:-.025em;margin:0 0 4px}
.sub{font:400 13.5px/1.45 "Bricolage Grotesque",sans-serif;color:var(--mute);margin:0 0 10px}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:11px 0;border-top:1px solid #dfe8ec}
.row b{font:600 16px/1.2 "Bricolage Grotesque",sans-serif} .row span{font:400 12.5px/1.3 "Bricolage Grotesque",sans-serif;color:var(--mute);display:block}
.row i{font:500 14px "Bricolage Grotesque",sans-serif;font-style:normal;white-space:nowrap;color:var(--ink2)}
.stamp{position:absolute;right:calc(var(--pad) - 4px);top:-30px;width:98px;height:98px;border:2.5px solid var(--red);border-radius:50%;color:var(--red);transform:rotate(-12deg);display:flex;align-items:center;justify-content:center;text-align:center;font:700 11.5px/1.15 "Bricolage Grotesque",sans-serif;padding:10px;opacity:.9}
.stamp:before{content:"";position:absolute;inset:4px;border:1px solid var(--red);border-radius:50%}
.pic{margin:30px var(--pad) 0;height:230px;border-radius:18px;overflow:hidden;position:relative}
.pic .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pic p{position:absolute;left:0;right:0;bottom:0;margin:0;padding:40px 14px 12px;background:linear-gradient(180deg,transparent,rgba(18,48,74,.85));color:#fff;font:600 15px/1.35 "Bricolage Grotesque",sans-serif}
section{padding:30px var(--pad) 0}
ol{list-style:none;margin:0;padding:0;counter-reset:s}
ol li{display:flex;gap:14px;padding:12px 0;border-top:1px solid var(--line);font:400 14px/1.45 "Bricolage Grotesque",sans-serif;color:var(--ink2)}
ol li:before{counter-increment:s;content:counter(s);font:800 30px/1 "Bricolage Grotesque",sans-serif;color:var(--ink);width:22px;flex:none}
ol li b{display:block;color:var(--ink);font-weight:600;font-size:15.5px}
.addr{font:500 15px/1.5 "Bricolage Grotesque",sans-serif;margin:0}
footer{margin-top:32px;background:var(--ink);color:#fff;padding:22px var(--pad) 26px}
footer b{display:block;font:700 17px "Bricolage Grotesque",sans-serif} footer span{display:block;font:400 13px/1.5 "Bricolage Grotesque",sans-serif;color:#cfe0ea;margin-top:5px}
.cf{margin:16px 0 0;font:400 11px/1.5 "Bricolage Grotesque",sans-serif;color:#8fa7b8}

/* Tablets: the same page, the text held to a readable column. */
@media (min-width:600px){
:root{--pad:max(32px,(100% - 640px)/2)}
.hero{height:340px}
h1{font-size:48px}
.pic{height:300px}
}

/* From 900 px: the title beside the photo, the week across the page, the care list and the first visit in two columns. */
@media (min-width:900px){
:root{--pad:max(40px,(100% - 1100px)/2)}
.bar{padding-block:24px 12px}
.bar b{font-size:22px} .bar b small{font-size:12.5px}
.sos{padding:13px 18px;font-size:14px}
.sos::after{inset:-2px 0}
.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"h1 photo" "lead photo" "cta photo" "rate photo" "week week";grid-template-rows:auto auto auto 1fr auto;column-gap:56px;padding:20px var(--pad) 0}
.intro > *{margin:0}
.hero{grid-area:photo;height:auto;min-height:420px}
h1{grid-area:h1;font-size:clamp(52px,5.2vw,68px);margin-top:28px}
.lead{grid-area:lead;margin-top:20px;font-size:17px;max-width:520px}
.cta{grid-area:cta;margin-top:28px;max-width:520px}
.btn{padding:18px 8px;font-size:15px}
.rate{grid-area:rate;margin-top:16px;font-size:14.5px}
.week{grid-area:week;margin-top:40px;padding:26px 28px 18px}
.wk{height:280px;gap:14px;padding-left:44px}
.ax{width:40px}
.ax span{font-size:12px;right:8px}
.day small{font-size:14px;margin-top:10px}
.day.today small{padding:4px 9px;margin-top:6px}
.now{left:36px}
.now span{font-size:13px;padding:5px 9px;top:-26px}
.cap{font-size:14.5px;margin-top:16px}
.carnet{margin-top:72px;padding-block:48px 40px}
.carnet .sub{padding-right:0;max-width:520px;margin-bottom:18px}
.rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px}
h2{font-size:38px}
.sub{font-size:15px}
.row b{font-size:17px} .row span{font-size:14px} .row i{font-size:15px}
.stamp{width:128px;height:128px;top:-44px;font-size:14px;padding:14px}
.visit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:56px;align-items:start;padding:64px var(--pad) 0}
.visit .pic,.visit section{margin:0;padding:0}
.pic{height:100%;min-height:360px}
.pic p{padding:60px 22px 20px;font-size:17px}
ol li{font-size:15px;padding-block:16px}
ol li b{font-size:17px}
section{padding-top:56px}
.addr{font-size:17px}
footer{margin-top:64px;padding-block:36px 40px}
footer b{font-size:22px}
}
