/* ===== Florelo — Modern studio, bold color-block ===== */
:root{
  --bg:#FBF7F0; --ink:#161412; --coral:#E8503A; --coral-d:#CB3F2B; --berry:#6B2D5C; --lime:#A7C44F; --cream:#F3EEE3;
  --soft:#5E574E; --line:#E2DAC9; --white:#fff;
  --maxw:1280px; --gut:clamp(20px,5vw,48px);
  --disp:"Unbounded",system-ui,sans-serif; --body:"Sora",system-ui,sans-serif;
  --r:26px; --shadow:0 26px 60px -28px rgba(22,20,18,.4);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--body);background:var(--bg);color:var(--ink);font-size:17px;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--disp);font-weight:700;line-height:1;letter-spacing:-.02em}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut)}
.kick{display:inline-block;font-family:var(--disp);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:var(--ink);color:var(--bg);padding:7px 16px;border-radius:999px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;background:var(--ink);color:#fff;padding:10px 16px;z-index:200;border-radius:10px}

.hdr{position:fixed;inset:0 0 auto 0;z-index:100;transition:.4s}
.hdr-in{display:flex;align-items:center;justify-content:space-between;padding:20px var(--gut);transition:.4s}
.hdr.scrolled{background:rgba(251,247,240,.92);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}
.hdr.scrolled .hdr-in{padding-block:12px}
.brand{font-family:var(--disp);font-size:24px;font-weight:800;letter-spacing:-.04em}
.brand b{color:var(--coral)}
.nav{display:flex;gap:30px;align-items:center}
.nav a{font-size:15px;font-weight:500;color:var(--soft);transition:.2s}
.nav a:hover,.nav a.active{color:var(--coral)}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;font-family:var(--body);font-size:15px;font-weight:700;padding:14px 28px;cursor:pointer;border:0;transition:.3s}
.btn-pri{background:var(--coral);color:#fff}.btn-pri:hover{background:var(--coral-d);transform:translateY(-2px) rotate(-1deg)}
.btn-dark{background:var(--ink);color:var(--bg)}.btn-dark:hover{transform:translateY(-2px)}
.btn-out{background:transparent;border:2px solid var(--ink);color:var(--ink)}.btn-out:hover{background:var(--ink);color:var(--bg)}
.burger{display:none;flex-direction:column;gap:5px;background:0;border:0;cursor:pointer;padding:6px}.burger span{width:26px;height:2.5px;background:var(--ink);border-radius:3px;transition:.3s}

/* hero — big bold asymmetric */
.hero{padding:150px 0 70px}
.hero h1{font-size:clamp(52px,11vw,150px);text-transform:uppercase}
.hero h1 .o{color:var(--coral)}
.hero-row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-top:24px}
.hero-row p{font-size:19px;max-width:40ch;color:var(--soft)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-img{margin-top:40px;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.hero-img img{width:100%;aspect-ratio:16/7;object-fit:cover}

.sec{padding:clamp(64px,9vw,120px) 0}
.head{max-width:680px;margin-bottom:50px}
.head.c{margin-inline:auto;text-align:center}
.head h2{font-size:clamp(36px,6vw,76px);text-transform:uppercase;margin:14px 0}
.head p{color:var(--soft)}
.block-coral{background:var(--coral);color:#fff}.block-coral .kick{background:#fff;color:var(--coral)}.block-coral .head p{color:rgba(255,255,255,.9)}
.block-berry{background:var(--berry);color:#fff}.block-berry .kick{background:#fff;color:var(--berry)}.block-berry .head p{color:rgba(255,255,255,.9)}
.block-ink{background:var(--ink);color:var(--bg)}.block-ink .kick{background:var(--lime);color:var(--ink)}.block-ink .head p{color:rgba(255,255,255,.8)}

/* products bold */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.pc{background:var(--white);border-radius:var(--r);overflow:hidden;transition:.35s;border:2px solid var(--ink)}
.pc:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.pc .im{aspect-ratio:1;overflow:hidden;position:relative}.pc .im img{width:100%;height:100%;object-fit:cover;transition:.6s}.pc:hover .im img{transform:scale(1.07)}
.pc .tag{position:absolute;top:14px;left:14px;background:var(--lime);color:var(--ink);font-family:var(--disp);font-size:11px;font-weight:600;text-transform:uppercase;padding:6px 13px;border-radius:999px}
.pc .b{padding:22px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.pc h3{font-size:21px;text-transform:uppercase}.pc .pr{font-family:var(--disp);font-weight:700;font-size:20px;color:var(--coral)}

/* feature split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.split img{border-radius:var(--r);aspect-ratio:1;object-fit:cover;box-shadow:var(--shadow)}
.split.rev{direction:rtl}.split.rev>*{direction:ltr}
.split h2{font-size:clamp(34px,5vw,64px);text-transform:uppercase;margin-bottom:18px}
.split p{margin-bottom:14px}

/* marquee bold */
.marq{overflow:hidden;padding:22px 0;border-block:3px solid var(--ink)}
.marq-t{display:flex;gap:40px;white-space:nowrap;font-family:var(--disp);font-weight:800;font-size:34px;text-transform:uppercase;will-change:transform}
.marq-t span{display:flex;gap:40px}.marq-t .s{color:var(--coral)}

/* steps bubbles */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.step{text-align:center}
.step .c{width:80px;height:80px;border-radius:50%;background:var(--white);border:2px solid var(--ink);display:grid;place-items:center;font-family:var(--disp);font-weight:800;font-size:28px;margin:0 auto 16px}
.step h3{font-size:20px;text-transform:uppercase;margin-bottom:6px}.step p{font-size:14.5px;color:var(--soft)}
.block-coral .step .c{background:#fff;border-color:#fff;color:var(--coral)}.block-coral .step p{color:rgba(255,255,255,.85)}

/* reviews */
.qc{background:var(--white);border:2px solid var(--ink);border-radius:var(--r);padding:30px;height:100%}
.qc .st{color:var(--coral);letter-spacing:2px;margin-bottom:12px}.qc p{font-size:18px;font-weight:500;margin-bottom:18px}
.qc .w{display:flex;gap:12px;align-items:center}.qc .w img{width:46px;height:46px;border-radius:50%}.qc .w b{display:block}.qc .w span{font-size:13px;color:var(--soft)}
.swiper{padding-bottom:54px!important}.swiper-pagination-bullet{background:var(--coral)}.swiper-button-next,.swiper-button-prev{color:var(--coral)}

/* CTA big */
.ctabox{border-radius:var(--r);background:var(--lime);color:var(--ink);padding:clamp(44px,7vw,84px);text-align:center}
.ctabox h2{font-size:clamp(34px,5.5vw,72px);text-transform:uppercase;margin-bottom:16px}.ctabox p{max-width:48ch;margin:0 auto 26px}

/* forms */
.form{display:grid;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:14px;font-weight:700}
.field input,.field textarea,.field select{font-family:var(--body);font-size:16px;padding:14px 16px;border:2px solid var(--ink);border-radius:14px;background:var(--white);transition:.2s}
.field input:focus,.field textarea:focus,.field select:focus{outline:0;border-color:var(--coral)}.field textarea{resize:vertical;min-height:120px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--soft)}.consent input{margin-top:3px}
.form-note{display:none;padding:14px;border-radius:12px;font-size:14px}.form-note.ok{display:block;background:var(--lime);color:var(--ink)}
.err{border-color:#c0392b!important}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.ilist{display:grid;gap:18px}.ilist .it{display:flex;gap:14px}.ilist .e{font-size:22px}.ilist b{display:block}
.map-embed{border-radius:var(--r);overflow:hidden;border:2px solid var(--ink);margin-top:26px}.map-embed iframe{width:100%;height:320px;border:0;display:block}

.phead{padding:150px 0 30px}.phead h1{font-size:clamp(46px,8vw,110px);text-transform:uppercase}.phead p{color:var(--soft);max-width:54ch;margin-top:14px}
.crumbs{font-size:14px;color:var(--soft);margin-bottom:14px}.crumbs a:hover{color:var(--coral)}

.legal{max-width:820px;margin:0 auto}.legal h2{font-size:26px;text-transform:uppercase;margin:34px 0 12px}.legal h3{font-family:var(--body);font-size:18px;font-weight:700;margin:22px 0 8px}
.legal p,.legal li{color:var(--soft);margin-bottom:10px}.legal ul{padding-left:22px}.legal .upd{color:var(--coral);font-weight:700}.legal a{color:var(--coral-d);text-decoration:underline}

.ftr{background:var(--ink);color:var(--bg);padding:70px 0 28px}
.ftr-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.15)}
.ftr .brand{color:#fff}.ftr .brand b{color:var(--coral)}
.ftr h4{font-family:var(--disp);font-size:12px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:16px;color:var(--lime)}
.ftr a{display:block;color:rgba(251,247,240,.72);font-size:14.5px;margin-bottom:9px;transition:.2s}.ftr a:hover{color:#fff;padding-left:4px}
.ftr .ab p{color:rgba(251,247,240,.7);margin-top:10px;max-width:32ch;font-size:14.5px}
.ftr-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:22px;font-size:13.5px;color:rgba(251,247,240,.55)}

.cookie{position:fixed;left:20px;right:20px;bottom:20px;z-index:300;max-width:560px;margin:0 auto;background:var(--white);border:2px solid var(--ink);border-radius:20px;box-shadow:var(--shadow);padding:22px 24px;transform:translateY(170%);transition:.5s cubic-bezier(.16,1,.3,1)}
.cookie.show{transform:none}.cookie p{font-size:14px;color:var(--soft);margin-bottom:14px}.cookie a{color:var(--coral-d);text-decoration:underline}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}.cookie .btn{padding:11px 22px}
.toTop{position:fixed;right:22px;bottom:22px;width:48px;height:48px;border-radius:50%;background:var(--coral);color:#fff;border:0;cursor:pointer;display:grid;place-items:center;opacity:0;pointer-events:none;transition:.3s;z-index:90}.toTop.show{opacity:1;pointer-events:auto}

@media(max-width:900px){
  .nav{position:fixed;inset:0 0 0 auto;width:min(80vw,320px);background:var(--bg);flex-direction:column;justify-content:center;gap:26px;transform:translateX(100%);transition:.4s;padding:40px;z-index:105;box-shadow:var(--shadow)}
  .nav.open{transform:none}.nav a{font-size:18px}.burger{display:flex;z-index:110}
  .split,.cgrid{grid-template-columns:1fr}.split.rev{direction:ltr}.grid{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}
  .ftr-grid{grid-template-columns:1fr 1fr}.row2{grid-template-columns:1fr}
}
@media(max-width:560px){.grid,.steps{grid-template-columns:1fr}.ftr-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
