:root {
  --paper:#FAFAF7; --sand:#F3F0EA; --surface:#FFFFFF; --border:#E6E3DC;
  --ink:#0F1113; --text:#111111; --text-dim:#3B3B3B; --text-muted:#5B5B5B;
  --coral:#F15A42; --coral-deep:#D94B34; --coral-wash:#FFF1EB;
  --peach:#FCD5B5; --rose:#F7C9D0; --mint:#C3E8D3; --sky:#BDDEEE;
  --lavender:#D8C9F5; --butter:#F6E1A0; --sage:#CBDDC0; --clay:#E8C5B0;
  --radius-sm:6px; --radius:12px; --radius-lg:20px;
  --shadow-float:0 1px 2px rgba(0,0,0,.04), 0 20px 50px rgba(17,17,17,.08);
  --maxw:1120px;
}
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
  font-family:'Plus Jakarta Sans', ui-sans-serif, system-ui, sans-serif;
  background:var(--paper); color:var(--text);
  line-height:1.5; font-size:16px; -webkit-font-smoothing:antialiased;
}
a { text-decoration:none; color:inherit; }
img { max-width:100%; height:auto; display:block; }
ul { list-style:none; }
em { font-style:normal; color:var(--coral); }

.wrap { max-width:var(--maxw); margin:0 auto; }
section { padding:clamp(64px,10vw,120px) 40px; }
.eyebrow {
  font-size:11px; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--text-muted); margin-bottom:14px;
}
h1 { font-size:clamp(40px,7vw,68px); line-height:1.04; letter-spacing:-.03em; font-weight:800; }
h2 { font-size:clamp(28px,3.6vw,40px); line-height:1.15; letter-spacing:-.02em; font-weight:700; }
h3 { font-size:21px; line-height:1.3; font-weight:600; }
.lead { font-size:19px; line-height:1.55; color:var(--text-dim); }
p { color:var(--text-dim); }

.btn { display:inline-block; padding:13px 26px; border-radius:999px;
  font-weight:600; font-size:15.5px; cursor:pointer; border:1.5px solid transparent;
  transition:background .15s,color .15s,border-color .15s; white-space:nowrap; }
.btn-coral { background:var(--coral); color:#fff; }
.btn-coral:hover { background:var(--coral-deep); }
.btn-ghost { background:transparent; color:var(--text); border-color:var(--text); padding:11.5px 24px; }
.btn-ghost:hover { background:var(--text); color:#fff; }
.btn-sm { padding:8.5px 18px; font-size:14px; }
.link-coral { color:var(--coral); font-weight:600; }
.link-coral:hover { color:var(--coral-deep); }

/* Nav */
nav { position:sticky; top:0; z-index:20;
  background:rgba(250,250,247,.9); backdrop-filter:saturate(1.4) blur(8px);
  -webkit-backdrop-filter:saturate(1.4) blur(8px);
  border-bottom:1px solid var(--border); }
.nav-inner { max-width:var(--maxw); margin:0 auto; padding:14px 40px;
  display:flex; align-items:center; gap:22px; }
.brand { font-weight:800; font-size:19px; letter-spacing:-.01em;
  display:inline-flex; align-items:center; gap:8px; }
.brand-dot { width:10px; height:10px; border-radius:50%; background:var(--coral); }
.jump { display:flex; gap:22px; margin-left:10px; }
.jump a { font-size:14.5px; font-weight:500; color:var(--text-dim); }
.jump a:hover { color:var(--coral); }
.nav-spacer { flex:1; }
.langs { display:flex; gap:2px; align-items:center; }
.lang { font-size:12.5px; font-weight:600; color:var(--text-muted);
  padding:5px 9px; border-radius:999px; letter-spacing:.03em; }
.lang:hover { color:var(--coral); }
.lang.active { color:var(--coral); background:var(--coral-wash); }

/* Hero */
.hero { padding:clamp(72px,11vw,120px) 40px clamp(64px,9vw,104px);
  background:radial-gradient(1100px 460px at 80% -12%, #ffe8e2 0%, transparent 56%), var(--paper);
  text-align:center; }
.hero .wrap { max-width:800px; }
.hero h1 { margin-bottom:22px; }
.hero .lead { margin:0 auto; max-width:620px; }
.cta-row { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:30px; }
.micro { color:var(--text-muted); font-size:13px; margin-top:20px; }
.micro b { color:var(--text); }

/* Trust strip */
.trust { background:var(--sand); border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:24px 40px; }
.trust-inner { max-width:var(--maxw); margin:0 auto; display:flex; gap:12px 36px;
  flex-wrap:wrap; justify-content:center; align-items:center; }
.trust span { font-size:13px; font-weight:600; color:var(--text-muted); }
.trust b { color:var(--text); }
.trust .sep { color:var(--border); }

/* Studio */
.studio .head { max-width:660px; }
.studio .head .lead { margin-top:16px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:44px; }
.card { background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius); padding:28px; }
.ico { width:46px; height:46px; border-radius:var(--radius);
  display:grid; place-items:center; font-size:22px; margin-bottom:18px; }
.card h3 { margin-bottom:8px; }
.card p { font-size:15px; }
.bg-clay{background:var(--clay);} .bg-mint{background:var(--mint);}
.bg-lavender{background:var(--lavender);} .bg-sky{background:var(--sky);}
.bg-butter{background:var(--butter);} .bg-sage{background:var(--sage);}

/* Var med */
.varmed { background:var(--sand); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.varmed .head { max-width:680px; }
.varmed .head .lead { margin-top:16px; }
.lane { background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius); padding:30px; display:flex; flex-direction:column; }
.chip { display:inline-flex; align-self:flex-start; padding:6px 13px; border-radius:999px;
  font-size:12px; font-weight:700; margin-bottom:16px; }
.lane h3 { margin-bottom:9px; }
.lane p { font-size:15px; flex:1; }
.lane .link-coral { margin-top:18px; font-size:15px; }

/* Contact */
.contact .head { max-width:620px; margin-bottom:44px; }
.contact .head .lead { margin-top:14px; }
.contact-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:32px; }
.info-card, .form-card { background:var(--surface); border:1px solid var(--border);
  border-radius:var(--radius); padding:32px; }
.info-card h3 { margin-bottom:18px; }
.info-row { display:flex; align-items:center; gap:12px; margin-bottom:14px;
  font-size:15px; color:var(--text-dim); }
.info-row .em { font-size:17px; }
.info-row a { color:var(--coral); font-weight:600; }
.info-note { font-size:14px; color:var(--text-muted); margin-top:18px;
  padding-top:18px; border-top:1px solid var(--border); }
.field { margin-bottom:16px; }
.field label { display:block; font-size:13px; font-weight:600;
  color:var(--text); margin-bottom:6px; }
.field input, .field textarea { width:100%; padding:11px 14px;
  border:1.5px solid var(--border); border-radius:var(--radius-sm);
  font-family:inherit; font-size:15px; background:var(--paper); color:var(--text); }
.field input:focus, .field textarea:focus { outline:none; border-color:var(--coral); }
.field textarea { min-height:120px; resize:vertical; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* Footer */
footer { background:var(--paper); border-top:1px solid var(--border); padding:40px; }
.foot-inner { max-width:var(--maxw); margin:0 auto;
  display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
.foot-inner .brand { font-size:17px; }
.foot-links { display:flex; gap:20px; }
.foot-links a { font-size:14px; color:var(--text-dim); }
.foot-links a:hover { color:var(--coral); }
.foot-copy { font-size:13px; color:var(--text-muted); margin-left:auto; }

/* Focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
  outline:2px solid var(--coral); outline-offset:2px;
}

@media (max-width:880px){
  .nav-inner{ padding:12px 18px; gap:12px; } .jump{ display:none; }
  .brand{ font-size:17px; } .lang{ padding:5px 7px; }
  section{ padding:64px 20px; }
  .hero{ padding:72px 20px 60px; }
  .grid-3{ grid-template-columns:1fr; }
  .contact-grid{ grid-template-columns:1fr; }
  .form-row{ grid-template-columns:1fr; }
  .foot-inner{ flex-direction:column; align-items:flex-start; gap:16px; }
  .foot-copy{ margin-left:0; }
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ transition-duration:.01ms !important; }
}
