@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');

:root { --bg:#f2f0eb; --surface:#e9e6df; --surface-2:#dedbd3; --ink:#171717; --muted:#6c6a65; --line:rgba(23,23,23,.16); --dark:#171717; --accent:#d8552a; --max:1320px; --ease:cubic-bezier(.2,.8,.2,1); }
[data-theme="dark"] { --bg:#111; --surface:#1a1a1a; --surface-2:#242424; --ink:#f5f3ed; --muted:#9b9a94; --line:rgba(245,243,237,.18); --dark:#f5f3ed; --accent:#ff7650; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--bg); }
body { margin:0; background:var(--bg); color:var(--ink); font-family:'Manrope',Arial,sans-serif; font-size:15px; line-height:1.55; transition:background .35s,color .35s; overflow-x:hidden; }
body.drawer-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button { color:inherit; font:inherit; }
img { display:block; max-width:100%; }
.container { width:min(calc(100% - 48px), var(--max)); margin-inline:auto; }
.section { padding:clamp(76px,10vw,150px) 0; }
.section-index, .kicker, .work-caption span, .business-grid span, .shop-card small, .footer-column span, .community-note span { color:var(--muted); font-family:'DM Mono',monospace; font-size:10px; letter-spacing:.11em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-weight:600; letter-spacing:-.07em; line-height:.94; }
h2 { font-size:clamp(3rem,7vw,7rem); margin-bottom:28px; }
h3 { letter-spacing:-.035em; line-height:1.08; }
em { font-family:'Playfair Display',Georgia,serif; font-weight:500; }
.button { align-items:center; border:0; display:inline-flex; gap:14px; justify-content:center; padding:17px 23px; font-weight:700; font-size:12px; transition:transform .25s var(--ease),background .25s,color .25s; }
.button:hover { transform:translateY(-3px); }
.button-light { background:#f5f3ed; color:#151515; }
.button-dark { background:#161616; color:#f5f3ed; }
.button-accent { background:var(--accent); color:#fff; }
.arrow-link { border-bottom:1px solid var(--ink); display:inline-flex; gap:14px; align-items:center; padding-bottom:7px; font-size:12px; font-weight:700; }
.arrow-link i { transition:transform .25s; }
.arrow-link:hover i { transform:translateX(5px); }

.site-header { background:transparent; color:#fff; position:absolute; inset:0 0 auto; z-index:20; }
.header-inner { align-items:center; display:flex; height:88px; justify-content:space-between; margin:auto; padding:0 32px; width:100%; }
.brand { align-items:center; display:inline-flex; gap:11px; }
.brand-mark { height:37px; object-fit:cover; width:37px; }
.brand-wordmark { font-size:13px; font-weight:800; letter-spacing:-.03em; }
.brand-wordmark em { font-family:inherit; font-style:normal; font-weight:400; }
.desktop-nav { display:flex; gap:31px; left:50%; position:absolute; transform:translateX(-50%); }
.desktop-nav a { font-family:'DM Mono',monospace; font-size:10px; letter-spacing:.1em; opacity:.7; text-transform:uppercase; transition:opacity .2s; }
.desktop-nav a:hover,.desktop-nav a.active { opacity:1; }
.header-actions { align-items:center; display:flex; gap:18px; }
.header-social,.theme-toggle { align-items:center; background:transparent; border:0; cursor:pointer; display:flex; font-size:14px; justify-content:center; padding:7px; }
.theme-toggle { border-left:1px solid rgba(255,255,255,.35); padding-left:21px; }
.menu-toggle { background:transparent; border:0; cursor:pointer; display:none; gap:5px; padding:8px 0 8px 8px; }
.menu-toggle span { background:currentColor; display:block; height:1px; width:24px; }
.mobile-drawer,.drawer-backdrop { display:none; }

.hero { color:#fff; height:min(900px,100svh); min-height:660px; overflow:hidden; position:relative; }
.hero-media,.hero-slide,.hero-slide img,.hero-shade { height:100%; inset:0; position:absolute; width:100%; }
.hero-slide { opacity:0; transition:opacity 1s; }
.hero-slide.is-active { opacity:1; }
.hero-zoom { background:transparent; border:0; cursor:zoom-in; inset:0; position:absolute; z-index:1; }
.hero-slide img { object-fit:cover; object-position:center; }
.hero-shade { background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.14) 70%),linear-gradient(0deg,rgba(0,0,0,.46),transparent 42%); pointer-events:none; }
.hero-content { padding-top:clamp(180px,30vh,290px); position:relative; z-index:2; }
.kicker { color:rgba(255,255,255,.65); display:flex; gap:12px; align-items:center; }
.kicker span { background:currentColor; height:1px; width:30px; }
.hero h1 { font-size:clamp(4.7rem,11.5vw,11rem); margin:40px 0 28px; max-width:860px; }
.hero h1 em { color:#d9d5cc; }
.hero-copy { color:rgba(255,255,255,.78); font-size:clamp(16px,1.5vw,20px); max-width:420px; }
.hero-actions { align-items:center; display:flex; gap:25px; margin-top:35px; }
.hero-text-link { border-bottom:1px solid rgba(255,255,255,.55); font-size:12px; padding-bottom:7px; }
.hero-meta { bottom:35px; color:rgba(255,255,255,.62); display:flex; font-family:'DM Mono',monospace; font-size:10px; justify-content:space-between; left:32px; letter-spacing:.1em; position:absolute; right:32px; text-transform:uppercase; z-index:3; }
.hero-controls { align-items:center; bottom:29px; display:flex; gap:16px; position:absolute; right:32px; z-index:3; }
.hero-controls button { background:transparent; border:1px solid rgba(255,255,255,.4); border-radius:50%; color:#fff; cursor:pointer; height:38px; width:38px; }
.hero-dots { display:flex; gap:5px; }
.hero-dots button { background:rgba(255,255,255,.35); border:0; height:2px; padding:0; width:25px; }
.hero-dots button.active { background:#fff; }

.manifesto { background:var(--surface); }
.manifesto-grid { display:grid; gap:50px; grid-template-columns:1fr 3fr; }
.display-copy { font-size:clamp(2.7rem,6.2vw,7.3rem); letter-spacing:-.07em; line-height:1; max-width:1020px; }
.display-copy em { color:var(--accent); }
.manifesto-bottom { align-items:flex-end; display:flex; gap:80px; justify-content:space-between; margin-top:65px; max-width:800px; }
.manifesto-bottom p { color:var(--muted); font-size:14px; max-width:360px; }

.section-heading { align-items:flex-end; display:flex; gap:60px; justify-content:space-between; margin-bottom:80px; }
.section-heading h2 { margin:23px 0 0; }
.section-heading h2 em { color:var(--accent); }
.section-intro { color:var(--muted); max-width:280px; }
.section-heading.compact { margin-bottom:55px; }
.work { background:var(--bg); }
.work-grid { display:grid; gap:20px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.work-card { min-width:0; }
.work-card-large,.work-card-wide { grid-column:auto; grid-row:auto; }
.image-button { background:var(--surface-2); border:0; cursor:pointer; display:block; overflow:hidden; padding:0; position:relative; width:100%; }
.work-card .image-button { aspect-ratio:1/1; }
.image-button img { height:100%; object-fit:contain; transition:transform .7s var(--ease); width:100%; }
.image-button:hover img { transform:scale(1.045); }
.image-count { align-items:center; background:var(--bg); bottom:14px; color:var(--ink); display:flex; font-family:'DM Mono',monospace; font-size:9px; gap:10px; letter-spacing:.1em; opacity:0; padding:10px 12px; position:absolute; right:14px; text-transform:uppercase; transition:opacity .25s; }
.image-button:hover .image-count { opacity:1; }
.zoomable-image { cursor:zoom-in; }
.zoomable-image:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.work-caption { padding:17px 0 33px; }
.work-caption span { display:block; margin-bottom:11px; }
.work-caption h3 { font-size:21px; margin:0 0 5px; }
.work-caption p { color:var(--muted); font-size:13px; margin:0; }
.work-footer { align-items:center; border-top:1px solid var(--line); display:flex; justify-content:space-between; margin-top:25px; padding-top:23px; }
.work-footer p { color:var(--muted); font-size:13px; }

.feature { background:var(--dark); color:var(--bg); display:grid; grid-template-columns:1fr 1fr; padding:0; }
.feature-image { min-height:680px; overflow:hidden; }
.feature-image img { height:100%; object-fit:cover; width:100%; }
.feature-copy { align-self:center; max-width:600px; padding:80px clamp(35px,7vw,120px); }
.feature-copy .section-index { color:var(--muted); }
.feature-copy h2 { font-size:clamp(3.3rem,5.2vw,6.7rem); }
.feature-copy h2 em { color:var(--accent); }
.feature-copy > p:not(.section-index) { color:var(--muted); max-width:390px; }
.feature-copy .button { margin-top:25px; }

.shop { background:var(--surface); }
.shop-rail { display:grid; gap:15px; grid-template-columns:repeat(5,1fr); }
.shop-card { min-width:0; }
.shop-card > div { background:var(--surface-2); margin-bottom:18px; overflow:hidden; }
.shop-card img { height:auto; object-fit:contain; transition:transform .6s var(--ease); width:100%; }
.shop-card:hover img { transform:scale(1.06); }
.shop-card > span { display:block; font-size:14px; font-weight:700; }
.shop-card small { display:block; margin-top:7px; }
.shop-card small i { margin-left:5px; }
.shop-banner { align-items:center; background:var(--dark); color:var(--bg); display:flex; justify-content:space-between; margin-top:75px; padding:45px 50px; }
.shop-banner .section-index { color:var(--muted); }
.shop-banner h3 { font-size:clamp(1.7rem,3vw,3.2rem); margin:13px 0 7px; }
.shop-banner p { color:var(--muted); font-size:13px; margin:0; }

.process { background:var(--bg); }
.process-list { border-top:1px solid var(--line); }
.process-list article { align-items:center; border-bottom:1px solid var(--line); display:grid; gap:30px; grid-template-columns:80px 1fr 20px; padding:36px 0; }
.process-list article > span { color:var(--accent); font-family:'DM Mono',monospace; font-size:12px; }
.process-list h3 { font-size:25px; margin:0 0 6px; }
.process-list p { color:var(--muted); font-size:14px; margin:0; max-width:500px; }
.process-list article > i { color:var(--muted); }

.business { background:var(--surface); }
.business-grid { display:grid; gap:20px; grid-template-columns:repeat(3,1fr); }
.business-grid article { border-top:1px solid var(--line); padding-top:16px; }
.business-grid article > div { background:var(--surface-2); margin-bottom:22px; overflow:hidden; }
.business-grid img { height:auto; object-fit:contain; transition:transform .6s; width:100%; }
.business-grid article:hover img { transform:scale(1.04); }
.business-grid h3 { font-size:22px; margin:14px 0 25px; max-width:310px; }
.business-grid .arrow-link { border:0; font-size:11px; }

.community { background:var(--accent); color:#fff; }
.community-grid { display:grid; gap:100px; grid-template-columns:1.4fr .8fr; }
.community h2 { font-size:clamp(3.5rem,7vw,7.5rem); max-width:800px; }
.community h2 em { color:#231a16; }
.community > .container > div > p:not(.section-index) { max-width:430px; }
.community .button { margin-top:22px; }
.community-note { border-top:1px solid rgba(255,255,255,.5); padding-top:20px; }
.community-note span { color:rgba(255,255,255,.75); display:block; }
.community-note p { border-bottom:1px solid rgba(255,255,255,.5); font-size:14px; padding-bottom:25px; }

.custom { background:var(--bg); }
.custom-grid { display:grid; gap:90px; grid-template-columns:1.2fr .8fr; }
.custom h2 { font-size:clamp(3.7rem,7vw,8rem); }
.custom h2 em { color:var(--accent); }
.custom > .container > .custom-grid > div:first-child > p:not(.section-index) { color:var(--muted); max-width:430px; }
.custom-choice-grid { display:grid; gap:10px; grid-template-columns:repeat(4,1fr); margin-top:42px; max-width:650px; }
.custom-choice { background:transparent; border:1px solid var(--line); cursor:pointer; min-height:125px; padding:17px; text-align:left; transition:background .25s,border .25s; }
.custom-choice i { color:var(--accent); display:block; font-size:20px; margin-bottom:28px; }
.custom-choice span { font-size:11px; font-weight:700; }
.custom-choice.selected,.custom-choice:hover { background:var(--surface); border-color:var(--accent); }
.custom-summary { background:var(--surface); padding:36px; align-self:start; }
.custom-summary h3 { font-size:28px; margin:23px 0 3px; }
.custom-summary > p { color:var(--accent); font-family:'DM Mono',monospace; font-size:11px; }
.custom-summary label { color:var(--muted); display:block; font-size:11px; margin:30px 0 9px; }
.custom-summary textarea { background:var(--bg); border:1px solid var(--line); color:var(--ink); font:inherit; font-size:13px; min-height:130px; padding:13px; resize:vertical; width:100%; }
.custom-summary .button { border:0; cursor:pointer; margin-top:13px; width:100%; }
.custom-summary .arrow-link { border:0; margin-top:22px; }

.social { background:var(--dark); color:var(--bg); }
.social-grid { display:grid; gap:70px; grid-template-columns:1fr 1fr; }
.social h2 { font-size:clamp(4rem,8vw,9rem); }
.social h2 em { color:var(--accent); }
.social-grid > div:last-child { align-self:end; max-width:480px; }
.social-grid > div:last-child > p { color:var(--muted); font-size:17px; margin-bottom:35px; }
.social-link { align-items:center; border-top:1px solid var(--line); display:grid; gap:15px; grid-template-columns:30px 1fr 20px; padding:18px 0; }
.social-link:last-child { border-bottom:1px solid var(--line); }
.social-link > i:first-child { color:var(--accent); font-size:18px; }
.social-link span { font-size:13px; font-weight:700; }
.social-link > i:last-child { color:var(--muted); font-size:11px; }
.tiktok-embed-shell { border-top:1px solid var(--line); margin-top:70px; padding-top:55px; }
.tiktok-embed-shell blockquote { margin:0 auto; max-width:780px; min-width:288px; }
.tiktok-embed-shell .tiktok-embed { background:transparent; }
.tiktok-embed-note { color:var(--muted); font-size:12px; margin:20px auto 0; max-width:460px; text-align:center; }

.contact { background:var(--surface); }
.contact-grid { display:grid; gap:100px; grid-template-columns:.9fr 1.1fr; }
.contact h2 { font-size:clamp(4.2rem,8vw,9rem); margin:28px 0 22px; }
.contact-lead { color:var(--muted); max-width:390px; }
.contact-links { margin-top:52px; }
.contact-links a { align-items:center; border-top:1px solid var(--line); display:grid; gap:15px; grid-template-columns:90px 1fr 20px; padding:17px 0; }
.contact-links a:last-child { border-bottom:1px solid var(--line); }
.contact-links span { color:var(--muted); font-family:'DM Mono',monospace; font-size:9px; text-transform:uppercase; }
.contact-links strong { font-size:13px; }
.contact-links i { color:var(--muted); font-size:11px; }
.map-frame { background:var(--surface-2); min-height:520px; }
.map-frame iframe { border:0; filter:grayscale(1) contrast(.9); height:100%; min-height:520px; width:100%; }

.site-footer { background:var(--bg); border-top:1px solid var(--line); padding:70px 0 25px; }
.footer-grid { display:grid; gap:50px; grid-template-columns:2fr 1fr 1fr; padding-bottom:85px; }
.footer-brand { margin-bottom:18px; }
.footer-grid > div:first-child > p { color:var(--muted); font-size:13px; }
.footer-column { display:flex; flex-direction:column; gap:12px; }
.footer-column a { font-size:13px; }
.footer-column span { margin-bottom:9px; }
.footer-bottom { border-top:1px solid var(--line); color:var(--muted); display:flex; font-family:'DM Mono',monospace; font-size:9px; justify-content:space-between; padding-top:22px; text-transform:uppercase; }
.footer-bottom p { margin:0; }
.footer-bottom > div { display:flex; gap:25px; }
.footer-bottom a:hover { color:var(--ink); }
.terms-notice { align-items:flex-start; background:var(--ink); bottom:22px; box-shadow:0 8px 40px rgba(0,0,0,.25); color:var(--bg); display:flex; flex-direction:column; font-size:11px; gap:13px; justify-content:space-between; max-width:390px; padding:18px; position:fixed; right:22px; z-index:40; }
.terms-notice p { color:var(--muted); margin:3px 0 0; }
.terms-notice > div:last-child { align-items:center; display:flex; gap:17px; justify-content:space-between; width:100%; }
.terms-notice a { text-decoration:underline; }
.terms-notice button { background:var(--accent); border:0; color:#fff; cursor:pointer; font-size:11px; padding:8px 14px; }
.whatsapp-float { align-items:center; background:#1bb15a; border-radius:50%; bottom:28px; color:#fff; display:flex; font-size:22px; height:53px; justify-content:center; position:fixed; right:24px; width:53px; z-index:30; }
.lightbox { align-items:center; background:rgba(0,0,0,.9); display:flex; inset:0; justify-content:center; opacity:0; padding:30px; pointer-events:none; position:fixed; transition:opacity .3s; z-index:60; }
.lightbox.open { opacity:1; pointer-events:auto; }
.lightbox-inner { align-items:center; display:grid; gap:45px; grid-template-columns:minmax(0,700px) 260px; max-width:1100px; width:100%; }
.lightbox-inner img { max-height:75vh; object-fit:contain; width:100%; }
.lightbox-inner h2 { color:#fff; font-size:37px; margin:15px 0; }
.lightbox-inner p { color:#bbb; font-size:13px; }
.lightbox-inner .section-index { color:#999; }
.lightbox-close { background:transparent; border:0; color:#fff; cursor:pointer; font-size:25px; position:absolute; right:28px; top:25px; }

@media (max-width:900px) {
  .container { width:min(calc(100% - 34px),var(--max)); }
  .header-inner { height:72px; padding:0 17px; }
  .desktop-nav,.header-social { display:none; }
  .menu-toggle { display:flex; flex-direction:column; }
  .theme-toggle { border-left:0; padding-left:7px; }
  .mobile-drawer { background:var(--bg); color:var(--ink); display:block; height:100svh; max-width:450px; padding:25px 22px; position:fixed; right:0; top:0; transform:translateX(100%); transition:transform .45s var(--ease); width:calc(100% - 26px); z-index:50; }
  .mobile-drawer.open { transform:translateX(0); }
  .drawer-backdrop { background:rgba(0,0,0,.55); display:block; inset:0; opacity:0; pointer-events:none; position:fixed; transition:opacity .3s; z-index:45; }
  .drawer-backdrop.open { opacity:1; pointer-events:auto; }
  .drawer-top { align-items:center; border-bottom:1px solid var(--line); display:flex; font-family:'DM Mono',monospace; font-size:10px; justify-content:space-between; padding-bottom:22px; text-transform:uppercase; }
  .drawer-top button { background:transparent; border:0; font-size:20px; }
  .mobile-drawer nav { display:flex; flex-direction:column; }
  .mobile-drawer nav a { align-items:center; border-bottom:1px solid var(--line); display:grid; font-size:20px; font-weight:600; grid-template-columns:33px 1fr 16px; padding:18px 0; }
  .mobile-drawer nav a span { color:var(--accent); font-family:'DM Mono',monospace; font-size:10px; }
  .mobile-drawer nav a i { color:var(--muted); font-size:11px; }
  .drawer-bottom { bottom:25px; color:var(--muted); display:flex; font-size:11px; justify-content:space-between; left:22px; position:absolute; right:22px; }
  .drawer-bottom p { margin:0; }
  .drawer-bottom div { display:flex; flex-direction:column; gap:7px; text-align:right; }
  .hero { min-height:680px; }
  .hero-content { padding-top:200px; }
  .hero h1 { font-size:clamp(4rem,17vw,7rem); margin-top:30px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:21px; }
  .hero-meta { bottom:25px; left:17px; right:17px; }
  .hero-meta span:last-child { display:none; }
  .hero-controls { bottom:20px; right:17px; }
  .manifesto-grid,.custom-grid,.contact-grid,.community-grid,.social-grid { gap:45px; grid-template-columns:1fr; }
  .manifesto-bottom { align-items:flex-start; flex-direction:column; gap:18px; margin-top:38px; }
  .section-heading { align-items:flex-start; flex-direction:column; gap:25px; margin-bottom:45px; }
  .section-heading h2 { font-size:clamp(3.3rem,15vw,6rem); }
  .section-intro { margin:0; }
  .work-grid { gap:13px; grid-template-columns:1fr 1fr; }
  .work-card-large { grid-column:span 2; grid-row:auto; }
  .work-card-wide { grid-column:span 2; }
  .work-card-large .image-button,.work-card-wide .image-button { aspect-ratio:auto; }
  .work-card-large .image-button img,.work-card-wide .image-button img { height:auto; }
  .work-caption { padding-bottom:20px; }
  .work-caption h3 { font-size:17px; }
  .work-caption p { font-size:11px; }
  .work-footer { align-items:flex-start; flex-direction:column; gap:12px; }
  .feature { display:flex; flex-direction:column; }
  .feature-image { min-height:430px; }
  .feature-copy { padding:65px 17px 75px; }
  .feature-copy h2 { font-size:clamp(3.3rem,14vw,6rem); }
  .shop-rail { display:flex; gap:13px; margin-right:-17px; overflow-x:auto; padding-right:17px; scrollbar-width:none; }
  .shop-rail::-webkit-scrollbar { display:none; }
  .shop-card { flex:0 0 66vw; }
  .shop-banner { align-items:flex-start; flex-direction:column; gap:25px; margin-top:50px; padding:28px 22px; }
  .process-list article { gap:16px; grid-template-columns:35px 1fr 12px; padding:27px 0; }
  .process-list h3 { font-size:21px; }
  .process-list p { font-size:12px; }
  .business-grid { display:flex; gap:13px; margin-right:-17px; overflow-x:auto; padding-right:17px; scrollbar-width:none; }
  .business-grid::-webkit-scrollbar { display:none; }
  .business-grid article { flex:0 0 82vw; }
  .community h2 { font-size:clamp(3.7rem,16vw,7rem); }
  .custom-choice-grid { gap:7px; grid-template-columns:1fr 1fr; margin-top:30px; }
  .custom-choice { min-height:108px; }
  .custom-summary { padding:25px 20px; }
  .social h2 { font-size:clamp(4rem,17vw,8rem); }
  .contact h2 { font-size:clamp(4.2rem,18vw,8rem); }
  .map-frame,.map-frame iframe { min-height:350px; }
  .footer-grid { gap:40px; grid-template-columns:1fr 1fr; padding-bottom:55px; }
  .footer-grid > div:first-child { grid-column:span 2; }
  .footer-bottom { align-items:flex-start; flex-direction:column; gap:15px; }
  .footer-bottom > div { flex-wrap:wrap; gap:15px; }
  .terms-notice { align-items:flex-start; bottom:10px; flex-direction:column; gap:12px; left:10px; padding:14px; right:10px; }
  .terms-notice > div:last-child { justify-content:space-between; width:100%; }
  .whatsapp-float { bottom:18px; height:48px; right:17px; width:48px; }
  .lightbox { padding:18px; }
  .lightbox-inner { display:flex; flex-direction:column; gap:20px; }
  .lightbox-inner img { max-height:58vh; }
  .lightbox-inner h2 { font-size:30px; }
}
@media (prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } }

.terms-page .site-header { background:var(--bg); color:var(--ink); position:relative; }
.terms-page .terms-header { align-items:center; display:flex; height:88px; justify-content:space-between; }
.terms-page .terms-back { border-bottom:1px solid var(--ink); font-size:11px; padding-bottom:6px; }
.terms-main { padding:clamp(70px,11vw,150px) 0; }
.terms-shell { max-width:1000px; }
.terms-shell h1 { font-size:clamp(4rem,9vw,9rem); margin:25px 0; }
.terms-lead { color:var(--muted); font-size:18px; max-width:510px; }
.terms-visual-summary { display:grid; gap:16px; grid-template-columns:repeat(3,1fr); margin:85px 0; }
.terms-visual-card { background:var(--surface); padding:27px; }
.terms-visual-icon { color:var(--accent); font-size:22px; margin-bottom:45px; }
.terms-visual-card h2 { font-size:25px; letter-spacing:-.04em; margin:0 0 10px; }
.terms-visual-card p,.terms-accordion p { color:var(--muted); font-size:13px; }
.terms-accordion { border-top:1px solid var(--line); }
.terms-accordion details { border-bottom:1px solid var(--line); padding:26px 0; }
.terms-accordion summary { cursor:pointer; font-size:20px; font-weight:700; list-style:none; }
.terms-accordion summary::-webkit-details-marker { display:none; }
.terms-accordion summary:after { content:'+'; float:right; font-family:'DM Mono',monospace; font-weight:400; }
.terms-accordion details[open] summary:after { content:'−'; }
.terms-accordion details p { margin:22px 0 0; max-width:650px; }
.terms-accordion .button { margin-top:18px; }
.terms-footer { margin-top:0; }
@media (max-width:900px) { .terms-page .terms-header { height:72px; } .terms-visual-summary { grid-template-columns:1fr; margin:55px 0; } .terms-visual-card { padding:22px; } .terms-visual-icon { margin-bottom:25px; } .terms-shell h1 { font-size:clamp(3.6rem,16vw,7rem); } }
