*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --navy:#00457C;--navy-dk:#002f57;--navy-lt:#1a6faa;
  --sky:#e8f4fd;--sky2:#dbeafe;--white:#fff;--off:#f7f9fc;
  --gray:#5b6472;--gray-lt:#e5e7eb;--text:#1f2937;
  --red:#D62828;--green:#2E9E3F;--blue:#1E5FD0;--yellow:#F2C230;--yellow-dk:#e0ae12;
  --radius:14px;
}
html{scroll-behavior:smooth}
body{background:var(--white);color:var(--text);font-family:'Lato',system-ui,sans-serif;font-size:16px;line-height:1.7;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Quicksand',system-ui,sans-serif;font-weight:700;color:var(--navy);line-height:1.25}
a{color:var(--navy);text-decoration:none}a:hover{color:var(--navy-lt)}
img{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}
.wrap{max-width:1140px;margin:0 auto;padding:0 1.5rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:.6rem 1rem;z-index:300}.skip:focus{left:0}

/* top bar + header */
.top-bar{background:var(--navy);color:rgba(255,255,255,.9);font:600 .85rem 'Quicksand',sans-serif;text-align:center;padding:.5rem 1rem;letter-spacing:.02em}
.top-bar a{color:#fff;text-decoration:underline}
header.site{background:#fff;border-bottom:3px solid var(--yellow);position:sticky;top:0;z-index:100;box-shadow:0 2px 12px rgba(0,69,124,.08)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1.5rem;max-width:1140px;margin:0 auto}
.logo{display:flex;align-items:center;gap:.7rem;color:var(--navy)}
.logo svg{width:44px;height:44px;flex:none}
.logo b{font:700 1.35rem 'Quicksand',sans-serif;letter-spacing:.01em;line-height:1}
.logo small{display:block;font:600 .66rem 'Quicksand',sans-serif;letter-spacing:.12em;color:var(--gray);text-transform:uppercase;margin-top:.2rem}
nav.main ul{display:flex;list-style:none;gap:.2rem;align-items:center}
nav.main a{font:600 .92rem 'Quicksand',sans-serif;color:var(--navy);padding:.5rem .9rem;border-radius:8px;display:inline-block;transition:background .2s}
nav.main a:hover,nav.main a[aria-current="page"]{background:var(--sky)}
.cart-link{display:inline-flex!important;align-items:center;gap:.45rem;background:var(--navy);color:#fff!important}
.cart-link:hover{background:var(--navy-lt)!important}
.cart-count{background:var(--yellow);color:var(--navy);border-radius:99px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;padding:0 .35rem}
.cart-count:empty,.cart-count[data-n="0"]{display:none}
.menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:.5rem;flex-direction:column;gap:5px}
.menu-toggle span{display:block;width:26px;height:3px;background:var(--navy);border-radius:2px}

/* buttons */
.btn{font:700 .95rem 'Quicksand',sans-serif;padding:.85rem 1.8rem;border-radius:10px;letter-spacing:.02em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:2px solid transparent;transition:transform .2s,background .2s,box-shadow .2s;text-decoration:none;min-height:46px}
.btn:hover{transform:translateY(-2px)}
.btn-yellow{background:var(--yellow);color:var(--navy)!important;box-shadow:0 4px 0 var(--yellow-dk)}
.btn-yellow:hover{background:#f7cd47}
.btn-navy{background:var(--navy);color:#fff!important}.btn-navy:hover{background:var(--navy-lt)}
.btn-ghost{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.65)}.btn-ghost:hover{background:rgba(255,255,255,.14)}
.btn-line{background:#fff;color:var(--navy)!important;border-color:var(--navy)}.btn-line:hover{background:var(--sky)}
.btn[disabled]{opacity:.6;cursor:not-allowed;transform:none}

/* hero */
.hero{background:linear-gradient(135deg,var(--navy-dk) 0%,var(--navy) 60%,var(--navy-lt) 100%);color:#fff;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='20' fill='%23fff' fill-opacity='.035'/%3E%3C/svg%3E");pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center;padding:4.5rem 1.5rem;max-width:1140px;margin:0 auto;position:relative}
.hero h1{color:#fff;font-size:clamp(2.2rem,4.6vw,3.4rem);margin-bottom:1rem}
.hero h1 span{color:var(--yellow)}
.hero p.lead{font-size:clamp(1.05rem,2vw,1.25rem);color:rgba(255,255,255,.88);max-width:34rem;margin-bottom:2rem}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap}
.hero-photo{position:relative}
.hero-photo img{border-radius:20px;border:5px solid #fff;box-shadow:0 20px 50px rgba(0,0,0,.35);aspect-ratio:4/3.2;object-fit:cover;width:100%;height:auto;transform:rotate(1.6deg)}
.sticker{position:absolute;left:-14px;bottom:-16px;background:var(--yellow);color:var(--navy);font:700 .95rem 'Quicksand',sans-serif;padding:.7rem 1.1rem;border-radius:99px;box-shadow:0 6px 18px rgba(0,0,0,.28);transform:rotate(-4deg)}
.cans-bar{display:flex;height:10px}.cans-bar i{flex:1}.cans-bar .r{background:var(--red)}.cans-bar .g{background:var(--green)}.cans-bar .b{background:var(--blue)}.cans-bar .y{background:var(--yellow)}

/* sections */
section.block{padding:5rem 0}
section.alt{background:var(--off);border-top:1px solid var(--gray-lt);border-bottom:1px solid var(--gray-lt)}
section.sky{background:var(--sky);border-top:1px solid rgba(0,69,124,.12);border-bottom:1px solid rgba(0,69,124,.12)}
.section-header{text-align:center;margin-bottom:3rem}
.section-label{font:700 .78rem 'Quicksand',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-lt);display:block;margin-bottom:.5rem}
.section-header h2{font-size:clamp(1.7rem,3.6vw,2.5rem);margin-bottom:.7rem}
.section-header p{color:var(--gray);max-width:36rem;margin:0 auto}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem;align-items:center}
.card{background:#fff;border:1px solid var(--gray-lt);border-radius:var(--radius);padding:2rem 1.6rem;transition:box-shadow .3s,transform .3s}
.card:hover{box-shadow:0 8px 30px rgba(0,69,124,.12);transform:translateY(-3px)}
.card h3{font-size:1.1rem;margin:.9rem 0 .4rem}.card p{color:var(--gray);font-size:.95rem}
.ico{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.7rem}
.ico.r{background:#fde8e8}.ico.g{background:#e3f5e6}.ico.b{background:#e0ebfc}.ico.y{background:#fdf3cf}
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;counter-reset:s}
.steps li{background:#fff;border-radius:var(--radius);padding:2rem 1.6rem;border:1px solid var(--gray-lt);position:relative;counter-increment:s}
.steps li::before{content:counter(s);position:absolute;top:-18px;left:1.4rem;width:38px;height:38px;border-radius:50%;background:var(--yellow);color:var(--navy);font:700 1.1rem 'Quicksand',sans-serif;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 0 var(--yellow-dk)}
.steps h3{margin:.4rem 0 .4rem;font-size:1.15rem}.steps p{color:var(--gray)}
.can-list{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.can-list li{display:flex;gap:.9rem;align-items:flex-start;background:#fff;border:1px solid var(--gray-lt);border-radius:12px;padding:1rem 1.1rem}
.can-list i{width:16px;height:26px;border-radius:4px;flex:none;margin-top:.25rem}
.can-list b{font:700 1rem 'Quicksand',sans-serif;color:var(--navy);display:block}.can-list span{font-size:.9rem;color:var(--gray)}
.frame{border-radius:20px;overflow:hidden;border:5px solid #fff;box-shadow:0 12px 36px rgba(0,69,124,.18)}
.frame img{width:100%;height:100%;object-fit:cover}
.price{font:700 2.1rem 'Quicksand',sans-serif;color:var(--navy)}
.ticks{list-style:none;margin:1rem 0 1.6rem}.ticks li{padding-left:1.7rem;position:relative;margin-bottom:.45rem}
.ticks li::before{content:'✓';position:absolute;left:0;color:var(--green);font-weight:700}
.banner{text-align:center;padding:4rem 1.5rem}.banner h2{font-size:clamp(1.4rem,3vw,2rem);max-width:42rem;margin:0 auto 1rem}.banner p{color:var(--gray);max-width:36rem;margin:0 auto 1.6rem}

/* page head */
.page-head{background:linear-gradient(135deg,var(--navy-dk),var(--navy));color:#fff;padding:3.2rem 0 2.8rem;text-align:center}
.page-head h1{color:#fff;font-size:clamp(2rem,4.5vw,3rem)}.page-head p{color:rgba(255,255,255,.85);max-width:36rem;margin:.6rem auto 0}

/* shop */
.product{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:start;padding:3.5rem 0}
.gallery .main{border-radius:18px;overflow:hidden;border:1px solid var(--gray-lt);background:var(--off);aspect-ratio:4/3.4}
.gallery .main img{width:100%;height:100%;object-fit:cover}
.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-top:.8rem}
.thumbs button{border:2px solid var(--gray-lt);border-radius:10px;overflow:hidden;padding:0;background:#fff;cursor:pointer;aspect-ratio:1;transition:border-color .2s}
.thumbs button[aria-pressed="true"]{border-color:var(--navy)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.buybox h1{font-size:clamp(1.8rem,3.5vw,2.4rem);margin-bottom:.4rem}
.badge{display:inline-block;background:var(--sky);color:var(--navy);font:700 .78rem 'Quicksand',sans-serif;padding:.25rem .7rem;border-radius:99px;margin-right:.3rem}
.qty{display:inline-flex;border:2px solid var(--navy);border-radius:10px;overflow:hidden;background:#fff}
.qty button{width:44px;min-height:46px;background:#fff;border:0;font:700 1.3rem 'Quicksand',sans-serif;color:var(--navy);cursor:pointer}.qty button:hover{background:var(--sky)}
.qty input{width:52px;text-align:center;border:0;font:700 1.05rem 'Quicksand',sans-serif;color:var(--navy);-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.buyrow{display:flex;gap:.8rem;flex-wrap:wrap;align-items:center;margin:1.4rem 0}
.notice{font-size:.88rem;color:var(--gray);margin-top:.6rem}
.specs{width:100%;border-collapse:collapse}.specs th,.specs td{text-align:left;padding:.8rem .4rem;border-bottom:1px solid var(--gray-lt);vertical-align:top}
.specs th{font:700 .9rem 'Quicksand',sans-serif;color:var(--navy);width:34%}
.size-fig{background:var(--off);border:1px solid var(--gray-lt);border-radius:var(--radius);padding:1rem}
.size-ctl{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font:700 .9rem 'Quicksand',sans-serif;color:var(--navy)}
.unit{display:inline-flex;border:2px solid var(--navy);border-radius:8px;overflow:hidden}.unit button{background:#fff;border:0;font:700 .8rem 'Quicksand',sans-serif;padding:.45rem .8rem;color:var(--navy);cursor:pointer;min-height:36px}.unit button[aria-pressed="true"]{background:var(--navy);color:#fff}

/* cart */
.cart-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:2.5rem;padding:3rem 0 4rem;align-items:start}
.line{display:grid;grid-template-columns:96px 1fr auto;gap:1.2rem;align-items:center;padding:1.2rem 0;border-bottom:1px solid var(--gray-lt)}
.line img{width:96px;height:96px;border-radius:12px;object-fit:cover}
.line h3{font-size:1.05rem}.line .rm{background:none;border:0;color:var(--red);font:600 .85rem 'Quicksand',sans-serif;cursor:pointer;text-decoration:underline;margin-top:.4rem}
.summary{background:var(--off);border:1px solid var(--gray-lt);border-radius:var(--radius);padding:1.6rem;position:sticky;top:96px}
.summary dl div{display:flex;justify-content:space-between;padding:.45rem 0}.summary .total{border-top:2px solid var(--navy);margin-top:.5rem;padding-top:.8rem;font:700 1.2rem 'Quicksand',sans-serif;color:var(--navy)}
.empty{text-align:center;padding:4rem 1rem}.empty p{color:var(--gray);margin:.6rem 0 1.4rem}

/* forms */
.form{display:grid;gap:1rem}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form label{display:block;font:700 .88rem 'Quicksand',sans-serif;color:var(--navy);margin-bottom:.3rem}
.form input,.form select,.form textarea{width:100%;font:1rem 'Lato',sans-serif;padding:.8rem .9rem;border:2px solid var(--gray-lt);border-radius:10px;background:#fff;color:var(--text);min-height:46px}
.form textarea{min-height:140px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(30,95,208,.18)}
.form .hp{position:absolute;left:-9999px}
.msg{min-height:1.5rem;font-weight:600}.msg.ok{color:var(--green)}.msg.err{color:var(--red)}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;padding:3.5rem 0;align-items:start}
.info-card{background:var(--off);border:1px solid var(--gray-lt);border-radius:var(--radius);padding:1.5rem;margin-bottom:1rem}
.info-card h3{font-size:1rem;margin-bottom:.4rem}.info-card p,.info-card a{font-size:.95rem;color:var(--gray)}

/* faq */
details.faq{border:1px solid var(--gray-lt);border-radius:12px;background:#fff;margin-bottom:.8rem;overflow:hidden}
details.faq summary{cursor:pointer;list-style:none;padding:1.1rem 3rem 1.1rem 1.3rem;font:700 1.02rem 'Quicksand',sans-serif;color:var(--navy);position:relative}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:'+';position:absolute;right:1.3rem;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--blue)}
details.faq[open] summary::after{content:'−'}
details.faq .ans{padding:0 1.3rem 1.2rem;color:var(--gray)}

/* prose / legal */
.prose{max-width:760px;margin:0 auto;padding:3rem 1.5rem 4rem}
.prose h2{font-size:1.4rem;margin:2rem 0 .5rem}.prose p,.prose li{color:var(--text);margin-bottom:.8rem}.prose ul{padding-left:1.4rem}

footer.site{background:var(--navy-dk);color:rgba(255,255,255,.75);padding:3rem 0 1.5rem;margin-top:0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem}
footer.site h4{color:#fff;font-size:.95rem;margin-bottom:.8rem}
footer.site a{color:rgba(255,255,255,.75);display:block;padding:.2rem 0;font-size:.92rem}footer.site a:hover{color:#fff}
footer.site .logo{color:#fff}footer.site .logo small{color:rgba(255,255,255,.6)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:2rem;padding-top:1.2rem;font-size:.84rem;text-align:center}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,40px);background:var(--navy);color:#fff;padding:.8rem 1.3rem;border-radius:12px;font:600 .95rem 'Quicksand',sans-serif;opacity:0;pointer-events:none;transition:all .3s;z-index:400;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:860px){
  .menu-toggle{display:flex}
  nav.main{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid var(--gray-lt);box-shadow:0 10px 20px rgba(0,0,0,.1);padding:1rem}
  nav.main.open{display:block}nav.main ul{flex-direction:column;align-items:stretch}nav.main a{display:block;padding:.8rem 1rem}
  .header-inner{position:relative}
  .hero-grid,.grid2,.product,.cart-grid,.contact-grid{grid-template-columns:1fr;gap:2rem}
  .hero-grid{padding:3rem 1.25rem}.hero-photo{order:-1}.hero-photo img{transform:none}
  .grid3,.steps,.foot-grid{grid-template-columns:1fr}.steps{gap:2rem}
  .can-list{grid-template-columns:1fr}
  section.block{padding:3.5rem 0}
  .summary{position:static}
  .form .row{grid-template-columns:1fr}
  .line{grid-template-columns:72px 1fr}.line img{width:72px;height:72px}.line .lt{grid-column:2}
}
@media(max-width:480px){.logo small{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn:hover,.card:hover{transform:none}}
