@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth; background:#FFFFFF; background-color:#FFFFFF; color-scheme:light;}
  @media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }

  body{
    margin:0; background:#FFFFFF; background-color:#FFFFFF; color:#18131A;
    font-family:'Manrope', system-ui, sans-serif;
    font-size:1.05rem; line-height:1.6; -webkit-font-smoothing:antialiased;
    overflow-x:hidden; position:relative;
  }
  body::before{
    content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
    background-image:radial-gradient(color-mix(in srgb, #18131A 6%, transparent) 1px, transparent 1px);
    background-size:26px 26px; opacity:0.3;
  }

  h1,h2,h3{ font-family:'Manrope', system-ui, sans-serif; color:#18131A; text-wrap:balance; margin:0; font-weight:800; letter-spacing:-0.025em; line-height:1.12; }
  p{margin:0;}
  a{color:inherit;}
  img{max-width:100%;}
  button{font:inherit;}
  .name-accent{color:#D9367A;}

  .eyebrow{ font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase; color:#D9367A; font-weight:800; display:inline-flex; align-items:center; gap:0.5rem; }
  .eyebrow::before{content:""; width:6px; height:6px; border-radius:50%; background:#FF3D8F; display:inline-block;}

  .wrap{max-width:1440px; margin:0 auto; padding-inline:20px;}
  .wrap-wide{max-width:1560px;}
  @media (min-width:641px){ .wrap{padding-inline:32px;} }
  @media (min-width:1024px){ .wrap{padding-inline:56px;} }
  @media (min-width:1400px){ .wrap{padding-inline:72px;} }

  a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{ outline:2px solid #D9367A; outline-offset:3px; border-radius:4px; }

  #progress{position:fixed; top:0; left:0; height:3px; width:0%; z-index:250; background:linear-gradient(90deg, #D9367A, #FF3D8F); transition:width .1s linear;}

  .js .reveal{opacity:0; transform:translateY(28px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);}
  .js .reveal.in-view{opacity:1; transform:translateY(0);}
  @media (prefers-reduced-motion: reduce){ .js .reveal{opacity:1; transform:none; transition:none;} }

  /* ---------- NAV ---------- */
  nav{position:sticky; top:0; z-index:100; background:color-mix(in srgb, #FFFFFF 80%, transparent); backdrop-filter:blur(12px); border-bottom:1px solid #F4D9E5;}
  .nav-inner{max-width:1560px; margin:0 auto; padding:0.85rem 20px; display:flex; align-items:center; justify-content:space-between; gap:1rem; position:relative; z-index:2;}
  @media (min-width:641px){ .nav-inner{padding-inline:32px;} }
  @media (min-width:1024px){ .nav-inner{padding-inline:56px;} }
  @media (min-width:1400px){ .nav-inner{padding-inline:72px;} }
  @media (max-width:767px){ .nav-inner{padding-inline:20px;} }
  @media (max-width:380px){ .nav-inner{padding-inline:16px;} }
  .logo{display:flex; align-items:center; text-decoration:none; flex:none;}
  .logo img{height:58px; width:auto; display:block;}
  @media (max-width:640px){ .logo img{height:44px;} }
  .nav-links{display:flex; gap:clamp(1rem,2.2vw,2.1rem); list-style:none; margin:0; padding:0; font-size:0.92rem; font-weight:600;}
  .nav-links a{text-decoration:none; color:#665A61; transition:color .15s;}
  .nav-links a:hover{color:#D9367A;}
  .nav-right{display:flex; align-items:center; gap:0.9rem;}
  .nav-cta{display:inline-flex;}

  /* burger: icon-only, no box, visible only below 1200px (tablet + mobile) */
  .burger{display:none; width:44px; height:44px; padding:0; border:none; border-radius:0; background:none; box-shadow:none; align-items:center; justify-content:center; cursor:pointer; flex:none; transition:opacity .2s ease;}
  .burger span, .burger span::before, .burger span::after{content:""; display:block; width:24px; height:2.5px; border-radius:2px; background:#D9367A; position:relative;}
  .burger span::before{position:absolute; top:-8px; left:0;}
  .burger span::after{position:absolute; top:8px; left:0;}
  .burger[aria-expanded="true"]{opacity:0; pointer-events:none;}

  /* mobile/tablet menu panel: full-width, fade + slide-down, height by content */
  .mobile-panel{display:none; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:1.6rem; position:fixed; inset:0; height:100dvh; background:radial-gradient(120% 70% at 50% 0%, color-mix(in srgb, #FF3D8F 12%, transparent), transparent 60%), #FFFFFF; padding:6rem 20px 3rem; z-index:1; opacity:0; visibility:hidden; transform:translateY(-10px); pointer-events:none; transition:opacity .28s ease, transform .28s ease, visibility .28s;}
  @media (max-width:380px){ .mobile-panel{padding-inline:16px;} }
  .mobile-panel.open{opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto;}
  .mobile-panel-close{position:absolute; top:1.1rem; right:20px; width:40px; height:40px; display:flex; align-items:center; justify-content:center; background:none; border:none; padding:0; color:#D9367A; cursor:pointer;}
  @media (max-width:380px){ .mobile-panel-close{right:16px;} }
  .mobile-panel a{text-decoration:none; font-weight:600; color:#18131A; font-size:1.15rem; transition:color .15s ease;}
  .mobile-panel a:not(.btn):hover, .mobile-panel a:not(.btn):focus-visible, .mobile-panel a:not(.btn):active{color:#D9367A;}
  .mobile-panel .btn{padding:0.75rem 1.6rem; line-height:1.2;}
  .mobile-panel .btn-primary{color:#fff;}
  @media (prefers-reduced-motion: reduce){ .mobile-panel{transition:none;} .burger span, .burger span::before, .burger span::after{transition:none;} }

  @media (max-width:1199px){ .nav-links{display:none;} .nav-right .nav-cta{display:none;} .burger{display:flex;} .mobile-panel{display:flex;} }

  .btn{font-weight:700; font-size:0.96rem; padding:0.85rem 1.6rem; border-radius:999px; text-decoration:none; display:inline-flex; align-items:center; gap:0.55rem; border:1.5px solid transparent; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease;}
  .btn svg{transition:transform .25s ease;}
  .btn:hover svg{transform:translateX(3px);}
  .btn-primary{background:#D9367A; color:#fff; box-shadow:0 10px 26px -10px color-mix(in srgb, #D9367A 65%, transparent);}
  .btn-primary:hover{transform:translateY(-2px); box-shadow:0 14px 30px -10px color-mix(in srgb, #D9367A 75%, transparent);}
  .btn-ghost{border-color:#F4D9E5; color:#18131A; background:#FFFFFF;}
  .btn-ghost:hover{border-color:#D9367A; color:#D9367A; transform:translateY(-2px);}

  /* ---------- HERO ---------- */
  .hero{position:relative; padding:clamp(3.2rem,7vw,5.2rem) 0 clamp(2.2rem,4vw,3.2rem); overflow:hidden;}
  .hero-mesh{position:absolute; inset:-10% -10% auto -10%; height:120%; z-index:-1; pointer-events:none;
    background:
      radial-gradient(480px 420px at 82% 18%, color-mix(in srgb, #FF3D8F 20%, transparent), transparent 70%),
      radial-gradient(420px 380px at 60% 70%, color-mix(in srgb, #FF8DBB 16%, transparent), transparent 70%),
      radial-gradient(320px 300px at 10% 10%, color-mix(in srgb, #FF3D8F 8%, transparent), transparent 70%);
    filter:blur(10px);
  }
  .hero-inner{display:grid; grid-template-columns:1.35fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:center;}
  @media (max-width:980px){ .hero-inner{grid-template-columns:1fr;} }

  .hero h1{font-size:clamp(2.1rem,3.8vw,3.15rem); margin-top:0.9rem; max-width:19ch;}
  .hero-sub{max-width:56ch; font-size:1.08rem; color:#665A61; margin-top:1.4rem;}
  .hero-cta{display:flex; gap:0.9rem; flex-wrap:wrap; margin-top:2rem;}

  .hero-visual{position:relative; height:clamp(340px,38vw,480px);}
  @media (max-width:977px){ .hero-visual{display:none;} }
  .hv-blob{position:absolute; width:70%; height:70%; top:15%; left:15%; border-radius:50%; background:radial-gradient(circle, color-mix(in srgb, #FF3D8F 55%, transparent), transparent 70%); filter:blur(50px); z-index:0;}
  .panel{position:absolute; border-radius:18px; border:1px solid #F4D9E5; background:#FFFFFF; box-shadow:0 30px 60px -24px rgb(24 19 26 / 0.32); overflow:hidden;}
  .panel-back{width:min(72%,340px); top:6%; right:2%; transform:rotate(-4deg);}
  .panel-bar{display:flex; align-items:center; gap:5px; padding:0.55rem 0.7rem; background:#FFF1F6; border-bottom:1px solid #F4D9E5;}
  .panel-bar i{width:7px; height:7px; border-radius:50%; background:#F4D9E5;}
  .panel-bar .addr{margin-left:0.5rem; font-size:0.62rem; font-weight:700; letter-spacing:0.02em; color:#665A61; background:#FFFFFF; border:1px solid #F4D9E5; border-radius:6px; padding:0.1rem 0.5rem;}
  .panel-body{padding:0.9rem; display:flex; flex-direction:column; gap:0.55rem;}
  .pb-block{border-radius:8px; background:#FFE1EF;}
  .pb-1{height:34px; width:70%;}
  .pb-2{height:14px; width:90%; background:#FFF1F6; border:1px solid #F4D9E5;}
  .pb-row{display:flex; gap:0.5rem; margin-top:0.3rem;}
  .pb-chip{flex:1; height:38px; border-radius:8px; background:#FFF1F6; border:1px solid #F4D9E5;}

  .panel-code{width:min(56%,220px); left:0%; bottom:6%; transform:rotate(5deg); background:#221420; border-color:color-mix(in srgb, #221420 60%, #F4D9E5); z-index:2;}
  .panel-code .panel-bar{background:color-mix(in srgb, #221420 85%, #000); border-color:transparent;}
  .code-line{margin:0; padding:0.15rem 0.9rem; font-size:0.68rem; font-weight:600; color:#F3D9E8; white-space:pre;}
  .code-line.accent{color:#FF8DBB;}
  .panel-code .panel-body{padding:0.5rem 0 0.8rem;}

  .float-chip{position:absolute; background:#FFFFFF; border:1px solid #F4D9E5; border-radius:12px; padding:0.5rem 0.85rem; font-size:0.78rem; font-weight:700; box-shadow:0 14px 28px -16px rgb(24 19 26 / 0.3); animation:floatY 6s ease-in-out infinite; z-index:3;}
  .fc-1{top:0%; left:6%; animation-delay:0s;}
  .fc-2{bottom:16%; right:0%; animation-delay:1.3s;}
  .fc-3{top:46%; left:-4%; animation-delay:0.6s;}
  @media (prefers-reduced-motion: reduce){ .float-chip{animation:none;} }
  @keyframes floatY{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
  @media (max-width:640px){ .panel-back{width:80%;} .panel-code{width:64%;} .fc-3{display:none;} }

  .hr-code{display:flex; align-items:center; gap:1rem; margin:clamp(1.5rem,4vw,2.5rem) 0 0;}
  .hr-code::before, .hr-code::after{content:""; flex:1; height:1px; background:#F4D9E5;}
  .hr-code span{font-size:0.78rem; font-weight:700; color:#665A61; border:1px solid #F4D9E5; border-radius:8px; padding:0.3rem 0.7rem; background:#FFFFFF;}

  /* ---------- SECTIONS ---------- */
  section{padding:clamp(3.2rem,6.5vw,5.5rem) 0;}
  .section.soft{background:#FFFFFF; border-top:1px solid #F4D9E5; border-bottom:1px solid #F4D9E5;}
  .section-head{max-width:640px; margin-bottom:clamp(2rem,4vw,3rem);}
  .section-head h2{font-size:clamp(1.8rem,3.4vw,2.35rem);}
  .section-head p{color:#665A61; margin-top:0.7rem; font-size:1.03rem;}

  /* ---------- PROJECTS (bento) ---------- */
  .bento{display:flex; flex-direction:column; gap:1.4rem;}
  .bento-row{display:grid; grid-template-columns:1fr 1fr; gap:1.4rem;}
  @media (max-width:820px){ .bento-row{grid-template-columns:1fr;} }

  .proj{border-radius:24px; overflow:hidden; border:1px solid #F4D9E5; background:#FFFFFF; box-shadow:0 26px 50px -30px rgb(24 19 26 / 0.22); transition:box-shadow .3s ease, transform .3s ease;}
  .proj:hover{box-shadow:0 36px 66px -28px rgb(24 19 26 / 0.3); transform:translateY(-3px);}

  .proj-media{position:relative; overflow:hidden; display:block; cursor:pointer;}
  .proj-media img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease;}
  .proj-media:hover img, .proj-media:focus-visible img{transform:scale(1.04);}
  .proj-feature .proj-media{aspect-ratio:2.3/1;}
  .proj-sm .proj-media{aspect-ratio:16/10.5;}
  @media (max-width:640px){ .proj-feature .proj-media{aspect-ratio:4/3;} }
  .thumb-fill{position:absolute; inset:0; background:repeating-linear-gradient(135deg, #FFF1F6, #FFF1F6 12px, #FFE1EF 12px, #FFE1EF 24px); transition:transform .6s ease; display:flex; align-items:center; justify-content:center; gap:0.5rem; color:#665A61; font-size:0.8rem; text-align:center; padding:1rem;}
  .proj-media:hover .thumb-fill, .proj-media:focus-visible .thumb-fill{transform:scale(1.04);}
  .plus-mark{width:36px; height:36px; border-radius:50%; border:1.5px dashed #665A61; display:flex; align-items:center; justify-content:center; font-size:1.2rem; font-weight:300; color:#665A61; background:color-mix(in srgb, #FFFFFF 65%, transparent);}

  .proj-media::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, color-mix(in srgb, #FF3D8F 4%, transparent), color-mix(in srgb, #FF3D8F 26%, transparent)); opacity:0; transition:opacity .35s ease; pointer-events:none;}
  .proj-media:hover::after, .proj-media:focus-visible::after{opacity:1;}
  .proj-media:focus-visible{outline:2px solid #D9367A; outline-offset:3px;}

  .proj-view-icon{position:absolute; right:14px; bottom:14px; width:36px; height:36px; border-radius:50%; background:color-mix(in srgb, #FFFFFF 88%, transparent); color:#D9367A; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 22px -10px rgb(24 19 26 / 0.4); backdrop-filter:blur(4px); transition:transform .3s ease, opacity .3s ease, background .3s ease, color .3s ease; opacity:0.9;}
  @media (hover:hover) and (pointer:fine){
    .proj-view-icon{opacity:0; transform:translate(6px,6px);}
    .proj-media:hover .proj-view-icon, .proj-media:focus-visible .proj-view-icon{opacity:1; transform:translate(0,0); background:#D9367A; color:#fff;}
  }

  .proj-info{padding:clamp(1.4rem,3vw,1.9rem) clamp(1.4rem,3vw,1.9rem) clamp(1.6rem,3vw,2rem);}
  .proj-head{display:flex; align-items:center; justify-content:space-between; gap:1rem;}
  .proj-head h3{font-size:clamp(1.2rem,2.2vw,1.55rem);}
  .proj-title-link{color:#18131A; text-decoration:none; transition:color .25s ease; border-radius:4px;}
  .proj-title-link:hover, .proj-title-link:focus-visible{color:#D9367A;}
  .proj-title-link:focus-visible{outline:2px solid #D9367A; outline-offset:3px;}

  .proj-desc-wrap{margin-top:0.7rem;}
  .proj-desc{color:#665A61; font-size:0.95rem; max-width:54ch; line-height:1.55; overflow:hidden; transition:max-height .45s cubic-bezier(.4,0,.2,1);}
  .proj-desc.is-clamped{display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2;}
  .proj-feature .proj-desc{font-size:1.02rem; max-width:64ch;}
  @media (prefers-reduced-motion: reduce){ .proj-desc{transition:none;} }

  .proj-more-btn{display:inline-flex; align-items:center; gap:0.3rem; margin-top:0.5rem; background:none; border:none; padding:0; font:inherit; font-size:0.82rem; font-weight:700; color:#D9367A; cursor:pointer;}
  .proj-more-btn:hover{text-decoration:underline;}
  .proj-more-btn:focus-visible{outline:2px solid #D9367A; outline-offset:3px; border-radius:4px;}
  .proj-more-btn[hidden]{display:none;}
  .proj-more-arrow{transition:transform .3s ease; flex:none;}
  .proj-more-btn[aria-expanded="true"] .proj-more-arrow{transform:rotate(180deg);}

  .proj-stack{display:flex; flex-wrap:wrap; gap:0.45rem; margin-top:1.1rem;}
  .proj-stack span{font-size:0.72rem; font-weight:700; color:#D9367A; background:#FFE1EF; padding:0.28rem 0.7rem; border-radius:999px;}

  .meta-label{display:block; font-size:0.68rem; font-weight:800; letter-spacing:0.12em; text-transform:uppercase; color:#665A61;}
  .meta-value{display:block; margin-top:0.35rem; font-size:0.92rem; font-weight:600; color:#18131A;}

  /* ---------- FOCUS / AREAS ---------- */
  .service-grid{display:grid; grid-template-columns:1fr; gap:1.3rem;}
  @media (min-width:560px){ .service-grid{grid-template-columns:repeat(2,1fr);} }
  @media (min-width:1180px){ .service-grid{grid-template-columns:repeat(4,1fr);} }
  .service-card{background:#FFFFFF; border:1px solid #F4D9E5; border-radius:20px; padding:1.8rem 1.6rem; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
  .service-card:hover{transform:translateY(-5px); box-shadow:0 24px 46px -26px rgb(24 19 26 / 0.28); border-color:#FF8DBB;}
  .s-icon{width:44px; height:44px; border-radius:12px; background:#FFE1EF; color:#D9367A; display:flex; align-items:center; justify-content:center; margin-bottom:1.1rem;}
  .service-card h3{font-size:1.1rem;}
  .service-card p{color:#665A61; font-size:0.94rem; margin-top:0.55rem;}
  .service-card .sub-note{margin-top:0.6rem; font-size:0.8rem; color:#D9367A; font-weight:700;}

  /* ---------- ABOUT ---------- */
  .about-grid{display:grid; grid-template-columns:300px 1fr; gap:clamp(2rem,5vw,3.5rem); align-items:start;}
  @media (max-width:760px){ .about-grid{grid-template-columns:1fr;} }
  .photo-frame{aspect-ratio:1/1.05; border-radius:22px; overflow:hidden; border:1px solid #F4D9E5; background:linear-gradient(160deg, #FFF1F6, #FFFFFF); position:relative; position:sticky; top:100px;}
  @media (max-width:760px){ .photo-frame{position:static;} }
  .photo-frame img{width:100%; height:100%; object-fit:cover; object-position:50% 22%; display:block;}
  .photo-placeholder{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.7rem; color:#D9367A;}
  .photo-mono{width:72px; height:72px; border-radius:50%; background:linear-gradient(135deg, #FF3D8F, #FF8DBB); color:#fff; font-size:1.6rem; font-weight:800; display:flex; align-items:center; justify-content:center;}
  .photo-placeholder span{font-size:0.7rem; font-weight:700; color:#665A61; border:1.5px dashed #665A61; border-radius:999px; padding:0.25rem 0.7rem;}
  .about-text h2{font-size:clamp(1.8rem,3.6vw,2.3rem);}
  .about-text p{color:#665A61; margin-top:1rem; max-width:60ch; font-size:1.03rem;}
  .stat-row{display:flex; gap:clamp(1.6rem,4vw,2.6rem); flex-wrap:wrap; margin-top:2rem; padding-top:1.6rem; border-top:1px solid #F4D9E5;}
  .stat-row b{display:block; font-size:1.55rem; font-weight:800; color:#D9367A; letter-spacing:-0.02em;}
  .stat-row span{font-size:0.83rem; color:#665A61;}
  .stat-wide{max-width:230px;}
  .stat-desc{display:block; margin-top:0.4rem; font-size:0.92rem; font-weight:600; color:#18131A;}

  /* ---------- TECH ---------- */
  .tech-panel{background:#FFFFFF; border:1px solid #F4D9E5; border-radius:24px; padding:clamp(1.2rem,2.6vw,1.6rem) 0; overflow:hidden;}
  .tech-rows{display:flex; flex-direction:column; gap:1.75rem;}
  .tech-marquee{overflow:hidden; padding:0 clamp(1.3rem,3vw,1.8rem); -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
  .marquee-track{display:flex; gap:0.55rem; width:max-content; animation:scrollX 60s linear infinite;}
  .marquee-track.marquee-top{animation-duration:42s; animation-direction:reverse;}
  .tech-marquee:hover .marquee-track{animation-play-state:paused;}
  @keyframes scrollX{from{transform:translateX(0);} to{transform:translateX(-50%);}}

  /* above 870px: top row is static (no animation, no duplicate pills) */
  @media (min-width:871px){
    .tech-marquee--top{overflow:visible; -webkit-mask-image:none; mask-image:none;}
    .marquee-track.marquee-top{animation:none; flex-wrap:wrap; width:auto; justify-content:flex-start; transform:none;}
    .marquee-track.marquee-top .dup{display:none;}
  }

  .m-pill{font-size:0.8rem; font-weight:700; color:#18131A; background:#FFE1EF; border:1px solid #F4D9E5; padding:0.48rem 1rem; border-radius:999px; white-space:nowrap;}
  .m-pill.is-main{color:#fff; background:#D9367A; border-color:#D9367A; font-weight:800;}

  /* ---------- CONTACT ---------- */
  .contact-panel{position:relative; overflow:hidden; border-radius:32px; border:1px solid #F4D9E5; background:#FFFFFF; padding:clamp(2rem,5vw,3.5rem);}
  .cta-glow{position:absolute; border-radius:50%; filter:blur(60px); z-index:0; pointer-events:none;}
  .cta-glow.g1{width:320px; height:320px; top:-120px; right:-80px; background:radial-gradient(circle, color-mix(in srgb, #FF3D8F 40%, transparent), transparent 70%);}
  .cta-glow.g2{width:240px; height:240px; bottom:-100px; left:-60px; background:radial-gradient(circle, color-mix(in srgb, #FF8DBB 36%, transparent), transparent 70%);}
  .cta-split{position:relative; z-index:1; display:grid; grid-template-columns:1fr 0.95fr; gap:clamp(2rem,5vw,3.5rem); align-items:start;}
  @media (max-width:900px){ .cta-split{grid-template-columns:1fr;} }
  .cta-headline{font-size:clamp(1.9rem,4vw,2.6rem); margin-top:0.7rem;}
  .cta-desc{color:#665A61; max-width:46ch; margin-top:1.1rem; font-size:1.05rem;}
  .contact-actions{display:flex; gap:0.9rem; flex-wrap:wrap; margin-top:1.7rem;}

  .info-card{background:#FFFFFF; border:1px solid #F4D9E5; border-radius:22px; padding:clamp(1.4rem,3vw,1.8rem); display:flex; flex-direction:column; gap:1rem; max-width:340px;}
  .info-card > div{padding-bottom:1rem; border-bottom:1px solid #F4D9E5;}
  .info-card > div:last-child{padding-bottom:0; border-bottom:none;}

  /* ---------- FOOTER ---------- */
  footer{padding:clamp(2.5rem,5vw,3.5rem) 0 2.5rem; border-top:1px solid #F4D9E5;}
  .footer-grid{display:flex; flex-wrap:wrap; justify-content:space-between; gap:2rem;}
  .footer-brand{max-width:26ch;}
  .footer-logo-row{display:flex; align-items:center; gap:0.9rem; margin-bottom:0.5rem;}
  .footer-logo{height:80px; width:auto; display:block;}
  @media (max-width:480px){ .footer-logo{height:60px;} }
  .footer-brand .wordmark{font-weight:800; font-size:1.3rem; letter-spacing:-0.02em;}
  .footer-brand p{color:#665A61; margin-top:0.5rem; font-size:0.92rem;}
  .footer-col h4{font-size:0.72rem; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; color:#665A61; margin-bottom:0.9rem;}
  .footer-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0.6rem;}
  .footer-col a{text-decoration:none; color:#18131A; font-size:0.92rem; font-weight:600;}
  .footer-col a:hover{color:#D9367A;}
  .footer-bottom{margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid #F4D9E5; font-size:0.82rem; color:#665A61; display:flex; justify-content:space-between; flex-wrap:wrap; gap:0.6rem;}
  .footer-bottom a{color:#665A61; font-weight:700; text-decoration:underline; text-underline-offset:2px; transition:color .25s ease;}
  .footer-bottom a:hover{color:#D9367A;}