/*
Theme Name: Sara P. Shoes
Author: Sara P. Shoes
Description: Tema autonomo Sara P. con catalogo WooCommerce, immagini quadrate e dettagli color paglia.
Version: 1.0.6
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: sara-p-shoes
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

    :root { --accent:#F2E8D5; --accent-dark:#E3D5BA; --ink:#121212; --paper:#fbfbfa; --mist:#f0f0ee; --line:#dbdbd8; --muted:#686866; --serif:"Barlow Condensed", "Arial Narrow", sans-serif; --sans:"Inter", Arial, Helvetica, sans-serif; }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.45; }
    button, input { font:inherit; }
    button { color:inherit; }
    a { color:inherit; text-decoration:none; }
    .sr-only { clip:rect(0,0,0,0); clip-path:inset(50%); height:1px; width:1px; overflow:hidden; position:absolute; white-space:nowrap; }
    .promo { min-height:35px; padding:8px 22px; display:flex; justify-content:center; align-items:center; gap:12px; background:var(--ink); color:white; font-size:12px; letter-spacing:.09em; text-align:center; text-transform:uppercase; }
    .promo a { text-decoration:underline; text-underline-offset:3px; }
    .site-header { position:sticky; top:0; z-index:30; background:rgba(251,251,250,.95); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
    .header-row { min-height:78px; max-width:1440px; margin:auto; padding:0 30px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:30px; }
    .desktop-nav, .header-actions { display:flex; align-items:center; gap:25px; }
    .desktop-nav { justify-content:center; font-size:12px; font-weight:700; letter-spacing:.085em; text-transform:uppercase; }
    .desktop-nav a { position:relative; padding:8px 0; }
    .desktop-nav a:after { content:''; position:absolute; right:0; bottom:3px; left:0; height:1px; background:var(--ink); transform:scaleX(0); transform-origin:left; transition:transform .25s; }
    .desktop-nav a:hover:after, .desktop-nav a:focus-visible:after { transform:scaleX(1); }
    .brand { font-family:var(--serif); font-size:35px; letter-spacing:-.08em; line-height:1; white-space:nowrap; }
    .brand small { font-family:var(--sans); font-size:9px; font-weight:700; letter-spacing:.18em; margin-left:3px; vertical-align:middle; }
    .header-actions { justify-content:flex-end; gap:13px; }
    .icon-btn { appearance:none; border:0; background:none; min-height:44px; min-width:32px; padding:6px; display:grid; place-items:center; cursor:pointer; position:relative; }
    .icon-btn svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
    .cart-number { position:absolute; top:3px; right:0; width:16px; height:16px; border-radius:50%; background:var(--ink); color:#fff; display:grid; place-items:center; font-size:9px; font-weight:700; }
    .mobile-only { display:none; }
    .hero { min-height:clamp(570px, 75vh, 790px); position:relative; background:#eee9e5 none center / cover no-repeat; display:flex; align-items:center; }
    .hero:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(251,251,250,.80),rgba(251,251,250,.1) 58%,rgba(0,0,0,.05)); }
    .hero-content { position:relative; z-index:1; width:min(100%, 1440px); padding:78px max(30px, calc((100vw - 1320px)/2)); }
    .eyebrow { margin:0 0 17px; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
    h1, h2, h3, p { margin-top:0; }
    h1 { max-width:590px; margin-bottom:22px; font-family:var(--serif); font-size:clamp(52px,7vw,105px); font-weight:400; letter-spacing:-.072em; line-height:.91; }
    .hero-copy { max-width:385px; margin-bottom:30px; font-size:16px; line-height:1.6; }
    .button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; padding:0 22px; border:1px solid var(--ink); background:var(--ink); color:white; cursor:pointer; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; transition:background .22s,color .22s; }
    .button:hover, .button:focus-visible { background:transparent; color:var(--ink); }
    .button.light { background:transparent; color:var(--ink); }
    .button.light:hover, .button.light:focus-visible { background:var(--ink); color:white; }
    .section { padding:clamp(64px,8vw,116px) 30px; }
    .section-inner { max-width:1320px; margin:auto; }
    .section-top { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:28px; }
    .section-title { margin:0; font-family:var(--serif); font-size:clamp(37px,4.5vw,65px); font-weight:400; letter-spacing:-.065em; line-height:.95; }
    .text-link { display:inline-flex; gap:8px; align-items:center; border-bottom:1px solid var(--ink); padding-bottom:3px; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
    .text-link span { transition:transform .2s; } .text-link:hover span { transform:translateX(3px); }
    .categories { padding-top:0; }
    .category-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
    .category-grid .category { position:relative; min-height:clamp(330px,37vw,505px); overflow:hidden; display:flex; align-items:flex-end; padding:22px; color:#fff; isolation:isolate; }
    .category-grid .category:before { content:''; position:absolute; z-index:-2; inset:0; background-image:none; background-size:200% 200%; transition:transform .55s ease; }
    .category-grid .category:after { content:''; z-index:-1; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 54%); }
    .category-grid .category:hover:before { transform:scale(1.05); }
    .category-grid .category:nth-child(1):before { background-position:0 0; }
    .category-grid .category:nth-child(2):before { background-position:100% 0; }
    .category-grid .category:nth-child(3):before { background-position:0 100%; }
    .category-grid .category:nth-child(4):before { background-position:100% 100%; }
    .category-label { width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
    .category-label strong { font-family:var(--serif); font-size:31px; font-weight:400; letter-spacing:-.055em; text-transform:none; }
    .catalogue { background:var(--mist); }
    .product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
    .product-card { min-width:0; }
    .product-media { position:relative; display:block; aspect-ratio:4/5; overflow:hidden; background-color:#ddd; background-image:none; background-size:300% 200%; }
    .product-card:nth-child(1) .product-media { background-position:0 0; }
    .product-card:nth-child(2) .product-media { background-position:50% 0; }
    .product-card:nth-child(3) .product-media { background-position:100% 0; }
    .product-card:nth-child(4) .product-media { background-position:0 100%; }
    .best-grid .product-card:nth-child(1) .product-media { background-position:50% 100%; }
    .best-grid .product-card:nth-child(2) .product-media { background-position:100% 100%; }
    .best-grid .product-card:nth-child(3) .product-media { background-position:0 0; }
    .best-grid .product-card:nth-child(4) .product-media { background-position:0 100%; }
    .badge { position:absolute; top:12px; left:12px; background:white; padding:6px 8px; font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
    .fav { position:absolute; right:6px; top:5px; border:0; width:40px; height:40px; display:grid; place-items:center; background:rgba(251,251,250,.78); cursor:pointer; }
    .fav svg { width:20px; fill:none; stroke:var(--ink); stroke-width:1.4; }
    .fav.is-active svg { fill:var(--ink); }
    .product-info { padding:13px 2px 0; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:8px; row-gap:4px; }
    .product-name { font-size:14px; font-weight:700; line-height:1.35; }
    .product-brand { grid-column:1/-1; color:var(--muted); font-size:12px; }
    .product-price { font-size:14px; white-space:nowrap; }
    .product-old-price { color:var(--muted); font-size:11px; margin-right:3px; text-decoration:line-through; }
    .product-add { grid-column:1/-1; justify-self:start; margin-top:5px; border:0; background:transparent; padding:4px 0; cursor:pointer; border-bottom:1px solid currentColor; font-size:11px; font-weight:700; letter-spacing:.075em; text-transform:uppercase; }
    .statement { padding:clamp(75px,10vw,160px) 30px; background:var(--ink); color:white; text-align:center; }
    .statement p { max-width:980px; margin:0 auto; font-family:var(--serif); font-size:clamp(42px,6vw,88px); letter-spacing:-.07em; line-height:.95; }
    .statement em { font-style:italic; }
    .benefits { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
    .benefit { padding:28px 22px 30px; border-right:1px solid var(--line); }
    .benefit:last-child { border-right:0; }
    .benefit-icon { display:block; margin-bottom:21px; font-family:var(--serif); font-size:33px; font-weight:400; }
    .benefit h3 { margin-bottom:7px; font-size:13px; letter-spacing:.04em; text-transform:uppercase; }
    .benefit p { margin:0; color:var(--muted); font-size:14px; }
    .newsletter { display:grid; grid-template-columns:1fr 1fr; gap:50px; padding:76px 0 0; }
    .newsletter p { color:var(--muted); font-size:16px; }
    .subscribe { display:flex; align-items:center; border-bottom:1px solid var(--ink); }
    .subscribe input { min-width:0; width:100%; border:0; outline:0; background:transparent; padding:13px 0; color:var(--ink); font-size:16px; }
    .subscribe button { border:0; background:transparent; padding:11px 0 11px 16px; cursor:pointer; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
    footer { margin-top:clamp(62px,8vw,115px); background:var(--ink); color:white; }
    .footer-main { max-width:1320px; margin:auto; padding:60px 30px 35px; display:grid; grid-template-columns:1.7fr repeat(3,1fr); gap:32px; }
    .footer-brand { font-family:var(--serif); font-size:52px; letter-spacing:-.08em; line-height:.9; }
    .footer-brand p { max-width:240px; margin:18px 0 0; color:#bbb; font-family:var(--sans); font-size:13px; letter-spacing:0; line-height:1.55; }
    .footer-title { margin:4px 0 15px; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
    .footer-links { display:grid; gap:8px; color:#c7c7c4; font-size:13px; }
    .footer-links a:hover { color:white; }
    .footer-bottom { max-width:1320px; margin:auto; padding:18px 30px 22px; border-top:1px solid #383837; display:flex; gap:18px; justify-content:space-between; color:#a9a9a6; font-size:11px; }
    .overlay { visibility:hidden; opacity:0; position:fixed; z-index:60; inset:0; background:rgba(0,0,0,.33); transition:opacity .25s,visibility .25s; }
    .overlay.is-open { visibility:visible; opacity:1; }
    .prototype-panel { position:absolute; top:0; right:0; height:100%; width:min(100%,430px); padding:25px; background:var(--paper); transform:translateX(100%); transition:transform .3s ease; display:flex; flex-direction:column; }
    .overlay.is-open .prototype-panel { transform:translateX(0); }
    .panel-head { display:flex; align-items:center; justify-content:space-between; padding-bottom:20px; border-bottom:1px solid var(--line); }
    .panel-title { margin:0; font-family:var(--serif); font-size:31px; font-weight:400; letter-spacing:-.05em; }
    .close-btn { width:44px; height:44px; border:0; background:transparent; cursor:pointer; font-size:27px; font-weight:300; }
    .panel-body { flex:1; overflow:auto; padding:25px 0; }
    .search-field { border-bottom:1px solid var(--ink); display:flex; gap:12px; align-items:center; }
    .search-field svg { width:20px; stroke:currentColor; fill:none; stroke-width:1.5; }
    .search-field input { width:100%; border:0; outline:0; padding:14px 0; background:transparent; font-size:18px; }
    .search-result { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:16px 0; border-bottom:1px solid var(--line); font-size:14px; }
    .cart-empty { margin-top:30%; text-align:center; color:var(--muted); }
    .cart-empty p { max-width:230px; margin:0 auto 20px; }
    .cart-row { display:grid; grid-template-columns:78px 1fr auto; gap:12px; padding:16px 0; border-bottom:1px solid var(--line); }
    .cart-thumb { height:93px; background-image:none; background-size:300% 200%; background-position:0 0; }
    .cart-row:nth-child(2) .cart-thumb { background-position:50% 100%; }
    .cart-name { margin-bottom:5px; font-size:14px; font-weight:700; }
    .cart-meta { color:var(--muted); font-size:12px; }
    .remove { border:0; background:transparent; cursor:pointer; text-decoration:underline; font-size:11px; }
    .panel-foot { padding-top:17px; border-top:1px solid var(--line); }
    .panel-total { display:flex; justify-content:space-between; margin-bottom:15px; font-size:14px; font-weight:700; }
    .prototype-panel .button { width:100%; }
    .toast { opacity:0; pointer-events:none; position:fixed; z-index:100; left:50%; bottom:28px; transform:translate(-50%,18px); background:var(--ink); color:white; padding:12px 18px; box-shadow:0 5px 23px rgba(0,0,0,.2); font-size:13px; transition:opacity .2s,transform .2s; }
    .toast.show { opacity:1; transform:translate(-50%,0); }
    @media (max-width:820px) { .desktop-nav { display:none; } .mobile-only { display:grid; } .header-row { min-height:64px; padding:0 15px; gap:5px; } .brand { font-size:29px; } .header-actions { gap:0; } .header-actions .account { display:none; } .hero { min-height:610px; align-items:flex-end; background-position:68% center; } .hero:after { background:linear-gradient(0deg,rgba(251,251,250,.92) 0%,rgba(251,251,250,.68) 31%,rgba(251,251,250,.04) 70%); } .hero-content { padding:55px 20px; } h1 { max-width:390px; font-size:63px; } .hero-copy { max-width:340px; font-size:15px; } .section { padding:65px 20px; } .category-grid { grid-template-columns:1fr 1fr; gap:8px; } .category-grid .category { min-height:260px; padding:15px; } .category-label strong { font-size:27px; } .product-grid { grid-template-columns:1fr 1fr; gap:26px 10px; } .section-top { align-items:flex-start; margin-bottom:24px; } .text-link { margin-top:8px; white-space:nowrap; font-size:10px; } .statement { padding:85px 20px; } .statement p { font-size:49px; } .benefits { grid-template-columns:1fr 1fr; } .benefit:nth-child(2) { border-right:0; } .benefit:nth-child(-n+2) { border-bottom:1px solid var(--line); } .newsletter { grid-template-columns:1fr; gap:10px; padding-top:48px; } .footer-main { padding:50px 20px 35px; grid-template-columns:1fr 1fr; gap:35px 20px; } .footer-brand { grid-column:1/-1; } .footer-bottom { padding:17px 20px; flex-wrap:wrap; } }
    @media (max-width:380px) { .header-actions .search { display:none; } h1 { font-size:56px; } .category-grid .category { min-height:225px; } .category-label strong { font-size:24px; } }
    .header-logo { display:flex; align-items:center; justify-self:start; }
    .header-logo img { display:block; width:180px; height:auto; }
    @media(max-width:1050px) and (min-width:821px) { .header-row { gap:18px; padding:0 20px; } .desktop-nav { gap:15px; } .header-logo img { width:145px; } }
    @media(max-width:820px) { .header-row { grid-template-columns:minmax(0,1fr) auto auto; gap:5px; } .header-logo img { width:145px; max-width:100%; } }
    @media(max-width:380px) { .header-logo img { width:125px; } }
    .promo { background:var(--accent); }
    .button { background:var(--accent); border-color:var(--accent); color:var(--ink); }
    .button:hover, .button:focus-visible { background:var(--accent-dark); border-color:var(--accent-dark); color:var(--ink); }
    .button.light { background:transparent; color:var(--ink); border-color:var(--ink); }
    .button.light:hover { background:var(--ink); color:white; }
    .hero { min-height:clamp(540px,72vh,740px); background-position:center; }
    .hero:after { background:linear-gradient(90deg,rgba(255,255,255,.88),rgba(255,255,255,.58) 35%,transparent 64%); }
    .hero .eyebrow { color:var(--ink); }
    .hero h1 { font-size:clamp(54px,6.7vw,96px); line-height:1; letter-spacing:-.055em; }
    .hero-copy { max-width:350px; }
    .cart-number, .badge { background:var(--accent); color:var(--ink); }
    .fav.is-active svg { fill:var(--accent); stroke:var(--ink); }
    .desktop-nav a:after { background:var(--accent); }
    .text-link, .product-add { border-color:var(--accent); }
    .catalogue { background:#f5f5f5; }
    .statement { background:var(--accent); }
    .benefit-icon { color:var(--ink); }
    @media(max-width:820px) { .hero { min-height:660px; background-position:64% center; } .hero:after { background:linear-gradient(0deg,rgba(255,255,255,.98),rgba(255,255,255,.85) 32%,rgba(255,255,255,0) 65%); } .hero-content { padding:40px 20px; } .hero h1 { font-size:58px; max-width:370px; } }
    @media(max-width:380px) { .hero h1 { font-size:50px; } }
    body { background:#fff; font-weight:300; }
    .site-header { background:#fff; backdrop-filter:none; border-bottom:1px solid #e8e8e8; }
    .header-row { min-height:88px; max-width:none; padding:0 40px; grid-template-columns:auto 1fr auto; gap:42px; }
    .header-logo img { width:170px; }
    .desktop-nav { justify-content:flex-start; gap:34px; font-size:16px; font-weight:300; letter-spacing:0; text-transform:none; }
    .header-actions { gap:18px; }
    .promo { font-size:12px; font-weight:400; letter-spacing:.035em; }
    h1,.section-title,.statement p,.panel-title,.category-label strong { font-family:var(--serif); font-weight:600; letter-spacing:0; text-transform:uppercase; line-height:1; }
    .hero { background:none; isolation:isolate; min-height:620px; }
    .hero:before { content:''; position:absolute; inset:0; z-index:-2; background:url('assets/hero-blue-v5.jpg') center/cover no-repeat; }
    .hero:after { z-index:-1; }
    .hero h1 { font-size:clamp(64px,7.5vw,108px); font-weight:600; line-height:.98; letter-spacing:0; }
    .hero-copy { font-size:16px; font-weight:300; }
    .button { font-size:14px; font-weight:400; letter-spacing:.02em; }
    .section-title { font-size:clamp(40px,4.5vw,64px); }
    .eyebrow { font-size:13px; letter-spacing:.05em; font-weight:400; }
    .product-name { font-weight:500; }
    .text-link,.product-add { font-size:13px; font-weight:400; letter-spacing:.025em; }
    .category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
    .category-grid .category { min-height:170px; padding:30px; color:var(--ink); background:white; border-right:1px solid var(--line); scroll-margin-top:110px; }
    .category-grid .category:last-child { border-right:0; }
    .category-grid .category:before,.category-grid .category:after { display:none; }
    .category-grid .category:hover { background:#f3f3f3; }
    .category-label { align-items:center; text-transform:none; letter-spacing:0; }
    .category-label strong { font-size:46px; }
    .category-label span { font-size:14px; font-weight:400; }
    .mobile-category-nav { display:grid; align-content:start; gap:16px; }
    .mobile-category-nav a { font-family:var(--serif); font-size:42px; font-weight:600; text-transform:uppercase; }
    .benefit-icon { font-family:var(--sans); font-weight:300; }
    @media(max-width:820px) { .header-row { min-height:72px; padding:0 16px; grid-template-columns:minmax(0,1fr) auto auto; gap:8px; } .header-logo img { width:135px; } .header-actions { gap:2px; } .hero { min-height:650px; } .hero:before { background-position:64% center; } .hero h1 { font-size:64px; max-width:340px; } .category-grid { grid-template-columns:1fr; } .category-grid .category { min-height:105px; border-right:0; border-bottom:1px solid var(--line); padding:22px; } .category-grid .category:last-child { border-bottom:0; } .category-label strong { font-size:40px; } }
    @media(max-width:380px) { .hero h1 { font-size:56px; } }
    .menu-logo,.footer-logo { display:inline-flex; align-items:center; max-width:100%; }
    .menu-logo img { display:block; width:170px; height:auto; max-width:100%; }
    .footer-logo img { display:block; width:210px; height:auto; max-width:100%; filter:brightness(0) invert(1); }
    @media(max-width:820px) {
      .categories .section-top { display:flex; flex-direction:column; align-items:stretch; gap:18px; }
      .categories .section-top > div { width:100%; min-width:0; }
      .categories .section-title { width:100%; max-width:none; font-size:clamp(36px,8.5vw,64px); line-height:1.05; }
      .categories .section-top > .text-link { align-self:flex-start; margin-top:0; font-size:13px; }
    }
    .promo { background:var(--accent); color:var(--ink); }
    .icon-btn svg { width:24px; height:24px; }
    .site-header .icon-btn { min-width:40px; min-height:44px; }
    .catalogue { background:#FAF7F0; }
    .category-grid .category:hover { background:var(--accent); }
    .header-actions .icon-btn:hover,.mobile-only:hover { color:var(--ink); background:var(--accent); }
    @media(max-width:820px) { .header-actions { gap:0; } .site-header .icon-btn { min-width:36px; } }
    @media(max-width:380px) { .header-actions .search { display:grid; } .header-logo img { width:110px; } .header-row { padding:0 12px; gap:4px; } }
    .product-media { aspect-ratio:1; background-size:300% 400%; }
    .product-card:nth-child(1) .product-media { background-position:0 18%; }
    .product-card:nth-child(2) .product-media { background-position:50% 18%; }
    .product-card:nth-child(3) .product-media { background-position:100% 18%; }
    .product-card:nth-child(4) .product-media { background-position:0 82%; }
    .best-grid .product-card:nth-child(1) .product-media { background-position:50% 82%; }
    .best-grid .product-card:nth-child(2) .product-media { background-position:100% 75%; }
    .best-grid .product-card:nth-child(3) .product-media { background-position:0 18%; }
    .best-grid .product-card:nth-child(4) .product-media { background-position:0 82%; }
    .product-open { position:absolute; inset:0; z-index:1; }
    .product-media .fav,.product-media .badge { z-index:2; }
    [hidden] { display:none!important; }
    .detail-page { max-width:1320px; margin:auto; padding:30px; }
    .breadcrumbs { font-size:14px; color:#686866; margin-bottom:28px; }
    .detail-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:64px; align-items:start; }
    .detail-photo { width:100%; aspect-ratio:1; background:none 0 18%/300% 400%; }
    .detail-info h1 { font-family:var(--serif); font-size:clamp(36px,4vw,58px); line-height:1.05; letter-spacing:0; }
    .detail-price { font-size:25px; margin-bottom:24px; }
    .detail-points { padding-left:20px; display:grid; gap:12px; font-size:16px; margin:24px 0; }
    .detail-points li::marker { color:var(--ink); }
    .detail-note { font-size:13px; color:var(--muted); }
    .detail-description { max-width:880px; padding:48px 0; margin-top:40px; border-top:1px solid var(--line); }
    .detail-description h2 { font-family:var(--serif); text-transform:uppercase; font-size:34px; margin-bottom:18px; }
    .detail-description h3 { font-family:var(--sans); font-size:18px; font-weight:500; margin-top:28px; }
    .detail-description p { line-height:1.8; }
    .detail-actions { display:flex; gap:12px; flex-wrap:wrap; }
    @media(max-width:820px) { .detail-page { padding:22px 20px; } .detail-grid { grid-template-columns:1fr; gap:28px; } .detail-info h1 { font-size:40px; } .detail-description { margin-top:28px; padding:32px 0; } }
    /* Larger navigation, supporting copy, services and footer text. */
    .desktop-nav { font-size:1.125rem; }
    .hero-copy { font-size:1.125rem; line-height:1.65; max-width:390px; }
    .benefit h3 { font-size:1rem; line-height:1.35; letter-spacing:.025em; }
    .benefit p { font-size:1rem; line-height:1.6; }
    .footer-brand p { font-size:1rem; line-height:1.65; max-width:290px; }
    .footer-title { font-size:1rem; line-height:1.4; letter-spacing:.07em; }
    .footer-links { font-size:1rem; line-height:1.55; gap:10px; }
    .footer-links a { overflow-wrap:break-word; }
    @media(max-width:820px) { .hero-copy { max-width:350px; } .benefit { padding:25px 16px; } }
