/* =========================================================
   Bro-coli × Erasmus in Prague — co-brand design system
   ========================================================= */
:root{
  /* Bro-coli */
  --brown:#4B463C;      /* the ink */
  --moody:#67B87E;
  --prime:#93F293;      /* signal green */
  --yellow:#FEF17D;
  --gray:#EEEEEE;
  --cream:#FBFAF4;      /* warm paper */
  --tan:#EADFC4;        /* mascot stalk / cream cards */

  /* Erasmus in Prague */
  --navy:#29315C;
  --grad:linear-gradient(92deg,#F1503F 0%,#F7941D 55%,#FBC02D 100%);

  --ink:var(--brown);
  --radius:26px;
  --radius-sm:16px;
  --shadow:0 18px 50px -24px rgba(41,49,92,.35);
  --shadow-soft:0 10px 30px -18px rgba(75,70,60,.4);
  --maxw:1180px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --outline:2.5px solid var(--brown);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Hanken Grotesk",system-ui,sans-serif;
  color:var(--ink);
  background:var(--cream);
  font-size:clamp(16px,1.05vw,18px);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-weight:800;line-height:1.04;letter-spacing:-.02em;margin:0}
p{margin:0}
a{color:inherit;text-decoration:none}
img,svg{display:block}
.wrap{width:min(var(--maxw),100% - 48px);margin-inline:auto}
strong{font-weight:800}

/* ---------- shared motifs ---------- */
.script-prague,.script-inline{
  font-family:"Caveat",cursive;font-weight:700;letter-spacing:0;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  line-height:1;display:inline-block;padding:0 .06em .22em;
}
.script-prague{font-size:1.16em}
.script-inline{font-size:1.1em;line-height:1.32;padding:.16em .06em .3em}
.script-inline.light{filter:saturate(1.15)}
.script-prague{position:relative}
.script-underline{position:absolute;left:2%;bottom:.1em;width:96%;height:.34em;overflow:visible}
.script-underline path{fill:none;stroke:#F7941D;stroke-width:5;stroke-linecap:round}

.mark-wrap{position:relative;white-space:nowrap;display:inline-block;isolation:isolate}
.marker-circle{position:absolute;left:-11%;top:-24%;width:122%;height:150%;overflow:visible;pointer-events:none;z-index:-1}
.marker-circle path{fill:none;stroke:var(--prime);stroke-width:7;stroke-linecap:round;
  stroke-dasharray:1000;stroke-dashoffset:1000;transition:stroke-dashoffset 1.1s var(--ease) .35s}
.marker-underline{position:absolute;left:0;bottom:-.16em;width:100%;height:.4em;overflow:visible;pointer-events:none;z-index:-1}
.marker-underline path{fill:none;stroke:var(--prime);stroke-width:8;stroke-linecap:round;
  stroke-dasharray:600;stroke-dashoffset:600;transition:stroke-dashoffset 1s var(--ease) .3s}
.revealed .marker-circle path,.revealed .marker-underline path,
.hero-title .marker-circle path{stroke-dashoffset:0}

/* stickers (pill, uppercase) */
.sticker{
  display:inline-block;font-weight:800;text-transform:uppercase;letter-spacing:.11em;
  font-size:.72rem;padding:.5em 1.05em;border-radius:999px;border:var(--outline);
  transform:rotate(-2deg);white-space:nowrap;
}
.sticker-yellow{background:var(--yellow);color:var(--brown)}
.sticker-green{background:var(--prime);color:var(--brown)}
.sticker-navy{background:var(--navy);color:#fff;border-color:var(--navy)}
/* round badge sticker (per brand manual, e.g. "ALL IN ONE RENT") */
.sticker-round{
  width:128px;height:128px;border-radius:50%;padding:.6em;white-space:normal;
  display:grid;place-items:center;text-align:center;line-height:1.12;
  font-size:.92rem;letter-spacing:.04em;transform:rotate(-9deg);box-shadow:var(--shadow-soft);
}

/* speech bubbles */
.bubble{
  position:relative;display:inline-block;font-weight:800;
  padding:.7em 1.1em;border-radius:18px;border:var(--outline);color:var(--brown);
  box-shadow:var(--shadow-soft);
}
.bubble-yellow{background:var(--yellow)}
.bubble-gray{background:var(--gray)}
.bubble-tail{position:absolute;width:20px;height:20px;background:inherit;border:var(--outline);
  border-top:none;border-left:none;right:26px;bottom:-11px;transform:rotate(45deg)}
.bubble-tail-left{left:32px;right:auto}

.eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:var(--moody)}
.eyebrow-light{color:var(--yellow)}

/* blobs */
/* decorative background blobs removed — clean, no soft glows */
.blob{display:none}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-weight:800;font-family:inherit;cursor:pointer;border-radius:999px;
  padding:.8em 1.5em;border:var(--outline);transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s;
  font-size:1rem;text-align:center;
}
.btn-lg{padding:1em 1.9em;font-size:1.05rem}
.btn-block{width:100%}
.btn-green{background:var(--prime);color:var(--brown);box-shadow:0 6px 0 0 var(--brown)}
.btn-green:hover{transform:translateY(-2px);box-shadow:0 8px 0 0 var(--brown)}
.btn-green:active{transform:translateY(3px);box-shadow:0 2px 0 0 var(--brown)}
.btn-outline{background:transparent;color:var(--brown)}
.btn-outline:hover{background:var(--brown);color:var(--cream);transform:translateY(-2px)}

/* =========================================================
   HEADER
   ========================================================= */
.site-header{position:sticky;top:0;z-index:60;background:var(--cream);
  border-bottom:2px solid rgba(75,70,60,.12)}
.header-inner{display:flex;align-items:center;gap:1.5rem;padding:.85rem 0}
.cobrand{display:flex;align-items:center;gap:.75rem}
.brand-logo{display:block;width:auto;height:auto}
.header-inner .brand-bro{height:48px}
.header-inner .brand-eip{height:30px}
.cobrand-footer .brand-bro{height:54px}
.cobrand-footer .brand-eip{height:38px}
.cobrand-x{font-family:"Caveat",cursive;font-weight:700;font-size:1.7rem;line-height:1;
  background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.lang-toggle{font-family:inherit;font-weight:800;font-size:.82rem;letter-spacing:.06em;
  background:transparent;color:var(--brown);border:2px solid rgba(75,70,60,.28);border-radius:999px;
  padding:.42em .8em;cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease)}
.lang-toggle:hover{background:var(--brown);color:var(--cream);border-color:var(--brown)}
.nav{margin-left:auto;display:flex;gap:1.6rem}
.nav a{font-weight:600;font-size:.98rem;position:relative;padding:.2em 0}
.nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:3px;border-radius:3px;
  background:var(--prime);transition:width .22s var(--ease)}
.nav a:hover::after{width:100%}
.header-cta{padding:.6em 1.2em;font-size:.95rem;box-shadow:0 4px 0 0 var(--brown)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.nav-toggle span{width:26px;height:3px;background:var(--brown);border-radius:3px;transition:.25s}

/* =========================================================
   HERO
   ========================================================= */
.hero{position:relative;padding:clamp(.9rem,2vw,1.6rem) 0 clamp(1.2rem,2.5vw,2rem);overflow:hidden;
  min-height:calc(100svh - 76px);display:flex;flex-direction:column;justify-content:center}
.hero-splashes{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-splash{position:absolute;display:block}
.hero-splash path{transform-box:fill-box;transform-origin:center}
.hs-1{width:640px;height:615px;bottom:-330px;left:-250px;transform:rotate(-16deg);opacity:.5}
.hs-2{width:330px;height:270px;top:-110px;left:6%;transform:rotate(28deg);opacity:.42}
.hs-3{width:600px;height:606px;top:-300px;right:-230px;transform:rotate(-18deg);opacity:.5}
.hs-4{width:300px;height:300px;bottom:-140px;right:8%;transform:rotate(22deg);opacity:.5}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.5rem,3.5vw,3rem);align-items:center}
.hero-copy>*+*{margin-top:.95rem}
.hero-title{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.03em;line-height:1.03}
.hero-lead{font-size:clamp(1.05rem,1.4vw,1.22rem);max-width:34ch;color:#5b5647}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}
.hero-trust{display:flex;align-items:flex-start;gap:.6rem;font-size:.98rem;color:#5b5647}
.hero-trust .tick{margin-top:.15em}
.tick{width:22px;height:22px;flex:none;fill:none;stroke:var(--moody);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}

/* hero visual */
.hero-visual{position:relative;z-index:2}
.splash-stage{position:relative;width:100%;max-width:720px;margin-inline:auto;aspect-ratio:1/.82}
.paint-splash{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 22px 40px rgba(241,80,63,.28))}
.hero-navy-card{position:absolute;bottom:6%;left:-2%;background:var(--navy);color:#fff;border-radius:var(--radius-sm);
  padding:.85rem 1.05rem;box-shadow:var(--shadow);z-index:4;transform:rotate(-4deg);max-width:150px}
.hero-navy-num{display:block;font-size:1.85rem;font-weight:800;color:var(--prime);line-height:1}
.hero-navy-label{display:block;font-size:.78rem;line-height:1.3;margin-top:.25rem;opacity:.92}
.hero-bubble{position:absolute;top:3%;right:-1%;z-index:4;transform:rotate(4deg)}
svg.mascot{display:none}
/* the two brand logos hovering together — no backgrounds, no divider, equal footprint */
/* two huge bare logos, staggered diagonally; soft white lift keeps them readable on orange */
.logo-duo{position:absolute;inset:0;z-index:3}
.logo-duo img{position:absolute;height:auto;
  filter:drop-shadow(0 0 5px rgba(255,255,255,.92)) drop-shadow(0 0 13px rgba(255,255,255,.6)) drop-shadow(0 8px 16px rgba(75,70,60,.24))}
.logo-duo .logo-duo-bro{left:0;top:1%;width:clamp(200px,30vw,375px);transform:rotate(-4deg);
  animation:swayA 5.5s ease-in-out infinite}
.logo-duo .logo-duo-eip{right:0;bottom:3%;width:clamp(230px,36vw,455px);transform:rotate(4deg);
  animation:swayB 6s ease-in-out infinite .4s}
@keyframes swayA{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(-4deg) translateY(-12px)}}
@keyframes swayB{0%,100%{transform:rotate(4deg) translateY(0)}50%{transform:rotate(4deg) translateY(-14px)}}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}

/* seams */
/* section seams removed — crisp edges between sections, no hazy transitions */
.seam{display:none}

/* =========================================================
   NUMBERS BAND (navy, woven with gradient + green)
   ========================================================= */
.numbers{position:relative;background:var(--navy);color:#fff;padding:clamp(3rem,6vw,5rem) 0 6rem;overflow:hidden}
.blob-num{width:420px;height:420px;top:-120px;right:-100px;opacity:.4}
.numbers .wrap{position:relative;z-index:2}
.numbers-head{font-size:clamp(1.8rem,3.4vw,2.8rem);margin:.5rem 0 2.2rem;max-width:20ch}
.stat-row{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.stat{border-radius:var(--radius-sm);padding:1.4rem 1.2rem;border:2.5px solid rgba(255,255,255,.14);
  display:flex;flex-direction:column;gap:.3rem;transition:transform .25s var(--ease)}
.stat:hover{transform:translateY(-6px)}
.stat-num{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:800;line-height:1}
.stat-label{font-size:.85rem;font-weight:600;opacity:.92}
.stat-green{background:var(--moody);color:#fff;border-color:transparent}
.stat-gradient{background:var(--grad);background-origin:border-box;color:#fff;border-color:transparent}
.stat-gradient .stat-num{color:#fff}
.stat-navy{background:rgba(255,255,255,.06)}
.stat-navy .stat-num{color:var(--prime)}
.stat-yellow{background:var(--yellow);color:var(--brown);border-color:transparent}
.stat-brown{background:var(--brown);color:var(--cream);border-color:transparent}
.stat-brown .stat-num{color:var(--yellow)}

/* =========================================================
   SECTION HEADS (shared)
   ========================================================= */
.section-head{max-width:44rem;margin:0 auto clamp(2rem,4vw,3rem);text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}
.section-head h2{font-size:clamp(1.9rem,3.8vw,3rem)}
.section-sub{color:#5b5647;font-size:1.1rem;max-width:40ch}

/* =========================================================
   WHY (cards interleaving palettes)
   ========================================================= */
.why{position:relative;padding:clamp(3.5rem,6vw,6rem) 0;overflow:hidden}
.blob-why{width:340px;height:340px;bottom:-120px;left:-140px;opacity:.3}
.why .wrap{position:relative;z-index:2}
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.feature-card{position:relative;border-radius:var(--radius);padding:1.8rem 1.5rem;border:2.5px solid var(--brown);
  box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:.9rem;min-height:100%;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.feature-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.fc-cream{background:var(--cream)}
.fc-navy{background:var(--navy);color:#fff;border-color:var(--navy)}
.fc-gradient{background:var(--grad);background-origin:border-box;color:#fff;border-color:transparent}
.fc-navy h3,.fc-gradient h3{color:#fff}
.fc-navy p,.fc-gradient p{opacity:.95}
.feature-card h3{font-size:1.28rem}
.feature-card p{font-size:.98rem;color:#5b5647}
.fc-navy p{color:rgba(255,255,255,.9)}.fc-gradient p{color:rgba(255,255,255,.95)}
.fc-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;border:2.5px solid var(--brown)}
.fc-icon svg{width:26px;height:26px;fill:none;stroke:var(--brown);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.fc-icon-green{background:var(--prime)}
.fc-icon-grad{background:var(--grad);border-color:#fff}.fc-icon-grad svg{stroke:#fff}
.fc-icon-navy{background:var(--navy)}.fc-icon-navy svg{stroke:var(--prime)}
.fc-icon-cream{background:var(--cream)}
.fc-sticker{position:absolute;top:-14px;right:14px}

/* =========================================================
   HOW (steps)
   ========================================================= */
.how{position:relative;padding:clamp(3rem,5vw,5rem) 0;background:var(--gray)}
.steps{display:flex;align-items:stretch;justify-content:center;gap:1rem;flex-wrap:wrap}
.step{flex:1;min-width:230px;max-width:320px;background:#fff;border:2.5px solid var(--brown);border-radius:var(--radius);
  padding:2rem 1.6rem;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:.7rem}
.step-num{width:46px;height:46px;border-radius:50%;background:var(--prime);border:2.5px solid var(--brown);
  display:grid;place-items:center;font-weight:800;font-size:1.3rem}
.step:nth-child(3) .step-num{background:var(--yellow)}
.step:nth-child(5) .step-num{background:var(--navy);color:var(--prime);border-color:var(--navy)}
.step h3{font-size:1.25rem}
.step p{color:#5b5647;font-size:.98rem}
.step-arrow{align-self:center;font-size:2rem;color:var(--moody);font-weight:800}

/* =========================================================
   COMMUNITY (blend showcase)
   ========================================================= */
/* community — warm Bro-coli section with the original text, bubble and stat collage */
.community{position:relative;padding:clamp(3.5rem,6vw,6rem) 0;background:var(--cream);overflow:hidden}
.community-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.community-copy>*+*{margin-top:1.2rem}
.community-head{font-size:clamp(1.9rem,3.6vw,2.9rem);color:var(--brown)}
.community-copy p{color:#5b5647;font-size:1.08rem}
.community-bubble{margin-top:1.6rem}
.collage{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.cc-round{position:absolute;right:-22px;top:42%;z-index:4}
.collage-card{border-radius:var(--radius);padding:1.5rem 1.4rem;border:var(--outline);
  display:flex;flex-direction:column;gap:.3rem;box-shadow:var(--shadow-soft)}
.cc-cream{background:#fff}
.cc-yellow{background:var(--yellow)}
.cc-green{background:var(--prime);grid-column:1 / -1}
.cc-flag{font-size:1.6rem}
.cc-big{font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1;color:var(--brown)}
.cc-cream .cc-big{color:var(--moody)}
.cc-small{font-size:.9rem;color:#5b5647}
.collage-badge{grid-column:1 / -1;background:var(--yellow);color:var(--brown);border:var(--outline);
  border-radius:999px;text-align:center;font-weight:800;text-transform:uppercase;letter-spacing:.04em;
  font-size:.8rem;padding:.7em 1em;transform:rotate(-1.5deg)}

/* =========================================================
   BUILDINGS WE MANAGE
   ========================================================= */
.buildings{padding:clamp(3rem,5vw,5rem) 0;background:#fff}
.bld-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:1.5rem 2rem}
.bld{display:flex;align-items:center;gap:1rem}
.bld-photo{width:64px;height:64px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:var(--gray);border:2.5px solid var(--brown);overflow:hidden}
.bld-photo svg{width:30px;height:30px;fill:none;stroke:var(--brown);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bld-photo img{width:100%;height:100%;object-fit:cover}
.bld-name{font-size:1.15rem;color:var(--brown);line-height:1.1}
.bld-addr{display:flex;align-items:flex-start;gap:.4rem;margin-top:.35rem;font-size:.76rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.05em;color:#7a7566}
.bld-addr svg{width:14px;height:14px;flex:none;margin-top:.1em;fill:none;stroke:var(--moody);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* =========================================================
   VALUATION
   ========================================================= */
.valuation{position:relative;padding:clamp(3.5rem,6vw,6rem) 0;overflow:hidden;background:var(--gray)}
.blob-val-1{width:380px;height:380px;top:-80px;left:-120px;opacity:.4}
.blob-val-2{width:340px;height:340px;bottom:-120px;right:-120px;opacity:.7}
.val-card{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(1.5rem,4vw,3rem);
  background:var(--cream);border:2.5px solid var(--brown);border-radius:var(--radius);
  padding:clamp(1.8rem,3.5vw,3rem);box-shadow:var(--shadow)}
.val-intro>*+*{margin-top:1.2rem}
.val-head{font-size:clamp(1.8rem,3.2vw,2.6rem)}
.val-lead{color:#5b5647;font-size:1.05rem}
.val-list{list-style:none;padding:0;margin:1.4rem 0 0;display:flex;flex-direction:column;gap:.7rem}
.val-list li{display:flex;align-items:flex-start;gap:.6rem;font-weight:600}
.val-list .tick{margin-top:2px}

.val-form{background:#fff;border:2.5px solid var(--brown);border-radius:var(--radius);padding:1.8rem;box-shadow:var(--shadow-soft);align-self:start}
.val-form h3{font-size:1.4rem;margin-bottom:1.2rem}
.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field label{font-weight:700;font-size:.85rem}
.field input{font-family:inherit;font-size:1rem;padding:.75em .9em;border-radius:12px;border:2px solid rgba(75,70,60,.25);
  background:var(--cream);color:var(--brown);transition:border-color .18s,box-shadow .18s}
.field input:focus{outline:none;border-color:var(--moody);box-shadow:0 0 0 4px rgba(103,184,126,.2)}
.field input::placeholder{color:rgba(75,70,60,.4)}
.form-note{font-size:.8rem;color:#7a7566;margin-top:.8rem;text-align:center}
.form-error{margin-top:.7rem;font-size:.88rem;font-weight:600;color:#c0392b;text-align:center}
.form-success{background:#fff;border:2.5px solid var(--brown);border-radius:var(--radius);
  padding:2.6rem 2rem;box-shadow:var(--shadow-soft);text-align:center;align-self:start}
.form-success-tick{width:66px;height:66px;margin:0 auto 1.1rem;border-radius:50%;background:var(--prime);
  border:2.5px solid var(--brown);display:grid;place-items:center}
.form-success-tick svg{width:32px;height:32px;fill:none;stroke:var(--brown);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.form-success h3{font-size:1.5rem;margin-bottom:.5rem}
.form-success p{color:#5b5647}

/* =========================================================
   HOOK — "not your second job"
   ========================================================= */
.hook{padding:clamp(3.5rem,7vw,6.5rem) 0;background:var(--cream);text-align:center;
  border-top:2px solid rgba(75,70,60,.1)}
.hook-inner{max-width:64rem;margin-inline:auto;display:flex;flex-direction:column;align-items:center;
  gap:clamp(1.6rem,2.8vw,2.3rem)}
.hook-title{font-size:clamp(1.9rem,4.4vw,3.3rem);line-height:1.08;max-width:30ch}
.hook-lead{font-size:clamp(1.08rem,1.5vw,1.28rem);color:#5b5647;max-width:62ch;line-height:1.7}
.hook-script{margin:0;font-family:"Caveat",cursive;font-weight:700;line-height:1.12;
  font-size:clamp(1.7rem,3.6vw,2.7rem);color:var(--brown);max-width:40ch}

/* =========================================================
   CARE — in-house technical team (highlighted)
   ========================================================= */
.care{padding:clamp(2rem,4vw,3.5rem) 0}
.care-panel{position:relative;background:var(--navy);color:#fff;border-radius:var(--radius);
  padding:clamp(2rem,4.5vw,3.6rem);box-shadow:var(--shadow)}
.care-panel .sticker{margin-bottom:1rem}
.care-title{color:#fff;font-size:clamp(1.7rem,3.4vw,2.7rem);max-width:24ch;margin-bottom:1rem}
.care-lead{color:rgba(255,255,255,.9);font-size:clamp(1.02rem,1.4vw,1.18rem);max-width:64ch}
.care-points{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.2rem}
.care-point{background:rgba(255,255,255,.06);border:2px solid rgba(255,255,255,.14);
  border-radius:var(--radius-sm);padding:1.5rem}
.care-point h3{color:var(--prime);font-size:1.18rem;margin:.7rem 0 .4rem}
.care-point p{color:rgba(255,255,255,.88);font-size:.96rem}
.cp-icon{width:46px;height:46px;border-radius:13px;background:var(--prime);display:grid;place-items:center}
.care-point:nth-child(2) .cp-icon{background:var(--yellow)}
.cp-icon svg{width:24px;height:24px;fill:none;stroke:var(--brown);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:760px){
  .care-points{grid-template-columns:1fr}
  /* mobile hero: keep the logo splash clean, only a few soft blobs up by the text */
  .hs-1{display:none}
  .hs-2{width:230px;height:188px;top:-40px;left:-70px;bottom:auto;transform:rotate(20deg);opacity:.28}
  .hs-3{width:200px;height:200px;top:150px;right:-80px;left:auto;bottom:auto;transform:rotate(-16deg);opacity:.28}
  .hs-4{width:150px;height:150px;top:330px;left:-35px;right:auto;bottom:auto;transform:rotate(18deg);opacity:.3}
  .steps{flex-direction:column;align-items:stretch}
  .step{max-width:none}
  .step-arrow{align-self:center}
}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{background:var(--brown);color:var(--cream);padding:clamp(2.5rem,4vw,3.5rem) 0 1.5rem}
.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2.5rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.14)}
.footer-brand{max-width:26rem}
.cobrand-footer .logo-bro{color:var(--cream)}
.cobrand-footer .eip-erasmus,.cobrand-footer .eip-sub{color:var(--prime)}
.footer-tag{margin-top:1rem;opacity:.8;font-size:.95rem}
.footer-cols{display:flex;gap:3.5rem;flex-wrap:wrap}
.footer-col{display:flex;flex-direction:column;gap:.6rem}
.footer-col h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:var(--prime);margin-bottom:.3rem}
.footer-col a{opacity:.85;font-size:.95rem;transition:opacity .18s}
.footer-col a:hover{opacity:1}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;font-size:.85rem;opacity:.7;flex-wrap:wrap;gap:.5rem}
.footer-mini{font-family:"Caveat",cursive;font-size:1.3rem;opacity:1}

/* =========================================================
   REVEAL ANIMATION
   ========================================================= */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
[data-reveal].revealed{opacity:1;transform:none}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:960px){
  .nav,.header-cta{display:none}
  .nav-toggle{display:flex;margin-left:auto}
  .nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;
    background:var(--cream);border-bottom:2px solid rgba(75,70,60,.15);padding:.5rem 24px}
  .nav.open a{padding:.9rem 0;border-bottom:1px solid rgba(75,70,60,.1)}
  .hero-grid{grid-template-columns:1fr;gap:2.5rem}
  .hero-lead{max-width:100%}
  .splash-stage{max-width:440px}
  .stat-row{grid-template-columns:repeat(2,1fr)}
  .card-grid{grid-template-columns:repeat(2,1fr)}
  .community-grid{grid-template-columns:1fr}
  .val-card{grid-template-columns:1fr}
  .step-arrow{transform:rotate(90deg)}
}
@media (max-width:560px){
  .wrap{width:min(var(--maxw),100% - 32px)}
  .hero-title{font-size:clamp(2.1rem,8.5vw,2.9rem)}
  .stat-row{grid-template-columns:1fr}
  .card-grid{grid-template-columns:1fr}
  .field-row{grid-template-columns:1fr}
  .footer-inner{flex-direction:column;gap:2rem}
  .hero-actions .btn{flex:1}
}
/* on small screens keep the hero clean: splash + logos, corner cards hidden */
@media (max-width:640px){
  .splash-stage{aspect-ratio:1/1}
  .logo-duo .logo-duo-bro{width:min(64%,300px);left:0;top:2%}
  .logo-duo .logo-duo-eip{width:min(78%,340px);right:0;bottom:4%}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important}
  [data-reveal]{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}
