/* Sally | Homepage v1 · CSS indipendente, condivisibile da /en/ e /es/ */
:root{
  --ink:#29313b;--muted:#707780;--brand:#9d1966;--brand-dark:#78134f;
  --cream:#fff9f4;--paper:#fff;--line:#ebe8e7;--radius:22px;
  --max:1240px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:3px solid #268ca8;outline-offset:5px;border-radius:4px}
h1,h2,h3,p{margin-top:0}
.container{width:min(var(--max),calc(100% - 72px));margin-inline:auto}
.skip-link{position:absolute;top:-100px;left:16px;padding:12px 18px;background:#fff;z-index:99}
.skip-link:focus{top:12px}
.site-header{position:relative;background:#fff;z-index:5;border-bottom:1px solid #f0ecea}
.header__inner{min-height:91px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.brand{display:inline-flex;align-items:baseline;gap:22px;white-space:nowrap}
.brand__logo{display:block;width:162px;max-width:100%;height:auto;object-fit:contain}
.footer__logo{display:block;width:143px;height:auto;max-width:100%;filter:brightness(0) invert(1)}
.brand__descriptor{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#9a9395}
.main-nav{display:flex;align-items:center;gap:37px;font-size:14px;font-weight:750}
.main-nav a{padding-block:15px;transition:color .2s}
.main-nav a:hover{color:var(--brand)}
.hero{overflow:hidden;background:linear-gradient(115deg,#fffaf7 0%,#fff8f7 56%,#fef0f4 100%)}
.hero__grid{display:grid;grid-template-columns:1.08fr .92fr;min-height:630px;align-items:center;gap:28px}
.hero__content{padding:80px 0 75px;position:relative;z-index:2}
.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800;color:var(--brand)}
.eyebrow{display:flex;align-items:center;gap:11px}
.eyebrow__mark{width:27px;height:2px;background:var(--brand)}
.hero h1{font-size:clamp(50px,5.5vw,78px);font-weight:840;letter-spacing:-.065em;line-height:1.08;margin:22px 0 25px}
.hero h1 span{color:var(--brand)}
.hero__intro{color:#66666e;line-height:1.8;font-size:16px;max-width:485px;margin-bottom:31px}
.hero__actions{display:flex;flex-wrap:wrap;gap:12px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:19px;min-height:51px;padding:14px 23px;border-radius:9px;font-weight:800;font-size:13px;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-2px)}
.button--primary{background:var(--brand);color:#fff}
.button--primary:hover{background:var(--brand-dark)}
.button--outline{border:1px solid #d9c9cf;background:#fff9;color:var(--brand)}
.hero__signature{display:flex;align-items:center;gap:11px;color:#8f8183;font-weight:700;font-size:12px;margin-top:47px}
.signature__icon{font-size:28px;color:#92b76c}
.hero__visual{position:relative;height:100%;min-height:580px;isolation:isolate}
.hero__halo{position:absolute;width:610px;height:610px;max-width:118%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff 0%,#f8dfe5 57%,#f5d6dc 75%,transparent 76%);left:50%;top:50%;transform:translate(-50%,-50%);z-index:-2}
.hero__orb{position:absolute;border-radius:50%;z-index:-1}
.hero__orb--one{width:45px;height:45px;background:#eec1d1;top:14%;left:11%}
.hero__orb--two{width:18px;height:18px;background:#b4d8cb;right:6%;bottom:18%}
.hero__pack{position:absolute;object-fit:contain;filter:drop-shadow(0 21px 19px #5a43442b);mix-blend-mode:multiply}
.hero__pack--dog{height:75%;max-width:72%;width:72%;left:0%;bottom:7%}
.hero__pack--cat{height:58%;max-width:57%;width:57%;right:-2%;bottom:3%}
.hero__floating-note{position:absolute;right:0;top:18%;padding:17px 19px;background:#fff;border-radius:14px;box-shadow:0 9px 33px #4a24301b;transform:rotate(5deg);font-size:12px;font-weight:800;color:var(--brand);line-height:1.4}
.hero__floating-note span{display:block;font-size:19px}
.hero__bottom{height:11px;background:linear-gradient(90deg,#a61f69 0 25%,#f39b39 25% 49%,#8aac56 49% 74%,#21a2ac 74% 100%)}
.values{padding:96px 0 94px}
.values__intro{text-align:center;margin:0 auto 48px}
.values__intro h2{font-size:clamp(29px,3vw,43px);letter-spacing:-.05em;line-height:1.21;margin:13px 0 0}
.values__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}
.value{text-align:center;padding:12px 24px}
.value__icon{display:grid;place-items:center;width:69px;height:69px;margin:0 auto 23px;border-radius:22px;font-size:39px;font-weight:600}
.value__icon--pink{background:#fbe5ed;color:#a42d6e}
.value__icon--green{background:#f0f4e4;color:#719344}
.value__icon--blue{background:#e5f4f5;color:#2499a3}
.value h3{font-size:17px;letter-spacing:-.03em;margin-bottom:10px}
.value p{font-size:14px;color:#777880;line-height:1.7;max-width:290px;margin-inline:auto}
.catalog{padding:103px 0 112px}
.catalog--dog{background:#fbf8f6}
.catalog--cat{background:#fff}
.catalog__heading{display:flex;justify-content:space-between;gap:15px;align-items:end;margin-bottom:40px}
.catalog__heading h2{font-size:clamp(40px,4.3vw,57px);letter-spacing:-.06em;line-height:1.1;margin:10px 0 9px}
.catalog__heading h2 span{color:var(--brand)}
.catalog__heading p:not(.section-label){margin:0;color:var(--muted);font-size:15px}
.catalog__accent{font-size:13px;font-weight:900;letter-spacing:.12em;color:#c6c0c1;padding-bottom:11px}
.product-grid{display:grid;gap:19px}
.product-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.product-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.product-card{min-width:0;border-radius:19px;overflow:hidden;background:#fff;box-shadow:0 11px 29px #473f3c0c;transition:transform .25s,box-shadow .25s}
.product-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #473f3c17}
.product-card__visual{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1.14;background:var(--card-background,#faf6f4);padding:20px}
.product-card__visual img{max-height:95%;max-width:100%;height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .35s}
.product-card:hover img{transform:scale(1.035)}
.product-card__eyebrow{position:absolute;top:18px;left:18px;z-index:1;font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:900;color:var(--accent,#975);border:1px solid currentColor;background:#fffffff0;border-radius:99px;padding:8px 11px}
.product-card__info{padding:23px 22px 26px}
.product-card__info p{font-size:11px;color:#95949a;letter-spacing:.09em;text-transform:uppercase;font-weight:750;margin-bottom:7px}
.product-card h3{font-size:20px;letter-spacing:-.04em;margin-bottom:19px;line-height:1.2}
.product-card h3 span{display:block;color:var(--accent,var(--brand));font-size:18px;margin-top:3px}
.formats{display:flex;gap:7px;flex-wrap:wrap}
.formats span{font-size:11px;color:#5f6168;font-weight:750;background:#f3f2f1;border-radius:6px;padding:7px 10px}
.product-card--orange{--accent:#d87616;--card-background:#fdf2e5}
.product-card--green{--accent:#6b9b38;--card-background:#f2f6e9}
.product-card--blue{--accent:#4e8cb3;--card-background:#eef4f8}
.product-card--lime{--accent:#799540;--card-background:#f0f4e8}
.product-card--berry{--accent:#ab2870;--card-background:#fdf0f6}
.product-card--aqua{--accent:#099aa7;--card-background:#eaf8f8}
.product-card--purple{--accent:#9e477f;--card-background:#f8eff6}
.statement{background:#a02168;color:white;overflow:hidden}
.statement__inner{display:flex;align-items:center;justify-content:center;gap:40px;min-height:192px;text-align:center;position:relative}
.statement p{font-size:clamp(19px,2.4vw,29px);letter-spacing:-.035em;line-height:1.4;margin:0;font-weight:400}
.statement strong{font-weight:850}
.statement__paw,.statement__smile{font-size:65px;color:#ffffff4c}
.closing{padding:110px 0;background:radial-gradient(circle at 50% 100%,#f9d8e4,#fff8fa 63%,#fff 100%)}
.closing__inner{text-align:center}
.closing__decor{color:var(--brand);font-size:56px;display:block;margin-bottom:14px}
.closing h2{font-size:clamp(31px,4.2vw,55px);letter-spacing:-.055em;line-height:1.22;margin:20px 0 29px}
.closing h2 em{color:var(--brand);font-style:normal}
.closing__link{font-size:13px;font-weight:800;color:var(--brand);border-bottom:1px solid currentColor;padding-bottom:4px}
.closing__link span{margin-left:5px}
.site-footer{background:#2f3039;color:#fff;padding:53px 0}
.footer__inner{display:flex;justify-content:space-between;align-items:center;gap:40px}

.site-footer p{margin:10px 0 0;color:#c6c5cc;font-size:12px;line-height:1.5}
.footer__details{text-align:right}
.footer__details p{margin:3px 0}
.footer__details small{display:block;margin-top:15px;color:#9999a2;font-size:11px}
@media(max-width:1050px){
  .product-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero__grid{grid-template-columns:1fr 1fr;min-height:580px}
  .hero h1{font-size:clamp(43px,5.3vw,65px)}
  .hero__floating-note{right:-9px}
  .brand__descriptor{display:none}
}
@media(max-width:750px){
  .container{width:min(100% - 38px,var(--max))}
  .header__inner{min-height:84px;flex-wrap:wrap;justify-content:center;gap:0;padding:13px 0}
  .brand__logo{width:138px}
  .main-nav{width:100%;justify-content:center;gap:26px;font-size:12px}
  .main-nav a{padding:10px 0 0}
  .hero__grid{display:flex;flex-direction:column;gap:0}
  .hero__content{padding:64px 0 12px;text-align:center}
  .eyebrow{justify-content:center}
  .hero h1{font-size:clamp(44px,9vw,65px);margin:20px 0}
  .hero__intro{margin-inline:auto}
  .hero__actions{justify-content:center}
  .hero__signature{justify-content:center;margin-top:27px}
  .hero__visual{width:100%;height:430px;min-height:430px}
  /* Su smartphone il cerchio decorativo supera l'area visual: la banda resta sempre in primo piano. */
  .hero__bottom{position:relative;z-index:2}
  .hero__halo{width:530px;height:530px}
  .hero__pack--dog{height:82%;bottom:0;left:10%}
  .hero__pack--cat{height:66%;bottom:-1%;right:7%}
  .hero__floating-note{top:11%;right:7%}
  .values{padding:68px 0 59px}
  .values__grid{grid-template-columns:1fr;gap:16px}
  .value{padding:5px 20px}
  .value__icon{margin-bottom:13px}
  .catalog{padding:68px 0 75px}
  .catalog__heading{margin-bottom:27px}
  .catalog__accent{display:none}
  .product-grid--four,.product-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .statement__inner{gap:10px;min-height:140px}
  .statement__paw,.statement__smile{font-size:26px}
  .closing{padding:78px 0}
  .footer__inner{flex-direction:column;align-items:flex-start;gap:28px}
  .footer__details{text-align:left}
}
@media(max-width:480px){
  .main-nav{gap:19px}
  .hero h1{font-size:43px}
  .hero__intro{font-size:14px}
  .hero__actions{gap:10px}
  .button{width:100%;font-size:13px}
  .hero__visual{height:340px;min-height:340px}
  .hero__halo{width:430px;height:430px}
  .hero__pack--dog{left:2%;height:78%;max-width:76%;width:76%}
  .hero__pack--cat{right:-4%;height:60%;width:58%}
  .hero__floating-note{font-size:9px;right:2%;top:12%;padding:10px}
  .catalog__heading h2{font-size:39px}
  .product-grid--four,.product-grid--three{gap:10px}
  .product-card{border-radius:12px}
  .product-card__visual{padding:8px}
  .product-card__eyebrow{top:9px;left:9px;font-size:8px;padding:5px 8px}
  .product-card__info{padding:15px 12px 18px}
  .product-card__info p{font-size:9px}
  .product-card h3{font-size:17px}
  .product-card h3 span{font-size:15px}
  .formats span{padding:6px 8px;font-size:10px}
  .statement__paw,.statement__smile{display:none}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
