
:root{
  --bg:#fff8f2;
  --bg-2:#fff1f0;
  --paper:#fffdfb;
  --ink:#251533;
  --ink-2:#4f4060;
  --muted:#6f6582;
  --line:rgba(93,43,107,.16);
  --orange:#ff8a3d;
  --orange-deep:#ff6c2f;
  --lilac:#cbb2ff;
  --fuchsia:#ff4f9b;
  --plum:#6f2bd2;
  --sand:#ffd8b5;
  --mint:#fff7ed;
  --shadow:0 22px 70px rgba(77,24,70,.12);
  --radius:28px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#fff7f2 0%,#fffdfb 52%,#fff6f7 100%);color:var(--ink);font:18px/1.7 Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}
img{max-width:100%;display:block}
a{color:var(--plum)}
a:hover{color:var(--fuchsia)}
.site-shell{overflow:hidden}
.skip-link{position:absolute;left:-9999px;top:auto}
.skip-link:focus{left:14px;top:14px;background:#fff;padding:10px 14px;border-radius:12px;z-index:100}
.hero,.index-panel,section,.site-footer{width:min(var(--max),calc(100% - 32px));margin-inline:auto}
.hero{position:relative;padding:26px 0 40px}
.hero-topline{display:inline-block;font:700 12px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.7);backdrop-filter:blur(8px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,420px);gap:48px;align-items:center;padding:32px 0 12px}
.micro-label{display:inline-block;margin:0 0 14px;font:800 13px/1.1 ui-monospace, SFMono-Regular, Menlo, monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--fuchsia)}
.micro-label.dark{color:var(--plum)}
.hero h1,.section-heading h2,.index-intro h2{font-family:Georgia, "Iowan Old Style", "Palatino Linotype", serif;letter-spacing:-.04em;line-height:.96;color:#2b1735}
.hero h1{font-size:clamp(44px,7vw,88px);margin:0 0 20px;max-width:11ch}
.lead{font-size:clamp(19px,2.1vw,24px);color:var(--ink-2);max-width:760px;margin:0}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 26px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:14px 22px;border-radius:18px;text-decoration:none;font-weight:800;border:1px solid transparent;transition:.2s ease}
.btn-primary{background:linear-gradient(135deg,var(--orange),#ffb36f);color:#2f1600;box-shadow:0 18px 40px rgba(255,122,48,.28)}
.btn-primary:hover{transform:translateY(-2px)}
.btn-soft{background:#fff;border-color:var(--line);color:var(--plum)}
.btn-soft:hover{background:#fff4fb}
.hero-chips{display:flex;gap:10px;flex-wrap:wrap}
.hero-chips span{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:700;color:var(--ink-2);font-size:14px}
.hero-visual{position:relative;display:grid;gap:18px}
.collage-card,.floating-note,.index-panel,.story-card,.info-pill,.compare-card,.criterion,.warning-card,.reference-box,.faq-item,.quote-box{background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border:1px solid rgba(114,56,138,.12);box-shadow:var(--shadow)}
.collage-card{border-radius:34px;padding:12px;position:relative;z-index:2}
.frame-portrait,.frame-landscape{overflow:hidden;border-radius:24px;background:#f6ecff}
.frame-portrait{aspect-ratio:4/5}
.frame-landscape{aspect-ratio:4/3}
.frame-portrait img,.frame-landscape img{width:100%;height:100%;object-fit:cover;object-position:center}
.frame-lilac{background:linear-gradient(180deg,#f7f0ff,#f5ebff)}
.frame-orange{background:linear-gradient(180deg,#fff1e4,#ffe0ca)}
.frame-fuchsia{background:linear-gradient(180deg,#fff0f7,#ffe3f1)}
.floating-note{border-radius:22px;padding:22px;max-width:290px;justify-self:end;margin-right:-20px;position:relative;z-index:3}
.floating-note strong{display:block;font-size:14px;text-transform:uppercase;letter-spacing:.14em;color:var(--fuchsia);margin-bottom:8px}
.floating-note p{margin:0;color:var(--ink-2);font-size:16px;line-height:1.55}
.shape{position:absolute;border-radius:50%;filter:blur(10px);opacity:.5;z-index:0}
.shape-orange{width:320px;height:320px;background:radial-gradient(circle,var(--sand),transparent 64%);top:-60px;right:-70px}
.shape-fuchsia{width:240px;height:240px;background:radial-gradient(circle,#ffd1e8,transparent 68%);left:-100px;bottom:40px}
section{padding:68px 0}
.index-panel{display:grid;grid-template-columns:1fr 1fr;gap:34px;padding:28px 30px;border-radius:32px;margin-top:8px}
.index-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}
.index-links a{text-decoration:none;padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#fff,#fff6fb);border:1px solid var(--line);font-weight:700;color:var(--ink)}
.index-links a:hover{border-color:rgba(255,79,155,.4);transform:translateY(-1px)}
.section-heading{max-width:900px;margin:0 auto 34px}
.section-heading.center{text-align:center;margin-inline:auto}
.eyebrow{display:inline-block;margin:0 0 8px;font:800 12px/1.1 ui-monospace, SFMono-Regular, Menlo, monospace;letter-spacing:.17em;text-transform:uppercase;color:var(--orange-deep)}
.section-heading h2{font-size:clamp(34px,5vw,68px);margin:0 0 14px}
.section-heading p:last-child{margin:0;color:var(--muted);font-size:19px}
.story-layout{display:grid;grid-template-columns:minmax(0,1.2fr) 320px;gap:26px;align-items:start}
.story-card,.reference-box{border-radius:28px;padding:30px}
.story-card p,.reference-box p,.text-block p,.mosaic-text p{margin:0 0 18px;color:var(--ink-2)}
.story-card p:last-child,.reference-box p:last-child,.text-block p:last-child,.mosaic-text p:last-child{margin-bottom:0}
.accent-left{position:relative}
.accent-left::before{content:"";position:absolute;left:0;top:22px;bottom:22px;width:6px;border-radius:999px;background:linear-gradient(180deg,var(--orange),var(--fuchsia))}
.info-rail{display:grid;gap:18px}
.info-pill{padding:22px;border-radius:24px}
.info-pill span,.criterion span{display:inline-block;font:800 12px/1.1 ui-monospace, SFMono-Regular, Menlo, monospace;letter-spacing:.15em;text-transform:uppercase;color:var(--plum);margin-bottom:10px}
.info-pill strong{display:block;font-size:24px;line-height:1.1;margin-bottom:8px}
.info-pill p{margin:0;color:var(--ink-2)}
.duo-grid{display:grid;grid-template-columns:minmax(0,1.1fr) 420px;gap:34px;align-items:start}
.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:24px 0 0}
.check-grid li{padding:14px 16px;border-radius:18px;background:#fff;border:1px solid var(--line);font-weight:700;color:var(--ink-2)}
.visual-stack{display:grid;gap:18px}
.quote-box{padding:22px;border-radius:24px;background:linear-gradient(135deg,#fff4fd,#fff6ee)}
.quote-box p{margin:0;font-family:Georgia, serif;font-size:24px;line-height:1.3;color:#4c2555}
.contrast-head{max-width:920px;margin-bottom:26px}
.compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.compare-card{padding:26px;border-radius:24px}
.compare-card h3,.criterion h3,.warning-card h3{margin:0 0 12px;font-family:Georgia, serif;letter-spacing:-.03em;font-size:28px;line-height:1.05}
.compare-card ul{margin:0;padding-left:20px;color:var(--ink-2)}
.compare-card p{margin:0;color:var(--ink-2)}
.online-card{background:linear-gradient(180deg,#fff8ef,#fff)}
.presencial-card{background:linear-gradient(180deg,#fff1fb,#fff)}
.neutral-card{background:linear-gradient(180deg,#f9f4ff,#fff)}
.mosaic-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:start}
.mosaic-card{margin:0;padding:0}
.mosaic-card figcaption{padding:14px 4px 0;color:var(--ink-2);font-size:16px}
.mosaic-text{padding:26px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.small-card{grid-column:2/3}
.criteria-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.criterion,.warning-card{padding:24px;border-radius:24px}
.criterion p,.warning-card p{margin:0;color:var(--ink-2)}
.warning-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.reference-section{padding-top:58px}
.reference-box{max-width:980px;margin:0 auto;background:linear-gradient(135deg,#fff4ef,#fff8fd)}
.faq-grid{display:grid;gap:14px}
.faq-item{border-radius:22px;overflow:hidden}
.faq-item summary{list-style:none;cursor:pointer;padding:22px 26px;font-weight:800;color:var(--ink);display:flex;gap:16px;align-items:flex-start;justify-content:space-between}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-size:28px;line-height:1;color:var(--fuchsia);flex:none}
.faq-item[open] summary::after{content:"–"}
.faq-item div{padding:0 26px 24px}
.faq-item p{margin:0;color:var(--ink-2)}
.site-footer{padding:34px 0 60px}
.footer-inner{display:flex;gap:20px;justify-content:space-between;align-items:center;padding-top:22px;border-top:1px solid var(--line)}
.footer-inner p{margin:0;color:var(--muted);font-size:15px}
.footer-inner nav{display:flex;gap:16px;flex-wrap:wrap}
.footer-inner a{text-decoration:none;font-weight:700;color:var(--ink-2)}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease, transform .7s ease}
.reveal.is-visible{opacity:1;transform:none}
@media (max-width:1080px){
  .hero-grid,.index-panel,.story-layout,.duo-grid,.mosaic-grid{grid-template-columns:1fr}
  .compare-grid,.criteria-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .warning-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .floating-note{justify-self:start;margin-right:0;max-width:none}
}
@media (max-width:720px){
  body{font-size:17px}
  .hero,.index-panel,section,.site-footer{width:min(var(--max),calc(100% - 22px))}
  .hero{padding-top:18px}
  .hero h1{font-size:46px;max-width:none}
  .lead{font-size:18px}
  .hero-actions .btn{width:100%}
  .index-panel{padding:22px 18px}
  .index-links{grid-template-columns:1fr}
  .check-grid,.compare-grid,.criteria-grid,.warning-list{grid-template-columns:1fr}
  .small-card{grid-column:auto}
  .section-heading h2{font-size:38px}
  .story-card,.reference-box,.mosaic-text,.criterion,.warning-card,.compare-card,.faq-item summary,.faq-item div{padding-left:18px;padding-right:18px}
  .footer-inner{flex-direction:column;align-items:flex-start}
  .footer-inner nav{gap:12px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
}
