/* Cartano · Warm Studio editorial landing
   Scope: marketing homepage only. Discovery flow, API, admin and privacy stay unchanged. */
/* Font stacks are local-first: do not contact a third-party font CDN.
   Self-host approved webfonts only after license/privacy review. */
body.ws-home {
  --ws-bg:#f7f6f2; --ws-paper:#fff; --ws-ink:#233331;
  --ws-muted:#586b63; --ws-accent:#286b5c; --ws-accent-hover:#205747;
  --ws-mint:#d9e9df; --ws-rule:#dedfd8; --ws-warm:#f1ede5;
  --ws-shadow:0 16px 48px rgba(32,55,45,.05);
  background:var(--ws-bg);color:var(--ws-ink);color-scheme:light;
  font-family:'Instrument Sans',Inter,ui-sans-serif,system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;
}
body.ws-home .ambient{display:none}
body.ws-home .shell{width:min(1310px,calc(100% - 96px))}
body.ws-home header{min-height:94px;padding:18px 0;border-bottom:1px solid var(--ws-rule);gap:22px}
body.ws-home .logo{color:var(--ws-ink);font-family:'Newsreader','Iowan Old Style',Baskerville,Georgia,serif;font-size:40px;font-weight:600;letter-spacing:-.056em;gap:0;line-height:1}
body.ws-home .logo-mark{display:none}
body.ws-home .logo span:last-child{color:var(--ws-accent)}
body.ws-home .nav-links{gap:30px;margin-right:0}
body.ws-home .nav-links a{font-size:14px;font-weight:600;color:#3d5249;text-decoration:none;transition:color .18s}
body.ws-home .nav-links a:hover{color:var(--ws-accent)}
body.ws-home .nav-cta{background:var(--ws-accent);color:#fff;border:1px solid var(--ws-accent);border-radius:9px;padding:13px 18px;font-size:14px;box-shadow:none;font-weight:650;transition:background .18s,transform .18s}
body.ws-home .nav-cta:hover{background:var(--ws-accent-hover);transform:translateY(-1px)}
body.ws-home .main{min-height:0}
body.ws-home .smallfooter{color:#66776d;border-top:1px solid var(--ws-rule);margin-top:0;gap:16px;flex-wrap:wrap}
body.ws-home .smallfooter a{color:var(--ws-accent)!important}
body.ws-home :is(button,a,summary):focus-visible{outline:3px solid #317c65;outline-offset:4px}
.ws-landing{--ws-serif:'Newsreader',Georgia,serif;color:var(--ws-ink)}
.ws-landing :is(h1,h2,h3,p){overflow-wrap:break-word}
.ws-landing a{text-decoration:none}
.ws-landing button{font-family:inherit}
.ws-eyebrow{display:block;font-size:12px;line-height:1.5;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--ws-accent)}
.ws-hero{text-align:center;position:relative;padding:104px 0 92px}
.ws-hero::before{content:"";position:absolute;z-index:0;top:-125px;left:50%;width:min(720px,100vw);height:460px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(217,233,223,.39),transparent 71%);pointer-events:none}
.ws-hero>*{position:relative;z-index:1}
.ws-hero h1{font-family:var(--ws-serif);font-size:clamp(55px,6.8vw,102px);line-height:.985;font-weight:500;letter-spacing:-.041em;max-width:1050px;margin:26px auto 27px}
.ws-hero h1 .ws-highlight{color:var(--ws-accent)}
.ws-hero-lede{font-size:clamp(17px,1.6vw,20px);line-height:1.64;letter-spacing:-.009em;color:var(--ws-muted);max-width:685px;margin:0 auto}
.ws-actions{display:flex;justify-content:center;align-items:center;gap:26px;flex-wrap:wrap;margin-top:35px}
.ws-primary{display:inline-flex;justify-content:center;align-items:center;gap:15px;background:var(--ws-accent);color:#fff!important;border:1px solid var(--ws-accent);border-radius:9px;padding:15px 21px;font-size:15px;font-weight:650;cursor:pointer;transition:background .18s,transform .18s}
.ws-primary:hover{background:var(--ws-accent-hover);transform:translateY(-2px)}
.ws-secondary{font-weight:650;font-size:15px;color:var(--ws-accent)!important;display:inline-flex;align-items:center;gap:12px;border-bottom:1px solid #a9c1b4;padding:10px 0;transition:border-color .18s}
.ws-secondary:hover{border-color:var(--ws-accent)}
.ws-micro{font-size:14px;color:#64766c;line-height:1.65;margin:20px 0 0}
.ws-preview-note{font-size:14px;line-height:1.6;max-width:610px;color:#69776f;margin:22px auto 0}
/* Conversion: compact three-step preview, editorial landing only. */
.ws-demo-steps{list-style:none;display:flex;flex-wrap:wrap;gap:10px 15px;margin:24px 0 15px;padding:0}
.ws-demo-steps li{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:650;line-height:1.55;color:#354e42;white-space:normal}
.ws-demo-steps li span{display:inline-grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;border:1px solid #bad3c4;background:#e6f1e9;color:#245e4c;font-size:11px;font-weight:750}
.ws-demo-safe{font-size:13px!important;line-height:1.6!important;color:#567a67!important;margin:0 0 20px!important}
.ws-landing #demo{scroll-margin-top:35px}
body.ws-home .ws-secondary:focus-visible,body.ws-home .ws-link:focus-visible{outline:3px solid #317c65;outline-offset:4px}
@media(max-width:790px){.ws-demo-steps{gap:10px}.ws-demo-steps li{flex-basis:100%}.ws-demo-safe{font-size:12px!important}}
.ws-demo-kicker{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:1px solid var(--ws-rule);padding-bottom:17px;margin-bottom:18px}
.ws-demo-kicker span:first-child{color:var(--ws-accent);font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.ws-demo-kicker span:last-child{color:#708075;font-size:13px}
.ws-comparison{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:17px;border:1px solid #e2e5de;background:#fff;box-shadow:var(--ws-shadow)}
.ws-before,.ws-after{padding:38px 40px;min-width:0}
.ws-before{background:var(--ws-warm);border-right:1px solid #e0ded6}
.ws-after{background:#fcfdfb}
.ws-case-label{font-size:12px;line-height:1.5;letter-spacing:.13em;font-weight:700;text-transform:uppercase;color:#8a7158}
.ws-after .ws-case-label{color:var(--ws-accent)}
.ws-comparison h2{font-family:var(--ws-serif);font-weight:500;font-size:clamp(30px,2.9vw,42px);line-height:1.08;letter-spacing:-.035em;margin:16px 0 11px}
.ws-comparison p{font-size:16px;line-height:1.65;color:var(--ws-muted);margin:0 0 24px;max-width:495px}
.ws-tools{display:flex;flex-wrap:wrap;gap:9px}
.ws-tools span{background:#fffaf3;border:1px solid #e5ddd1;border-radius:8px;padding:10px 13px;font-size:14px;color:#5f5a51}
.ws-app{border:1px solid #dbe4dc;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 8px 28px rgba(34,54,42,.05)}
.ws-app-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e8ede7}
.ws-app-head strong{font-size:14px;color:#2c4137}
.ws-app-new{font-size:12px;padding:6px 9px;background:#e5f2e9;color:#215d48;border-radius:5px}
.ws-app-table{width:100%;border-collapse:collapse;font-size:13px;color:#354940}
.ws-app-table th{color:#687b6e;text-transform:uppercase;font-size:10px;letter-spacing:.08em;font-weight:600}
.ws-app-table th,.ws-app-table td{padding:12px 13px;text-align:left;border-bottom:1px solid #eff1eb}
.ws-app-table tr:last-child td{border-bottom:0}
.ws-state{display:inline-block;padding:5px 7px;border-radius:5px;white-space:nowrap;font-size:11px;background:#e6f2e8;color:#24634c}
.ws-state.is-pending{background:#f0f1ef;color:#5e6b62}
.ws-note{font-size:13px;line-height:1.65;color:#718075;margin:14px 0 0}
.ws-section{padding:112px 0;border-top:1px solid var(--ws-rule)}
.ws-section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:90px;align-items:end;margin:20px 0 52px}
.ws-section h2,.ws-closing h2{font-family:var(--ws-serif);font-weight:500;font-size:clamp(48px,5vw,76px);line-height:1.04;letter-spacing:-.038em;margin:0}
.ws-section-head p{font-size:18px;line-height:1.7;color:var(--ws-muted);max-width:425px;margin:0 0 7px}
.ws-problem-list{border-top:1px solid var(--ws-rule)}
.ws-problem{display:grid;grid-template-columns:130px minmax(0,1fr) minmax(280px,.8fr);gap:24px;align-items:start;padding:30px 3px;border-bottom:1px solid var(--ws-rule)}
.ws-problem-no{color:var(--ws-accent);font-size:13px;font-weight:700;letter-spacing:.07em}
.ws-problem h3{font-family:var(--ws-serif);font-weight:500;font-size:clamp(28px,2.7vw,37px);letter-spacing:-.025em;line-height:1.12;margin:0}
.ws-problem p{color:var(--ws-muted);font-size:16px;line-height:1.65;margin:1px 0}
.ws-feature{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;background:#e7eee8;padding:50px;border-radius:17px;margin-top:28px}
.ws-feature h3{font-family:var(--ws-serif);font-size:clamp(34px,3.5vw,53px);font-weight:500;line-height:1.09;letter-spacing:-.035em;margin:18px 0}
.ws-feature p{font-size:17px;color:var(--ws-muted);line-height:1.68;max-width:490px;margin:0 0 24px}
.ws-link{display:inline-flex;gap:12px;align-items:center;color:var(--ws-accent)!important;border-bottom:1px solid #91ad9d;padding:0 0 8px;font-size:15px;font-weight:700}
.ws-link:hover{border-color:var(--ws-accent)}
.ws-dashboard{border:1px solid #d5e0d6;background:#fff;border-radius:11px;overflow:hidden;box-shadow:0 20px 45px rgba(34,54,42,.08)}
.ws-dashboard-top{background:#274a40;color:#fff;padding:17px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}
.ws-dashboard-badge{color:#b9dbca;font-size:12px}
.ws-dashboard-label{color:#657b6c;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700;margin:19px 20px 8px}
.ws-dashboard-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 20px;border-top:1px solid #eff2ed;font-size:14px;color:#344d3f}
.ws-dashboard-item span:last-child{font-size:12px;color:#39705a;white-space:nowrap}
.ws-examples-row{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:32px}
.ws-mini-example{border-top:1px solid #b7c8bc;padding-top:20px}
.ws-mini-example strong{display:block;font-size:12px;color:var(--ws-accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:15px}
.ws-mini-example h3{font-family:var(--ws-serif);font-weight:500;font-size:31px;line-height:1.12;margin:0 0 10px}
.ws-mini-example p{font-size:16px;color:var(--ws-muted);line-height:1.7;margin:0}
.ws-method{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:48px}
.ws-method-step{border-top:2px solid #bdd1c4;padding-top:24px}
.ws-method-step strong{font-size:13px;color:var(--ws-accent);letter-spacing:.1em}
.ws-method-step h3{font-family:var(--ws-serif);font-size:34px;font-weight:500;letter-spacing:-.03em;line-height:1.12;margin:27px 0 12px}
.ws-method-step p{font-size:16px;line-height:1.68;color:var(--ws-muted);margin:0}
.ws-method-note{color:#617269;font-size:15px;line-height:1.7;margin:30px 0 0}
.ws-studio{background:#f0f1eb;border-radius:16px;padding:60px;display:grid;grid-template-columns:.6fr 1.4fr;gap:70px}
.ws-studio-id{border-top:1px solid #cbd5c9;padding-top:19px;font-family:var(--ws-serif);font-size:58px;line-height:1;color:var(--ws-accent);align-self:start}
.ws-studio h2{font-size:clamp(39px,4vw,61px)}
.ws-studio p{font-size:17px;line-height:1.75;color:var(--ws-muted);max-width:710px}
.ws-faq{max-width:940px;margin-top:38px;border-top:1px solid var(--ws-rule)}
.ws-faq details{border-bottom:1px solid var(--ws-rule)}
.ws-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:19px;font-weight:600;padding:25px 3px}
.ws-faq summary::-webkit-details-marker{display:none}
.ws-faq summary::after{content:'+';color:var(--ws-accent);font-size:28px;font-weight:400}
.ws-faq details[open] summary::after{content:'−'}
.ws-faq p{font-size:16px;color:var(--ws-muted);line-height:1.7;max-width:760px;padding:0 36px 26px 3px;margin:0}
.ws-closing{background:#dfece1;border-radius:17px;padding:60px;display:flex;align-items:center;justify-content:space-between;gap:40px;margin:0 0 75px}
.ws-closing h2{font-size:clamp(43px,4.6vw,69px);max-width:620px;margin-top:14px}
.ws-closing p{color:var(--ws-muted);font-size:17px;line-height:1.65;max-width:615px}
.ws-closing .ws-primary{flex-shrink:0}
@keyframes ws-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:no-preference){.ws-hero>.ws-eyebrow,.ws-hero h1,.ws-hero-lede,.ws-hero .ws-actions{animation:ws-enter .56s both cubic-bezier(.2,.8,.2,1)}.ws-hero h1{animation-delay:.07s}.ws-hero-lede{animation-delay:.13s}.ws-hero .ws-actions{animation-delay:.18s}}
@media(max-width:1070px){
  body.ws-home .shell{width:calc(100% - 64px)}
  body.ws-home .nav-links{gap:16px}
  .ws-hero{padding:90px 0 78px}
  .ws-before,.ws-after{padding:28px}
  .ws-feature{gap:25px;padding:34px}
  .ws-section-head{gap:45px}
  .ws-problem{grid-template-columns:95px 1fr minmax(230px,.85fr)}
}
@media(max-width:790px){
  body.ws-home .shell{width:calc(100% - 40px)}
  body.ws-home header{min-height:74px;padding:12px 0}
  body.ws-home .logo{font-size:35px}
  body.ws-home .nav-links{display:none}
  body.ws-home .nav-cta{font-size:12px;padding:10px 12px}
  .ws-hero{padding:82px 0 63px}
  .ws-hero h1{font-size:clamp(47px,10.8vw,75px);line-height:1.035;letter-spacing:-.033em;margin:23px auto}
  .ws-hero-lede{font-size:17px}
  .ws-actions{gap:15px;margin-top:30px}
  .ws-comparison,.ws-feature,.ws-examples-row,.ws-method,.ws-studio{grid-template-columns:1fr}
  .ws-before{border-right:0;border-bottom:1px solid #e0ded6}
  .ws-before,.ws-after{padding:28px 24px}
  .ws-section{padding:75px 0}
  .ws-section-head{display:block;margin-bottom:32px}
  .ws-section h2{font-size:clamp(44px,8.5vw,62px)}
  .ws-section-head p{margin:22px 0 0;font-size:17px}
  .ws-problem{grid-template-columns:75px 1fr;gap:12px;padding:24px 0}
  .ws-problem p{grid-column:2}
  .ws-feature{margin-top:24px}
  .ws-studio{gap:28px;padding:35px}
  .ws-studio-id{font-size:44px}
  .ws-closing{display:block;padding:40px 28px}
  .ws-closing .ws-primary{margin-top:18px}
  .ws-demo-kicker{display:block}
  .ws-demo-kicker span:last-child{display:block;margin-top:9px}
}
@media(max-width:420px){
  body.ws-home .shell{width:calc(100% - 32px)}
  .ws-hero{padding:69px 0 56px}
  .ws-hero h1{font-size:clamp(42px,11vw,48px)}
  .ws-eyebrow{font-size:11px;letter-spacing:.11em}
  .ws-actions{flex-direction:column;gap:7px}
  .ws-primary{width:100%;padding:15px 13px}
  .ws-hero-lede{font-size:16px}
  .ws-comparison h2{font-size:31px}
  .ws-app-table th,.ws-app-table td{padding:10px 7px;font-size:11px}
  .ws-state{font-size:10px}
  .ws-feature{padding:27px 19px}
  .ws-feature h3{font-size:37px}
  .ws-dashboard-top,.ws-dashboard-item{padding:13px}
  .ws-method-step h3{font-size:31px}
  .ws-closing{padding:34px 20px}
  .ws-closing h2{font-size:42px}
}
@media(prefers-reduced-motion:reduce){
  .ws-primary,.ws-secondary,body.ws-home .nav-cta{transition:none!important;transform:none!important;animation:none!important}
  body.ws-home{scroll-behavior:auto}
}
/* Branding ZEROTRENTA: longer logotype and responsive widths. */
body.ws-home .logo{font-size:clamp(27px,3.35vw,38px)}
.ws-studio-id{font-size:clamp(36px,4.2vw,58px);overflow-wrap:anywhere}
@media(max-width:480px){body.ws-home .logo{font-size:29px}}
