/* Farmacia San Luis 52 — visual identity */
:root{--paper:#faf9f4;--mint:#e8efdf;--line:#dde3d5;--muted:#5b7067}
body{font-family:"Avenir Next",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.wrap{width:min(1200px,calc(100% - 72px))}
.announcement{padding:10px 18px;letter-spacing:.045em;font-size:11px}
.site-header{background:rgba(250,249,244,.96);backdrop-filter:blur(14px)}
.header-row{height:88px}.brand-mark{width:49px;height:49px}.brand{font-size:17px}
.desktop-nav a{font-size:12px}.header-row>.status{font-size:10px}
.hero{padding-top:60px;padding-bottom:0}.hero-grid{grid-template-columns:1.15fr 1fr;gap:64px}
.eyebrow{font-size:10px;letter-spacing:.18em}
h1{font-size:clamp(52px,5.3vw,78px);letter-spacing:-.065em;line-height:1.04;margin:24px 0}
h1 .soft{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-style:italic;color:#668167;letter-spacing:-.065em}
.hero-copy{font-size:16px;line-height:1.85;max-width:490px}
.hero .actions{margin-top:30px}.button{font-size:12px;min-height:52px;padding:14px 24px;font-weight:750}
.primary:hover{background:#245346}.outline:hover{background:#eaf0df}.lime:hover{background:#e3f59d}
.phone-inline{margin-top:22px}.hero-services{display:flex;flex-wrap:wrap;gap:7px;margin-top:29px}
.hero-services a{font-size:10px;letter-spacing:.02em;text-decoration:none;border:1px solid #dbe3d4;padding:6px 10px;border-radius:50px;color:#546b5e;background:#ffffff55}
.hero-services a:hover{background:#e8eedc;color:#123c35}
.hours-art{min-height:505px;border-radius:140px 34px 34px 34px;padding:34px;background:radial-gradient(ellipse at 30% 80%,#315c48 0%,#153f36 50%,#123c35 100%);box-shadow:0 20px 50px #143c3512}
.hours-art::before{top:-105px;right:-110px;width:380px;height:380px;background:#63856433;border:1px solid #99b4872e}
.hours-art::after{left:90px;bottom:-310px;width:560px;height:560px;border-color:#72966c40;box-shadow:0 0 0 32px #b7d0a608,0 0 0 65px #b7d0a608,0 0 0 98px #b7d0a608}
.art-top{padding-left:45px}.art-top .status{font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:8px 11px}
.art-top .local-time{font-size:10px}.big-hours{font-size:clamp(180px,17.3vw,248px);font-weight:650;letter-spacing:-.08em;position:relative;padding:25px 0 0;z-index:1;text-shadow:0 5px 45px #071e1925}
.big-hours::before{content:"";position:absolute;inset:-20px 0 -15px;border:1px solid #b8d4a929;border-radius:50%;z-index:-1;transform:rotate(-24deg)}
.big-hours small{font-size:.24em;letter-spacing:-.025em;font-weight:500;margin-left:12px}
.art-sun{top:-22px;right:25px;width:43px;height:43px;stroke-width:1.2}.art-moon{bottom:3px;left:9px;width:32px;height:32px;stroke-width:1.2}
.art-bottom{border-color:#74927555;padding-top:19px}.art-bottom strong{font-family:Georgia,"Times New Roman",serif;font-size:31px;font-weight:400;font-style:italic;letter-spacing:-.045em}.art-bottom span{font-size:9px;letter-spacing:.12em}
.art-caption{position:absolute;left:35px;top:132px;color:#bbd2b7;font-size:8px;letter-spacing:.2em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}
.art-star{position:absolute;right:28px;top:105px;color:#aac698;font-size:32px;font-family:Georgia,serif;font-weight:400;line-height:1}
.quick-links{margin-top:47px}.quick-link{padding:24px 28px}.quick-link strong{font-size:12px}.quick-link span{font-size:11px;margin-top:3px}.quick-link .icon{width:25px;height:25px;stroke-width:1.35}
.section{padding:80px 0}.section-head{margin-bottom:34px}.section-title{font-size:clamp(35px,3.8vw,49px);font-weight:650;letter-spacing:-.05em}.section-head p{line-height:1.8;font-size:13px;max-width:340px}.kicker{font-size:9px;letter-spacing:.19em}
.service-grid{gap:16px}.service-card{padding:29px;border-radius:20px;box-shadow:0 8px 20px #153c3503;transition:transform .22s,box-shadow .22s,border-color .22s}
.service-card:hover{transform:translateY(-4px);box-shadow:0 15px 28px #153c3508;border-color:#b6c9a3}
.service-card:nth-child(2){background:#f0f4e9}.service-card:nth-child(3){background:#f6f0e8}
.service-card .card-num{font-size:9px;color:#5c705c;letter-spacing:.13em;top:31px}
.service-icon{margin-bottom:30px;border-radius:50%;width:50px;height:50px}.service-card h3{font-size:20px;font-weight:650}.service-card p{line-height:1.75;font-size:12px}.service-card details{font-size:11px}
.service-card summary{list-style:none;display:flex;gap:10px;justify-content:space-between;align-items:center;line-height:1.5;min-height:25px}
.service-card summary::-webkit-details-marker{display:none}.service-card summary::after{content:"+";font-size:21px;font-weight:400;color:#738d57}.service-card details[open] summary::after{content:"−"}
.service-footnote{font-size:11px;margin-top:22px}
.feature-grid{gap:22px}.feature{min-height:615px;padding:38px 38px 0;border-radius:28px}.feature h2{font-size:43px;line-height:1.03;letter-spacing:-.06em;font-weight:650;margin:17px 0;max-width:none}.feature p{max-width:340px;font-size:13px;line-height:1.8;margin:0 0 4px}.feature-symbol{display:none}.feature .tags{margin-top:17px}.tag{font-size:10px;padding:5px 10px}
.feature .feature-link{font-size:12px;margin-top:23px;text-decoration:none;display:flex;align-items:center;gap:8px}.feature .feature-link:hover{text-decoration:underline}.feature-note{font-size:9px;color:#506244;margin-top:8px}
.feature-art{display:block;width:calc(100% + 44px);max-height:255px;aspect-ratio:5/3;object-fit:contain;align-self:center;margin-top:auto;margin-bottom:0;position:relative}
.dermo .feature-art{max-height:265px}.art-credit{position:absolute;bottom:15px;right:20px;font-size:8px;letter-spacing:.04em;color:#526b54}.dermo .art-credit{color:#76634e}
.always{margin-top:24px;border-radius:28px;background:linear-gradient(115deg,#123c35,#244c3d)}.always-inner{padding:49px;grid-template-columns:1fr 1fr;gap:70px}.always h2{font-weight:650;font-size:46px}.always p{font-size:13px;line-height:1.8}.week li{padding-block:10px}.week .today{background:#4d725343}.holiday{font-size:10px}
.visit-layout{grid-template-columns:1.15fr 1fr}.address-panel{min-height:395px;background:var(--green);color:white;border:0;padding:42px;border-radius:28px}.address-panel::after{content:"52";position:absolute;right:-6px;bottom:-45px;color:#62836829;font-size:270px;font-weight:750;letter-spacing:-.1em;line-height:1;pointer-events:none}
.address-panel .kicker{color:#c5dc99}.address-panel h3{font-size:46px;font-weight:650}.address-panel address{color:#c5d4c0;line-height:1.8;font-size:13px}.address-panel .button{background:var(--lime);color:#123c35}.address-panel .button:hover{background:#e5f6a1}.address-panel .icon-bg{color:#77956b44;right:40px;top:30px;width:140px;height:170px;transform:rotate(-10deg)}
.visit-help{padding:37px;border-radius:28px}.visit-help h3{font-size:29px;font-weight:650;line-height:1.14}.visit-help p{font-size:13px;line-height:1.8}.large-phone{font-size:34px;font-weight:650;margin-top:25px}.contact-sub{font-size:10px}.steps{margin-top:26px;padding-bottom:32px}.step-num{background:#e6edda}.step p{font-size:11px;line-height:1.75}.step h3{font-size:12px}
.faq-layout{grid-template-columns:.9fr 1.1fr;gap:75px}.faq-list details{padding:21px 0}.faq-list summary{font-size:14px;font-weight:650}.faq-list p{line-height:1.8;font-size:12px}.faq-intro p{font-size:13px;line-height:1.8}
.closing{position:relative;isolation:isolate;overflow:hidden;padding:43px 47px;border-radius:28px;margin-bottom:75px}.closing::before{content:"✳";font-family:Georgia,serif;font-size:240px;line-height:1;color:#123c350b;position:absolute;right:34%;bottom:-97px;z-index:-1}.closing h2{font-size:38px;font-weight:650}.closing p{font-size:12px}.footer-info{font-size:11px}.footer-nav{font-size:11px}
@media(min-width:761px) and (max-width:1100px){.wrap{width:calc(100% - 56px)}.hero-grid{gap:34px}h1{font-size:60px}.hours-art{min-height:470px;padding:27px}.art-top{padding-left:25px}.big-hours{font-size:196px}.art-caption{left:21px}.service-card{padding:23px}.service-card .card-num{right:22px}.feature{padding:30px 30px 0;min-height:620px}.feature h2{font-size:39px}.always-inner{gap:40px;padding:37px}.header-row{gap:17px}.header-row>.status{display:none}.desktop-nav{gap:18px}}
@media(max-width:760px){
 .wrap{width:calc(100% - 36px)}.announcement{padding:8px 10px;font-size:9px}.site-header{backdrop-filter:blur(12px)}.header-row{height:72px}.brand{font-size:14px}.brand-mark{width:41px;height:41px}.header-call{padding:10px 14px;font-size:11px}.hero{padding-top:33px}.hero-grid{gap:28px;grid-template-columns:1fr}h1{font-size:clamp(45px,11.4vw,70px);margin:20px 0;line-height:1.04}.hero-copy{font-size:14px;line-height:1.85}.eyebrow{font-size:9px;letter-spacing:.13em}.hero .actions{margin-top:24px}.button{font-size:12px;min-height:49px;padding:13px 18px}.phone-inline{margin-top:18px;font-size:10px}.hero-services{margin-top:21px;gap:6px}.hero-services a{font-size:9px;padding:5px 9px}.hours-art{min-height:350px;border-radius:90px 25px 25px 25px;padding:24px}.art-top{padding-left:27px}.art-top .status{font-size:8px;padding:7px 10px}.art-top .local-time{font-size:9px}.big-hours{font-size:clamp(177px,48vw,235px);padding:16px 0 0;margin:8px 10px}.big-hours::before{inset:-12px 0 -7px}.art-sun{width:32px;height:32px;right:16px;top:-12px}.art-moon{width:24px;height:24px;left:0;bottom:5px}.art-caption{font-size:7px;left:20px;top:105px}.art-star{right:20px;top:85px;font-size:26px}.art-bottom{padding-top:14px}.art-bottom strong{font-size:27px}.art-bottom span{font-size:8px}.quick-links{margin-top:27px}.quick-link{padding:15px 0}.quick-link strong{font-size:12px}.quick-link span{font-size:10px}.quick-link .icon{width:22px;height:22px}
 .section{padding:48px 0}.section-head{gap:17px;margin-bottom:26px}.section-title{font-size:35px}.section-head p{font-size:12px}.service-grid{gap:12px}.service-card{padding:24px 22px}.service-card h3{font-size:19px}.service-card p{font-size:12px;margin-bottom:15px}.service-icon{width:45px;height:45px;margin-bottom:23px}.service-card .card-num{top:28px;right:22px;font-size:8px}.service-card summary{font-size:11px}.service-footnote{font-size:10px;line-height:1.8;flex-wrap:wrap;column-gap:5px;row-gap:0}.service-footnote .icon{align-self:center}.service-card:hover{transform:none}
 .feature{min-height:595px;padding:30px 28px 0;border-radius:25px}.feature h2{font-size:39px}.feature p{font-size:12px;line-height:1.8;max-width:330px}.feature .kicker{font-size:8px}.feature-art{max-height:242px;width:calc(100% + 34px)}.dermo .feature-art{max-height:250px}.tag{font-size:9px}.feature .feature-link{font-size:12px}.feature-note{font-size:9px}.art-credit{font-size:7px;bottom:12px;right:17px}.always{margin-top:18px;border-radius:25px}.always-inner{grid-template-columns:1fr;padding:31px 28px;gap:28px}.always h2{font-size:37px}.always p{font-size:12px}.week li{font-size:12px}.week strong{font-size:11px}.holiday{font-size:9px}
 .visit-layout{grid-template-columns:1fr}.address-panel{padding:32px 28px;min-height:365px;border-radius:25px}.address-panel h3{font-size:41px}.address-panel address{font-size:12px}.address-panel .kicker{font-size:8px}.address-panel::after{font-size:220px;bottom:-34px;right:-5px}.address-panel .icon-bg{right:26px;width:110px}.address-panel .button{font-size:11px;padding:13px 18px}.visit-help{padding:30px 27px}.visit-help h3{font-size:28px}.visit-help p{font-size:12px}.large-phone{font-size:32px}.visit-help .button{font-size:11px;padding:12px 16px}.steps{gap:24px;padding:24px 0 29px}.step h3{font-size:12px}.step p{font-size:11px}.faq-layout{grid-template-columns:1fr;gap:27px}.faq-intro p{font-size:12px}.faq-list summary{font-size:13px;line-height:1.6}.faq-list p{font-size:12px}.faq-list details{padding:19px 0}.closing{padding:31px 28px;margin-bottom:48px}.closing h2{font-size:33px}.closing p{font-size:11px}.closing .button{font-size:11px;padding-inline:14px}.closing::before{right:-22px;bottom:-60px;font-size:200px}.footer-main .brand{font-size:15px}.footer-info{font-size:10px}.footer-nav{font-size:11px}.footer-bottom{font-size:9px}.mobile-contact{background:#fafbf6;gap:6px;box-shadow:0 -5px 20px #173d350b}.mobile-contact a{font-size:10px;min-height:48px}
}
@media(max-width:480px){.service-grid{grid-template-columns:1fr}.service-icon{margin-bottom:19px}.service-card{padding:24px}.service-card h3{font-size:20px}.service-card p{max-width:300px}.service-card .card-num{top:29px;right:25px}.service-card details p{font-size:12px}.feature{min-height:590px}}
@media(max-width:360px){.wrap{width:calc(100% - 30px)}.header-row{gap:6px}.brand{font-size:11.5px;gap:7px}.brand small{font-size:6.5px;letter-spacing:.09em}.brand-mark{width:34px;height:34px}.header-call{padding:8px 10px;font-size:10px;gap:6px}.header-call .icon{width:13px;height:13px}.hero .button{font-size:11px;padding-inline:13px}h1{font-size:43px}.feature h2{font-size:36px}.feature{padding-inline:25px;min-height:610px}.big-hours{font-size:165px}.hours-art{min-height:330px}.art-top{padding-left:20px;gap:5px}.art-top .status{font-size:7px}.art-top .local-time{font-size:8px}.large-phone{font-size:29px}.closing h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){.service-card{transition:none}.service-card:hover{transform:none}}
