/* Alessandro Pet Spa — own design system.
   Tokens: porcelain ivory ground, deep pine, apricot accent.
   Type: Newsreader italic display + Archivo grotesque. */
@font-face{font-family:"Archivo";src:url("../fonts/archivo-var.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo";src:url("../fonts/archivo-italic-var.woff2") format("woff2");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"Newsreader";src:url("../fonts/newsreader-italic-var.woff2") format("woff2");font-weight:200 800;font-style:italic;font-display:swap}

:root{
  --ivory:#F7F2E7; --ivory2:#EFE7D6; --ink:#1D2420; --mute:#5C655E;
  --pine:#17352B; --pine2:#0E241C; --apricot:#DE7040; --apricot2:#C85A2C;
  --gold:#D9A441; --line:rgba(29,36,32,.16); --lineL:rgba(247,242,231,.2);
  --m:clamp(20px,5vw,84px); --hdr:72px;
  --serif:"Newsreader",Georgia,serif; --sans:"Archivo",Helvetica,Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{font-family:var(--sans);background:var(--ivory);color:var(--ink);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--apricot);color:#fff}
img{display:block;max-width:100%}
a{color:inherit}
.margins{padding-left:var(--m);padding-right:var(--m);max-width:1680px;margin:0 auto}
em{font-family:var(--serif);font-weight:400;letter-spacing:-.01em}
.kick{font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--apricot2);margin-bottom:22px}
.kick--light{color:var(--gold)}
.h2{font-family:var(--sans);font-weight:800;font-size:clamp(38px,5.2vw,84px);line-height:.98;letter-spacing:-.03em;margin-bottom:20px}
.h2 em{font-weight:500}
.h2--light{color:var(--ivory)}
.lede{max-width:56ch;color:var(--mute);font-size:clamp(15px,1.3vw,18px)}
.rv{opacity:0;transform:translateY(34px)}
.no-anim .rv{opacity:1;transform:none}

/* header */
.hdr{position:fixed;inset:0 0 auto 0;height:var(--hdr);z-index:60;display:flex;align-items:center;justify-content:space-between;padding:0 var(--m);transition:background .4s,color .4s;color:var(--ivory)}
.hdr.is-solid{background:rgba(247,242,231,.92);backdrop-filter:blur(12px);color:var(--ink);border-bottom:1px solid var(--line)}
.hdr__logo{font-weight:900;font-size:20px;letter-spacing:-.03em;text-decoration:none}
.hdr__logo em{font-family:var(--serif);font-weight:500;color:var(--apricot);margin-left:6px;font-size:17px}
.hdr__nav{display:flex;gap:30px}
.hdr__nav a{text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.85}
.hdr__nav a:hover{opacity:1;color:var(--apricot)}
.hdr__r{display:flex;align-items:center;gap:20px}
.hdr__tel{font-weight:700;font-size:14px;text-decoration:none}
.hdr__book{background:var(--apricot);color:#fff!important;padding:11px 20px;border-radius:99px;font-weight:800;font-size:13px;letter-spacing:.04em;text-decoration:none;transition:background .3s}
.hdr__book:hover{background:var(--apricot2)}

/* 1 hero */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;color:var(--ivory);overflow:hidden;background:var(--pine2)}
.hero__media{position:absolute;inset:0}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 30%;animation:kb 18s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.13) translateY(-1.5%)}}
.hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,36,28,.42) 0%,rgba(14,36,28,0) 34%,rgba(14,36,28,.18) 62%,rgba(14,36,28,.88) 100%)}
.hero__in{position:relative;width:100%;padding-bottom:110px}
.hero__kick{font-size:11px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:#F3C98B;margin-bottom:14px}
.hero__name{font-family:var(--serif);font-style:italic;font-weight:560;font-size:clamp(64px,12.5vw,208px);line-height:.86;letter-spacing:-.02em}
.hero__name span{display:block}
.hero__sub{font-family:var(--sans);font-style:normal;font-weight:900;font-size:clamp(20px,3.4vw,52px);letter-spacing:.42em;margin-top:16px;color:var(--ivory)}
.hero__tag{margin-top:26px;max-width:52ch;font-size:clamp(16px,1.6vw,21px);line-height:1.45;color:rgba(247,242,231,.92)}
.hero__tag em{color:#F3C98B}
.hero__meta{margin-top:30px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.hero__meta .dot{width:5px;height:5px;border-radius:50%;background:var(--apricot)}
.hero__scroll{position:absolute;right:var(--m);bottom:34px;color:var(--ivory);text-decoration:none;font-size:11px;letter-spacing:.24em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.85}
.hero__scroll span{font-size:18px;animation:bob 2.2s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

/* 2 reveal */
.reveal-sec{padding:clamp(90px,12vw,170px) 0}
.ba{position:relative;margin-top:44px;border-radius:22px;overflow:hidden;aspect-ratio:16/8.2;background:var(--pine2);--pos:0%;touch-action:none;cursor:ew-resize;box-shadow:0 30px 80px rgba(23,53,43,.22)}
.ba img{user-select:none;-webkit-user-drag:none;pointer-events:none}
.ba__before{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}
.ba__afterWrap{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba__after{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 34%}
.ba__handle{position:absolute;top:0;bottom:0;left:clamp(30px,var(--pos),calc(100% - 30px));width:2px;background:#fff;transform:translateX(-1px);box-shadow:0 0 24px rgba(0,0,0,.35);pointer-events:none}
.ba__grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:var(--apricot);color:#fff;display:grid;place-items:center;font-size:21px;box-shadow:0 10px 28px rgba(0,0,0,.3);border:3px solid #fff}
.ba__tag{position:absolute;top:18px;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;background:rgba(14,36,28,.62);color:#fff;padding:8px 14px;border-radius:99px;backdrop-filter:blur(6px)}
.ba__tag--b{right:18px}.ba__tag--a{left:18px}
.ba__hint{position:absolute;left:104px;top:50%;transform:translateY(-50%);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;background:rgba(14,36,28,.62);color:#fff;padding:9px 15px;border-radius:99px;backdrop-filter:blur(6px);pointer-events:none;transition:opacity .4s}
.ba.is-touched .ba__hint{opacity:0}
.ba:focus-visible{outline:3px solid var(--apricot);outline-offset:4px}
.ba__note{margin-top:16px;font-size:13px;color:var(--mute)}

/* 3 worlds */
.worlds{padding:0 0 clamp(90px,12vw,170px)}
.worlds__split{display:flex;gap:18px;margin-top:44px}
.world{position:relative;flex:1 1 0;min-height:560px;border-radius:22px;overflow:hidden;color:var(--ivory);cursor:pointer;transition:flex 0.9s cubic-bezier(.7,0,.2,1)}
.world.is-open{flex:1.65 1 0}
.world img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.world:hover img{transform:scale(1.05)}
.world::after{content:"";position:absolute;inset:0;background:linear-gradient(185deg,rgba(14,36,28,0) 30%,rgba(14,36,28,.9) 88%)}
.world--cats::after{background:linear-gradient(185deg,rgba(24,32,54,0) 30%,rgba(16,22,44,.92) 88%)}
.world__body{position:absolute;inset:auto 0 0 0;padding:34px;z-index:2}
.world h3{font-family:var(--serif);font-style:italic;font-weight:560;font-size:clamp(30px,3vw,46px);margin-bottom:10px}
.world__lead{max-width:44ch;color:rgba(247,242,231,.88);font-size:15px}
.world ul{list-style:none;margin-top:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .8s ease,opacity .6s ease,margin .6s ease}
.world.is-open ul{max-height:220px;opacity:1;margin-top:18px}
.world li{padding:9px 0;border-top:1px solid var(--lineL);font-size:14px;font-weight:600;display:flex;gap:10px}
.world li::before{content:"✦";color:var(--gold)}
.worlds__foot{margin-top:30px;font-family:var(--serif);font-style:italic;font-size:clamp(19px,2vw,26px);color:var(--pine)}

/* 4 menu */
.menu{padding:0 0 clamp(90px,12vw,170px)}
.menu__list{margin-top:46px;border-top:1px solid var(--line)}
.mrow{border-bottom:1px solid var(--line)}
.mrow__head{width:100%;display:grid;grid-template-columns:74px 1fr auto 38px;align-items:center;gap:14px;background:none;border:0;padding:24px 4px;cursor:pointer;text-align:left;font-family:inherit;color:inherit}
.mrow__no{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.4vw,34px);color:var(--apricot2)}
.mrow__name{font-weight:800;font-size:clamp(20px,2.5vw,34px);letter-spacing:-.02em;transition:color .3s,transform .3s}
.mrow__head:hover .mrow__name{color:var(--apricot2);transform:translateX(6px)}
.mrow__for{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.mrow__plus{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:18px;transition:transform .45s,background .3s,color .3s}
.mrow.is-open .mrow__plus{transform:rotate(45deg);background:var(--pine);color:var(--ivory)}
.mrow__body{max-height:0;overflow:hidden;transition:max-height .55s cubic-bezier(.7,0,.2,1)}
.mrow__body p{padding:0 4px 26px 88px;max-width:70ch;color:var(--mute);font-size:15.5px}

/* 5 day */
.day{background:var(--pine);color:var(--ivory);padding:clamp(90px,12vw,170px) 0;border-radius:34px 34px 0 0}
.day .lede{color:rgba(247,242,231,.75)}
.day__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,110px);margin-top:56px}
.timeline{position:relative;padding-left:38px}
.timeline__line{position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:rgba(247,242,231,.18);border-radius:2px;overflow:hidden}
.timeline__fill{display:block;width:100%;height:100%;background:var(--gold);transform:scaleY(0);transform-origin:top}
.tstop{position:relative;padding:20px 0 26px}
.tstop::before{content:"";position:absolute;left:-37px;top:30px;width:13px;height:13px;border-radius:50%;background:var(--pine);border:3px solid var(--gold)}
.tstop b{font-family:var(--serif);font-style:italic;font-weight:560;font-size:clamp(24px,2.4vw,34px);display:block;margin-bottom:4px}
.tstop span{color:rgba(247,242,231,.78);font-size:15px;max-width:46ch;display:block}
.rates{display:flex;flex-direction:column;gap:16px}
.rate{position:relative;border:1px solid var(--lineL);border-radius:18px;padding:28px 30px;background:rgba(247,242,231,.04)}
.rate--feat{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}
.rate__k{font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.rate--feat .rate__k{color:var(--apricot2)}
.rate__p{font-family:var(--serif);font-style:italic;font-weight:560;font-size:clamp(52px,5vw,76px);line-height:1;display:block;margin:8px 0 6px}
.rate__d{color:inherit;opacity:.75;font-size:14.5px}
.rate__flag{position:absolute;top:20px;right:22px;font-style:normal;background:var(--apricot);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:99px}
.rates__inc{font-size:14px;color:rgba(247,242,231,.85);padding:6px 4px}
.rates__inc b{color:var(--gold);font-weight:700}

/* 6 trust */
.trust{background:var(--pine);color:var(--ivory);padding:0 0 clamp(90px,12vw,170px)}
.trust__in{border-top:1px solid var(--lineL);padding-top:clamp(70px,9vw,130px)}
.trust__big{font-family:var(--serif);font-style:italic;font-weight:560;font-size:clamp(110px,17vw,280px);line-height:.9;color:var(--ivory);display:flex;align-items:flex-start;gap:10px}
.trust__star{color:var(--gold);font-size:.42em;margin-top:.32em;font-style:normal}
.trust .lede{color:rgba(247,242,231,.75)}
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:48px}
.quotes blockquote{border:1px solid var(--lineL);border-radius:18px;padding:30px;font-family:var(--serif);font-style:italic;font-size:clamp(17px,1.6vw,21px);line-height:1.5;background:rgba(247,242,231,.04)}
.quotes blockquote span{display:block;margin-top:16px;font-family:var(--sans);font-style:normal;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}

/* 7 book */
.book{padding:clamp(90px,12vw,170px) 0}
.book__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,110px)}
.info{margin-top:36px}
.info>div{display:grid;grid-template-columns:86px 1fr;gap:14px;padding:16px 0;border-top:1px solid var(--line)}
.info dt{font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--apricot2);padding-top:4px}
.info dd{font-size:15.5px;font-weight:600}
.info dd small{color:var(--mute);font-weight:500}
.info a{color:var(--pine);text-decoration-color:var(--apricot);text-underline-offset:3px}
.mapwrap{margin-top:30px}
.map{display:block;width:100%;height:400px;border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 60px rgba(23,53,43,.09);background:var(--ivory)}
.map__dir{display:inline-block;margin-top:14px;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--pine);text-decoration-color:var(--apricot);text-underline-offset:4px}
.book__formwrap{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(26px,3vw,44px);box-shadow:0 24px 60px rgba(23,53,43,.09)}
.f{display:block;margin-bottom:18px}
.f>span,.f legend{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);display:block;margin-bottom:8px}
.f input,.f select,.f textarea{width:100%;font-family:inherit;font-size:16px;color:var(--ink);background:var(--ivory);border:1px solid var(--line);border-radius:12px;padding:13px 15px;outline:none;transition:border-color .3s,box-shadow .3s}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--apricot);box-shadow:0 0 0 3px rgba(222,112,64,.18)}
fieldset.f{border:0}
.chips{display:flex;gap:10px}
.chips legend{margin-bottom:8px}
.chips label input{position:absolute;opacity:0}
.chips label span{display:inline-block;padding:11px 22px;border:1px solid var(--line);border-radius:99px;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:none;color:var(--ink);cursor:pointer;transition:all .25s;margin:0}
.chips label input:checked+span{background:var(--pine);color:var(--ivory);border-color:var(--pine)}
.bform__err{color:#B3261E;font-size:14px;font-weight:600;margin-bottom:14px}
.bform__send{width:100%;background:var(--apricot);color:#fff;border:0;border-radius:14px;padding:17px;font-family:inherit;font-size:16px;font-weight:800;cursor:pointer;transition:background .3s}
.bform__send:hover{background:var(--apricot2)}
.bform__send i{font-style:normal}
.bform__send--ghost{background:var(--pine)}
.bform__note{margin-top:12px;font-size:12.5px;color:var(--mute);text-align:center}
.bdone{text-align:center;padding:20px 0}
.bdone__paw{font-size:44px}
.bdone h3{font-family:var(--serif);font-style:italic;font-weight:560;font-size:36px;margin:10px 0 8px}
.bdone p{color:var(--mute)}
.bdone__sum{margin:22px auto 26px;max-width:340px;text-align:left}
.bdone__sum>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px solid var(--line);font-size:14px}
.bdone__sum dt{color:var(--mute);font-weight:600}
.bdone__sum dd{font-weight:800}

/* footer */
.foot{background:var(--pine2);color:var(--ivory);padding:70px 0 46px;border-radius:34px 34px 0 0}
.foot__name{font-weight:900;font-size:clamp(52px,10.5vw,168px);letter-spacing:-.045em;line-height:.95}
.foot__name em{color:var(--apricot);font-family:var(--sans)}
.foot__cols{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:26px;margin-top:36px;padding-top:26px;border-top:1px solid var(--lineL);font-size:13.5px;color:rgba(247,242,231,.72);line-height:1.7}

@media(max-width:900px){
  .hdr__nav,.hdr__tel{display:none}
  .hdr__logo{font-size:18px}
  .hdr__logo em{display:none}
  .hdr__book{padding:10px 16px;font-size:12.5px;white-space:nowrap}
  .hdr__r{gap:0}
  .hero__in{padding-bottom:96px}
  .worlds__split{flex-direction:column}
  .world{min-height:420px;flex:none}
  .world ul{max-height:none;opacity:1;margin-top:18px}
  .day__grid,.book__grid,.quotes{grid-template-columns:1fr}
  .foot__cols{grid-template-columns:1fr}
  .mrow__head{grid-template-columns:48px 1fr 38px}
  .mrow__for{display:none}
  .mrow__body p{padding-left:62px}
  .ba{aspect-ratio:4/3.4}
  .ba__hint{left:96px;font-size:10px;padding:8px 12px}
  .map{height:300px}
}
@media(prefers-reduced-motion:reduce){
  .hero__media img,.hero__scroll span{animation:none}
  .rv{opacity:1;transform:none}
}
