:root{
  --navy:oklch(19% 0.01 240);
  --navy-deep:oklch(16% 0.025 258);
  --accent:oklch(30% 0.09 258);
  --teal:oklch(52% 0.08 190);
  --teal-light:oklch(68% 0.1 232);
  --bg:oklch(98% 0.004 240);
  --border:oklch(90% 0.005 240);
  --text-mid:oklch(45% 0.01 240);
  --text-body:oklch(30% 0.01 240);
  --whatsapp:#25D366;
  --star:#F5B400;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);font-family:Helvetica,Arial,sans-serif;color:var(--text-body);}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;}
.wrap{max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,64px);}
.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-size:15px;font-weight:700;padding:16px 28px;border-radius:2px;border:none;cursor:pointer;}
.btn:hover{text-decoration:none;opacity:0.92;}
.btn-outline{display:inline-block;background:transparent;border:1px solid oklch(60% 0.01 240);color:#fff;text-decoration:none;font-size:15px;font-weight:700;padding:16px 28px;border-radius:2px;}
.btn-outline:hover{text-decoration:none;background:oklch(30% 0.01 240 / 0.3);}
.btn-wa{display:inline-flex;align-items:center;gap:10px;background:var(--whatsapp);color:#fff;text-decoration:none;font-size:15px;font-weight:700;padding:16px 28px;border-radius:2px;}
.btn-wa:hover{text-decoration:none;opacity:0.92;}

/* header */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px clamp(20px,4vw,64px);background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;}
.brand img{height:56px;width:auto;object-fit:contain;}
.brand > span{display:flex;flex-direction:column;}
.brand-name{font-size:28px;font-weight:800;font-style:italic;letter-spacing:0.5px;color:var(--teal);white-space:nowrap;line-height:1.1;}
.brand-sub{font-size:11px;font-weight:600;letter-spacing:2px;color:var(--teal);}
.site-nav{display:flex;align-items:center;gap:clamp(16px,3vw,40px);}
.site-nav a{color:var(--navy);text-decoration:none;font-size:15px;font-weight:600;padding-bottom:4px;border-bottom:2px solid transparent;}
.site-nav a:hover{text-decoration:none;}
.site-nav a.active{color:var(--accent);border-bottom-color:var(--accent);}
.header-right{display:flex;align-items:center;gap:12px;}
.header-phone{text-decoration:none;font-size:14px;font-weight:700;color:var(--navy);white-space:nowrap;}
.header-phone:hover{text-decoration:none;}
.wa-pill{display:flex;align-items:center;gap:8px;text-decoration:none;background:var(--whatsapp);color:#fff;font-size:13px;font-weight:700;padding:10px 18px;border-radius:2px;white-space:nowrap;}
.wa-pill:hover{text-decoration:none;opacity:0.92;}
.nav-toggle{display:none;}
.hamburger{display:none;cursor:pointer;padding:8px;}
.hamburger span{display:block;width:26px;height:3px;background:var(--navy);margin:5px 0;border-radius:2px;}

@media (max-width:860px){
  .site-nav{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;gap:0;border-bottom:1px solid var(--border);max-height:0;overflow:hidden;transition:max-height 0.25s ease;}
  .site-nav a{width:100%;padding:16px clamp(20px,4vw,64px);border-bottom:1px solid var(--border);}
  .nav-toggle:checked ~ .site-nav{max-height:240px;}
  .header-phone{display:none;}
  /* two-row mobile header: brand on its own line, actions right-aligned below */
  .site-header{flex-wrap:wrap;row-gap:10px;column-gap:10px;padding:12px clamp(16px,4vw,64px);}
  .brand{order:1;flex:1 1 100%;gap:10px;align-items:center;}
  .brand img{height:48px;}
  .brand > span{min-width:0;}
  .brand-name{font-size:clamp(19px,6.4vw,27px);letter-spacing:0.5px;line-height:1.05;}
  .brand-sub{font-size:clamp(8px,2.6vw,10px);letter-spacing:1.4px;line-height:1.2;}
  .header-right{order:2;margin-left:auto;gap:10px;}
  .hamburger{display:block;order:3;padding:6px 2px 6px 8px;}
  .wa-pill{font-size:12px;gap:6px;padding:9px 14px;}
}

/* hero */
.hero{position:relative;height:clamp(420px,70vh,640px);display:flex;align-items:center;overflow:hidden;background:var(--navy);}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.4s ease;}
.hero-slide.active{opacity:1;}
.hero-overlay{position:absolute;inset:0;background:oklch(15% 0.01 240 / 0.55);pointer-events:none;}
.hero-dots{position:absolute;bottom:20px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:2;}
.hero-dots span{width:8px;height:8px;border-radius:50%;background:oklch(95% 0.01 240 / 0.35);}
.hero-dots span.active{background:oklch(95% 0.01 240);}
.hero-inner{position:relative;max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,64px);width:100%;}
.hero-content{max-width:640px;}
.hero-eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:3px;color:var(--accent);}
.hero h1{font-size:clamp(32px,5vw,58px);font-weight:800;color:#fff;line-height:1.08;margin:16px 0 20px;}
.hero p{font-size:18px;line-height:1.7;color:oklch(90% 0.01 240);margin:0 0 32px;max-width:520px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}

/* icon strip */
.icon-strip{background:#fff;padding:36px clamp(20px,4vw,64px);border-bottom:1px solid var(--border);}
.icon-grid{max-width:1280px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(24px,4vw,56px);}
.icon-item{display:flex;flex-direction:column;align-items:center;gap:12px;text-decoration:none;width:110px;}
.icon-item:hover{text-decoration:none;}
.icon-item span{font-size:13px;font-weight:600;color:var(--text-body);text-align:center;line-height:1.3;}

/* stats */
.stats{max-width:1280px;margin:0 auto;padding:56px clamp(20px,4vw,64px);display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px;text-align:center;border-bottom:1px solid var(--border);}
.stats .num{font-size:40px;font-weight:800;color:var(--accent);}
.stats .label{font-size:13px;font-weight:600;letter-spacing:1px;color:var(--text-mid);margin-top:8px;}

/* about */
.about{background:var(--navy-deep);}
.about-inner{max-width:1760px;margin:0 auto;padding:80px clamp(20px,5vw,96px);display:flex;flex-wrap:wrap;gap:56px;align-items:center;}
.about-img{flex:1.7 1 380px;border-radius:2px;overflow:hidden;}
.about-img img{width:100%;height:auto;display:block;}
.about-text{flex:1 1 380px;max-width:480px;margin-left:auto;}
.about-text .eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--teal-light);}
.about-text h2{font-size:clamp(22px,2.4vw,28px);font-weight:800;color:#fff;margin:14px 0 18px;}
.about-text p{font-size:15px;line-height:1.75;color:oklch(75% 0.01 240);margin:0 0 16px;}
.about-facts{display:flex;flex-direction:column;gap:10px;margin:0 0 28px;padding:18px 0;border-top:1px solid oklch(30% 0.02 258);border-bottom:1px solid oklch(30% 0.02 258);}
.about-facts div{font-size:14px;font-weight:600;color:oklch(88% 0.01 240);}
.btn-light{background:#fff;color:oklch(20% 0.05 258);text-decoration:none;font-size:14px;font-weight:700;padding:14px 24px;border-radius:2px;display:inline-block;}
.btn-light:hover{text-decoration:none;opacity:0.9;}

/* brands */
.brands{background:#fff;padding:40px clamp(20px,4vw,64px);border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;}
.brands-label{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--text-mid);margin-bottom:20px;}
.brand-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:1280px;margin:0 auto;}
.brand-pills span{background:oklch(96% 0.004 240);border:1px solid var(--border);color:var(--text-body);font-size:13px;font-weight:700;padding:8px 18px;border-radius:2px;}

/* services section on home */
.services-band{position:relative;overflow:hidden;background-color:var(--navy-deep);}
.services-band-inner{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:72px clamp(20px,4vw,64px);}
.section-head{text-align:center;max-width:640px;margin:0 auto 48px;}
.section-head .eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--accent);}
.section-head.on-dark .eyebrow{color:oklch(75% 0.09 190);}
.section-head h2{font-size:clamp(26px,3vw,36px);font-weight:800;margin:14px 0 12px;color:var(--navy);}
.section-head.on-dark h2{color:#fff;}
.section-head p{font-size:16px;line-height:1.7;color:var(--text-mid);margin:0;}
.section-head.on-dark p{color:oklch(85% 0.01 240);}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:28px;}
.card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--border);border-radius:2px;overflow:hidden;height:100%;transition:transform 0.15s,box-shadow 0.15s;}
.card:hover{text-decoration:none;transform:translateY(-4px);box-shadow:0 16px 28px oklch(19% 0.01 240 / 0.1);}
.card img{height:170px;width:100%;object-fit:cover;display:block;}
.card-body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1;}
.card-body h3{margin:0;font-size:18px;font-weight:800;color:var(--navy);}
.card-body p{margin:0;font-size:14px;line-height:1.6;color:var(--text-mid);flex:1;}
.card-body .more{font-size:13px;font-weight:700;color:var(--accent);}

/* projects */
.projects{background:#fff;padding:72px clamp(20px,4vw,64px);border-top:1px solid var(--border);}
.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;}
.proj{position:relative;aspect-ratio:4/3;border-radius:2px;overflow:hidden;display:block;text-decoration:none;}
.proj:hover{text-decoration:none;}
.proj img{width:100%;height:100%;object-fit:cover;display:block;}
.proj-grad{position:absolute;inset:0;background:linear-gradient(180deg, transparent 55%, oklch(15% 0.01 240 / 0.85) 100%);}
.proj-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:oklch(100% 0 0 / 0.9);display:flex;align-items:center;justify-content:center;}
.proj-play i{width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:16px solid var(--navy);margin-left:3px;}
.proj-caption{position:absolute;bottom:12px;left:14px;right:14px;color:#fff;font-size:13px;font-weight:600;line-height:1.4;}

/* testimonials */
.testimonials{max-width:1280px;margin:0 auto;padding:72px clamp(20px,4vw,64px);}
.rating-line{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--navy);}
.rating-line .stars{color:var(--star);}
.t-grid{display:flex;gap:24px;max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,64px) 4px;overflow-x:auto;scroll-snap-type:x proximity;}
.t-card{background:#fff;border:1px solid var(--border);border-radius:2px;padding:28px;flex:0 0 300px;scroll-snap-align:start;}
.t-card .stars{color:var(--star);font-size:14px;margin-bottom:10px;}
.t-card p{font-size:15px;line-height:1.7;color:var(--text-body);margin:0 0 18px;}
.t-card .who{font-size:14px;font-weight:700;color:var(--navy);}

/* reach */
.reach{background:#fff;padding:80px clamp(20px,4vw,64px);border-top:1px solid var(--border);}
.reach-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:56px;align-items:center;}
.reach-facts{display:flex;flex-direction:column;gap:36px;}
.reach-facts .eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--accent);}
.reach-num{font-size:52px;font-weight:800;color:oklch(22% 0.08 258);line-height:1;}
.reach-facts p{font-size:15px;line-height:1.6;color:var(--text-mid);margin:10px 0 0;max-width:280px;}
.who-serve{width:100%;max-width:560px;}
.who-serve .eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--accent);display:block;margin-bottom:14px;}
.who-serve p{font-size:15px;line-height:1.7;color:var(--text-mid);margin:0 0 20px;max-width:480px;}
.tag-pills{display:flex;flex-wrap:wrap;gap:10px;}
.tag-pills span{background:oklch(96% 0.004 240);border:1px solid var(--border);color:oklch(25% 0.01 240);font-size:13px;font-weight:600;padding:9px 16px;border-radius:2px;}
.reach-map-col{display:flex;flex-direction:column;gap:28px;align-items:center;}
.reach-map-col img{width:100%;max-width:560px;height:auto;}

/* cta */
.cta{background:var(--navy);padding:64px clamp(20px,4vw,64px);text-align:center;}
.cta h2{color:#fff;font-size:clamp(24px,3vw,34px);font-weight:800;margin:0 0 16px;}
.cta p{color:oklch(75% 0.01 240);font-size:16px;margin:0 0 28px;}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* footer */
.site-footer{background:var(--navy);color:oklch(85% 0.01 240);padding:56px clamp(20px,4vw,64px) 28px;}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px;max-width:1280px;margin:0 auto;}
.footer-grid h4{font-size:14px;font-weight:700;letter-spacing:1px;color:#fff;margin:0 0 18px;}
.footer-links{display:flex;flex-direction:column;gap:13px;}
.footer-links a{color:oklch(78% 0.01 240);text-decoration:none;font-size:16px;}
.footer-links a:hover{text-decoration:underline;}
.footer-contact{display:flex;flex-direction:column;gap:13px;font-size:16px;color:oklch(78% 0.01 240);}
.footer-contact a{color:inherit;text-decoration:none;}
.footer-contact a:hover{text-decoration:underline;}
.footer-brands{font-size:15px;line-height:1.9;color:oklch(75% 0.01 240);margin:0;}
.footer-bottom{max-width:1280px;margin:40px auto 0;padding-top:24px;border-top:1px solid oklch(30% 0.01 240);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px;color:oklch(55% 0.01 240);}
.footer-bottom a{color:oklch(78% 0.01 240);text-decoration:underline;}
.footer-social{display:flex;gap:14px;margin-top:2px;}
.footer-social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:oklch(30% 0.01 240);color:oklch(85% 0.01 240);transition:background .2s,color .2s;}
.footer-social a:hover{background:var(--accent,#c8a24a);color:#fff;}
.footer-social svg{width:18px;height:18px;fill:currentColor;}

/* page header (services/contact/privacy) */
.page-head{max-width:1280px;margin:0 auto;padding:64px clamp(20px,4vw,64px) 40px;text-align:center;}
.page-head .eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--accent);}
.page-head h1{font-size:clamp(30px,4.5vw,48px);font-weight:800;color:var(--navy);margin:14px 0 16px;}
.page-head p{font-size:17px;line-height:1.7;color:var(--text-mid);margin:0 auto;max-width:640px;}
.page-head-media{position:relative;max-width:none;margin:0;padding:120px clamp(20px,4vw,64px);overflow:hidden;}
.page-head-bg{position:absolute;inset:0;background-size:cover;background-position:center;will-change:transform;transform:scale(1);}
.page-head-overlay{position:absolute;inset:0;background:linear-gradient(180deg,oklch(20% 0.03 250 / 0.2),oklch(20% 0.03 250 / 0.3));}
.page-head-content{position:relative;max-width:1280px;margin:0 auto;}
.page-head-media h1,.page-head-media p{color:#fff;}
.page-head-media .eyebrow{color:var(--accent);}

/* services picker (list + panel) */
.svc-intro{max-width:1200px;margin:0 auto;padding:56px clamp(20px,4vw,64px) 8px;text-align:center;}
.svc-intro .eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--accent);}
.svc-intro h2{font-size:clamp(26px,3vw,36px);font-weight:800;margin:14px 0 16px;color:var(--navy);}
.svc-intro p{font-size:16px;line-height:1.7;color:var(--text-mid);max-width:640px;margin:0 auto;}
.svc-picker{max-width:1200px;margin:32px auto 0;padding:56px clamp(20px,4vw,64px);background:var(--navy-deep);border-radius:24px;}
.svc-picker-inner{display:grid;grid-template-columns:340px 1fr;gap:56px;align-items:start;}
.svc-picker-list{display:flex;flex-direction:column;}
.svc-pick{all:unset;display:block;width:100%;text-align:left;font-size:19px;font-weight:700;color:oklch(45% 0.02 250);padding:16px 0;border-bottom:1px solid oklch(30% 0.02 250);cursor:pointer;transition:color .25s;text-decoration:none;}
.svc-pick:hover{color:#fff;}
.svc-pick.active{color:#fff;}
.svc-picker-img{border-radius:20px;overflow:hidden;aspect-ratio:16/9;}
.svc-picker-img img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .3s;}
.svc-picker-panel h3{margin:22px 0 10px;font-size:24px;font-weight:800;color:#fff;}
.svc-picker-panel p{margin:0 0 22px;font-size:15px;line-height:1.7;color:oklch(78% 0.01 240);max-width:600px;}
.svc-picker-actions{display:flex;gap:12px;flex-wrap:wrap;}
.pill-btn{display:inline-flex;align-items:center;padding:14px 26px;border-radius:999px;font-size:14px;font-weight:700;text-decoration:none;}
.pill-btn:hover{text-decoration:none;}
.pill-dark{background:var(--accent);color:#fff;}
.pill-outline{background:transparent;border:1px solid oklch(45% 0.02 250);color:#fff;}
@media(max-width:800px){
  .svc-picker-inner{grid-template-columns:1fr;}
}

/* service detail */
.detail-crumb{max-width:1280px;margin:0 auto;padding:32px clamp(20px,4vw,64px) 8px;font-size:13px;color:var(--text-mid);}
.detail-crumb a{color:inherit;text-decoration:none;}
.detail-crumb a:hover{text-decoration:underline;}
.detail-crumb .current{color:var(--navy);font-weight:600;}
.detail-hero{max-width:1280px;margin:0 auto;padding:24px clamp(20px,4vw,64px) 56px;display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;}
.detail-hero h1{font-size:clamp(30px,4vw,46px);font-weight:800;color:var(--navy);margin:0 0 16px;line-height:1.1;}
.detail-hero .intro{font-size:17px;line-height:1.7;color:oklch(40% 0.01 240);margin:0 0 28px;max-width:520px;}
.detail-hero-img{height:340px;border-radius:2px;overflow:hidden;}
.detail-hero-img img{width:100%;height:100%;object-fit:cover;display:block;}
.detail-actions{display:flex;gap:14px;flex-wrap:wrap;}
.btn-tel{background:transparent;border:1px solid oklch(80% 0.005 240);color:var(--navy);text-decoration:none;font-size:14px;font-weight:700;padding:14px 26px;border-radius:2px;}
.btn-tel:hover{text-decoration:none;background:oklch(96% 0.004 240);}
.detail-cols{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:48px;padding:48px clamp(20px,4vw,64px) 56px;border-top:1px solid var(--border);}
.detail-about{max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,64px) 8px;border-top:1px solid var(--border);padding-top:48px;}
.detail-about h2{font-size:22px;font-weight:800;color:var(--navy);margin:0 0 16px;}
.detail-about p{font-size:16px;line-height:1.75;color:var(--text-mid);max-width:820px;margin:0 0 16px;}
.detail-cols h2{font-size:22px;font-weight:800;color:var(--navy);margin:0 0 20px;}
.bullet-list{display:flex;flex-direction:column;gap:14px;}
.bullet-list div{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.6;color:var(--text-body);}
.bullet-list .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);margin-top:8px;flex-shrink:0;}
.app-tags{display:flex;flex-wrap:wrap;gap:10px;}
.app-tags span{background:oklch(96% 0.004 240);border:1px solid var(--border);color:var(--text-body);font-size:13px;font-weight:600;padding:8px 16px;border-radius:2px;}
.related-wrap{max-width:1280px;margin:0 auto;border-top:1px solid var(--border);padding:48px clamp(20px,4vw,64px) 64px;}
.related-wrap h2{font-size:22px;font-weight:800;color:var(--navy);margin:0 0 24px;}
@media(max-width:760px){.detail-hero{grid-template-columns:1fr;}.detail-hero-img{order:-1;}}

/* contact */
.contact-grid{max-width:1280px;margin:0 auto;padding:0 clamp(20px,4vw,64px) 80px;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px;}
.info-card{background:#fff;border:1px solid var(--border);border-radius:2px;padding:22px;margin-bottom:20px;}
.info-card .label{font-size:12px;font-weight:700;letter-spacing:1px;color:var(--accent);margin-bottom:6px;}
.info-card div,.info-card a{font-size:15px;color:oklch(25% 0.01 240);}
.info-card a{display:block;text-decoration:none;margin-bottom:4px;}
.info-card a:hover{text-decoration:underline;}
.map-embed{height:220px;border-radius:2px;overflow:hidden;}
.map-embed iframe{width:100%;height:100%;border:0;}
.form-card{background:#fff;border:1px solid var(--border);border-radius:2px;padding:32px;display:flex;flex-direction:column;gap:18px;}
.form-card label{display:block;font-size:13px;font-weight:600;color:var(--text-body);margin-bottom:6px;}
.form-card input,.form-card select,.form-card textarea{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid oklch(85% 0.005 240);border-radius:2px;font-size:15px;color:oklch(20% 0.01 240);font-family:inherit;background:#fff;}
.form-card textarea{resize:vertical;}
.form-card button{background:var(--accent);color:#fff;border:none;font-size:15px;font-weight:700;padding:16px;border-radius:2px;cursor:pointer;}
.form-card button:hover{opacity:0.92;}
.form-note{color:oklch(50% 0.18 25);font-size:14px;}
.thanks-card{background:#fff;border:1px solid var(--border);border-radius:2px;padding:48px;text-align:center;}
.thanks-card h2{font-size:20px;font-weight:800;color:var(--navy);margin:0 0 12px;}
.thanks-card p{font-size:15px;line-height:1.7;color:var(--text-mid);margin:0;}

/* privacy */
.legal{max-width:760px;margin:0 auto;padding:64px clamp(20px,4vw,64px) 96px;color:oklch(25% 0.01 240);}
.legal h1{font-size:clamp(28px,4vw,40px);font-weight:800;color:var(--navy);margin:0 0 8px;}
.legal .updated{font-size:14px;color:oklch(50% 0.01 240);margin:0 0 40px;}
.legal h2{font-size:20px;font-weight:700;color:var(--navy);margin:32px 0 12px;}
.legal p{font-size:16px;line-height:1.7;margin:0 0 16px;}

.js-only{display:none;}

/* scroll reveal */
[data-reveal]{opacity:0;transition:opacity 0.9s ease,transform 0.9s cubic-bezier(0.2,0.7,0.3,1);}
[data-reveal="left"]{transform:translateX(-40px);}
[data-reveal="right"]{transform:translateX(40px);}
[data-reveal="up"]{transform:translateY(32px);}
[data-reveal].revealed{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none;}}

/* staggered children reveal */
[data-stagger] > *{opacity:0;transform:translateY(14px);transition:opacity 0.6s ease,transform 0.6s cubic-bezier(0.2,0.7,0.3,1);}
[data-stagger].revealed > *{opacity:1;transform:none;}
[data-stagger].revealed > *:nth-child(1){transition-delay:0.05s;}
[data-stagger].revealed > *:nth-child(2){transition-delay:0.11s;}
[data-stagger].revealed > *:nth-child(3){transition-delay:0.17s;}
[data-stagger].revealed > *:nth-child(4){transition-delay:0.23s;}
[data-stagger].revealed > *:nth-child(5){transition-delay:0.29s;}
[data-stagger].revealed > *:nth-child(6){transition-delay:0.35s;}
[data-stagger].revealed > *:nth-child(7){transition-delay:0.41s;}
[data-stagger].revealed > *:nth-child(8){transition-delay:0.47s;}
@media (prefers-reduced-motion:reduce){[data-stagger] > *{opacity:1;transform:none;transition:none;}}
