/* SakuyaLabs Visual Design System v1 */
:root{
  --ink:#102728;
  --ink-soft:#476363;
  --muted:#6e8585;
  --paper:#f8fbfa;
  --paper-2:#f1f7f5;
  --white:rgba(255,255,255,.82);
  --line:rgba(18,70,69,.10);
  --teal:#087c78;
  --teal-2:#20aaa2;
  --aqua:#9ee7df;
  --blue:#7ab7f6;
  --violet:#a9a1ff;
  --shadow:0 30px 80px rgba(30,78,76,.10);
  --shadow-soft:0 18px 45px rgba(30,78,76,.07);
  --radius:28px;
  --radius-sm:18px;
  --shell:min(1180px,calc(100vw - 48px));
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Hiragino Sans","Yu Gothic UI","Yu Gothic",sans-serif;line-height:1.75;letter-spacing:.015em;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-3;background:
  radial-gradient(circle at 16% 10%,rgba(158,231,223,.25),transparent 28%),
  radial-gradient(circle at 86% 22%,rgba(122,183,246,.18),transparent 30%),
  linear-gradient(180deg,#fbfdfc 0%,#f6faf9 55%,#fbfcfc 100%)}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
img{max-width:100%;display:block}
.skip-link{position:fixed;left:16px;top:-60px;z-index:999;background:#fff;padding:10px 16px;border-radius:10px;box-shadow:var(--shadow-soft)}
.skip-link:focus{top:12px}
.shell{width:var(--shell);margin-inline:auto}
.ambient{position:fixed;border-radius:50%;filter:blur(90px);opacity:.35;z-index:-2;pointer-events:none}
.ambient-a{width:440px;height:440px;left:-180px;top:32vh;background:#b6f2e9}
.ambient-b{width:520px;height:520px;right:-220px;top:8vh;background:#d4d0ff}

.site-header{position:fixed;top:0;left:0;width:100%;z-index:100;padding:18px 0;transition:.45s var(--ease)}
.site-header.scrolled{padding:10px 0;background:rgba(249,252,251,.72);backdrop-filter:blur(22px) saturate(145%);border-bottom:1px solid rgba(13,88,84,.08)}
.header-inner{height:66px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.brand{justify-self:start;display:block}
.brand img{width:322px;height:82px;object-fit:contain;object-position:left center}
.desktop-nav{display:flex;gap:34px;align-items:center;padding:10px 20px;border:1px solid transparent;border-radius:999px}
.desktop-nav a{font-size:13px;font-weight:600;color:#496363;position:relative}
.desktop-nav a::after{content:"";position:absolute;height:1px;width:0;background:var(--teal);left:0;bottom:-6px;transition:.3s}
.desktop-nav a:hover::after{width:100%}
.header-cta{justify-self:end;font-size:13px;font-weight:700;display:inline-flex;gap:12px;align-items:center;padding:12px 18px;border:1px solid rgba(8,124,120,.18);background:rgba(255,255,255,.5);border-radius:999px;transition:.3s}
.header-cta:hover{background:white;transform:translateY(-1px);box-shadow:var(--shadow-soft)}
.menu-button,.mobile-nav{display:none}
[hidden]{display:none!important}

.hero{min-height:100svh;padding-top:148px;padding-bottom:65px;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;position:relative}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.19em;color:var(--teal);text-transform:uppercase;margin:0 0 20px}
.signal{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--teal-2);box-shadow:0 0 0 6px rgba(32,170,162,.12);margin-right:12px}
.hero h1{font-size:clamp(54px,6.2vw,94px);line-height:1.04;letter-spacing:-.055em;margin:0 0 34px;font-weight:730}
.gradient-text{background:linear-gradient(100deg,#087c78 3%,#2fa7aa 43%,#788fdb 75%,#9887e7 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-lead{max-width:620px;font-size:17px;line-height:2;color:var(--ink-soft);margin:0}
.hero-lead strong{font-weight:700;color:var(--ink)}
.hero-actions{display:flex;gap:12px;margin-top:36px}
.button{display:inline-flex;justify-content:center;align-items:center;gap:16px;padding:14px 22px;border-radius:999px;border:0;cursor:pointer;font-size:13px;font-weight:700;transition:.35s var(--ease)}
.button-primary{color:white;background:linear-gradient(120deg,#087c78,#229d98);box-shadow:0 14px 32px rgba(8,124,120,.18)}
.button-primary:hover,.button-dark:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(8,124,120,.24)}
.button-ghost{background:rgba(255,255,255,.58);border:1px solid var(--line);color:var(--ink-soft)}
.button-ghost:hover{background:#fff}
.button-dark{background:#173536;color:white}
.hero-visual{height:600px;position:relative}
.product-window{position:absolute;width:680px;max-width:60vw;right:-120px;top:50%;transform:translateY(-48%) rotate(-1.5deg);background:rgba(255,255,255,.82);border:1px solid rgba(22,85,82,.10);border-radius:25px;overflow:hidden;box-shadow:0 42px 100px rgba(29,77,76,.15);backdrop-filter:blur(15px);z-index:3}
.product-window img{width:100%;aspect-ratio:1600/864;object-fit:contain;object-position:center;background:#f7faf9}
.window-bar{height:42px;padding:0 16px;display:flex;align-items:center;gap:7px;border-bottom:1px solid rgba(19,73,70,.08);background:rgba(248,251,250,.88)}
.window-bar span{width:7px;height:7px;border-radius:50%;background:#c7d8d5}
.window-bar span:first-child{background:#8fd9d2}
.window-bar p{font-size:10px;color:#75908e;margin-left:auto;margin-right:auto}
.orb{position:absolute;border-radius:50%;filter:blur(.1px)}
.orb-main{width:380px;height:380px;right:-5%;top:8%;background:radial-gradient(circle at 30% 28%,rgba(255,255,255,.94),rgba(167,230,222,.42) 35%,rgba(142,161,238,.22) 65%,rgba(255,255,255,0));filter:blur(2px);animation:breathe 8s ease-in-out infinite}
.orb-small{width:170px;height:170px;left:4%;bottom:4%;background:linear-gradient(135deg,rgba(126,214,204,.22),rgba(165,158,247,.12));filter:blur(2px)}
.floating-note{position:absolute;z-index:4;padding:13px 16px;background:rgba(255,255,255,.76);border:1px solid rgba(16,90,86,.10);box-shadow:var(--shadow-soft);backdrop-filter:blur(18px);border-radius:16px;display:flex;gap:11px;align-items:center;animation:floaty 7s ease-in-out infinite}
.note-human{left:-4%;top:21%}
.note-ai{right:3%;bottom:10%;animation-delay:-3s}
.note-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#d6f5f0,#e9f0ff);color:var(--teal)}
.floating-note small{display:block;color:#809291;font-size:9px;letter-spacing:.08em}
.floating-note strong{font-size:11px}
.hero-scroll{position:absolute;bottom:22px;left:0;font-size:9px;letter-spacing:.23em;color:#839492;display:flex;align-items:center;gap:12px;writing-mode:vertical-rl}
.hero-scroll span{width:1px;height:42px;background:linear-gradient(var(--teal),transparent)}
@keyframes floaty{50%{transform:translateY(-10px)}}
@keyframes breathe{50%{transform:scale(1.06);opacity:.78}}

.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.4)}
.trust-grid{min-height:76px;display:flex;justify-content:space-between;align-items:center}
.trust-grid p{font-size:9px;letter-spacing:.2em;color:#788e8c;font-weight:700;margin:0}
.trust-grid span{height:1px;width:10%;background:var(--line)}

.section{padding:150px 0}
.section-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin-bottom:80px}
.section h2,.product-intro h2,.journal-head h2,.about-copy h2,.contact-copy h2{font-size:clamp(42px,5vw,70px);line-height:1.08;letter-spacing:-.045em;margin:0;font-weight:690}
.philosophy-layout{display:grid;grid-template-columns:.8fr 1.5fr;gap:80px}
.philosophy-statement{font-size:19px;color:var(--ink-soft);padding-top:30px}
.philosophy-statement p{margin:0 0 28px}
.philosophy-statement strong{color:var(--ink)}
.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.principle-card{min-height:330px;padding:28px;background:rgba(255,255,255,.6);border:1px solid rgba(18,86,82,.09);border-radius:var(--radius);box-shadow:0 16px 45px rgba(38,88,84,.035);display:flex;flex-direction:column;transition:.4s var(--ease)}
.principle-card:hover{transform:translateY(-8px);background:rgba(255,255,255,.88);box-shadow:var(--shadow-soft)}
.principle-card>span{font-size:10px;color:#88a09e;letter-spacing:.1em}
.principle-mark{font-size:30px;color:var(--teal);margin:50px 0 32px}
.principle-card h3{font-size:18px;margin:0 0 14px}
.principle-card p{font-size:13px;color:var(--ink-soft);margin:0}

.services-section{background:rgba(255,255,255,.38);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.services-head{display:grid;grid-template-columns:1fr .8fr;gap:90px;align-items:end;margin-bottom:62px}
.services-head>p{max-width:520px;margin:0;color:var(--ink-soft);font-size:15px}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.service-card{padding:36px;min-height:340px;border:1px solid rgba(18,86,82,.09);border-radius:var(--radius);background:rgba(255,255,255,.66);box-shadow:0 16px 45px rgba(38,88,84,.035)}
.service-card>span{font-size:10px;letter-spacing:.14em;color:var(--teal)}
.service-card h3{font-size:24px;margin:34px 0 12px;letter-spacing:-.02em}
.service-card p{color:var(--ink-soft);font-size:14px;margin:0 0 24px}
.service-card ul{padding:20px 0 0;margin:0;border-top:1px solid var(--line);list-style:none}
.service-card li{font-size:12px;color:#526c6a;margin:8px 0;padding-left:16px;position:relative}
.service-card li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--teal-2);position:absolute;left:0;top:.78em}
.services-note{text-align:center;margin:34px auto 0;color:var(--muted);font-size:12px}

.product-section{background:linear-gradient(180deg,rgba(230,244,241,.45),rgba(246,250,249,.3));border-top:1px solid rgba(17,91,87,.06);border-bottom:1px solid rgba(17,91,87,.06)}
.product-intro{display:grid;grid-template-columns:1.1fr .7fr;gap:120px;align-items:end;margin-bottom:75px}
.product-intro>p{font-size:15px;color:var(--ink-soft);max-width:470px;margin:0}
.showcase{display:grid;grid-template-columns:minmax(270px,.78fr) minmax(0,1.65fr);gap:46px;align-items:center}
.showcase-nav{display:flex;flex-direction:column;gap:9px}
.showcase-tab{border:0;text-align:left;background:transparent;padding:17px 18px;border-radius:18px;display:grid;grid-template-columns:32px 1fr;gap:13px;cursor:pointer;color:var(--ink-soft);transition:.3s}
.showcase-tab:hover{background:rgba(255,255,255,.55)}
.showcase-tab.active{background:#fff;box-shadow:0 12px 35px rgba(34,83,81,.07);color:var(--ink)}
.showcase-tab>span{font-size:9px;color:#87a09e;padding-top:3px}
.showcase-tab strong,.showcase-tab small{display:block}
.showcase-tab strong{font-size:13px}
.showcase-tab small{font-size:10px;color:#829391;margin-top:3px}
.showcase-screen{position:relative;min-width:0}
.screen-glow{position:absolute;inset:9% 5%;background:linear-gradient(120deg,rgba(111,213,201,.25),rgba(145,154,237,.17));filter:blur(56px)}
.screen-stage{position:relative;padding:38px 34px 42px;border:1px solid rgba(21,92,87,.07);border-radius:38px;background:linear-gradient(145deg,rgba(255,255,255,.6),rgba(237,247,245,.36));overflow:hidden}
.screen-stage::after{content:"";position:absolute;inset:auto 12% 15px;height:28px;background:rgba(29,80,77,.09);filter:blur(22px);border-radius:50%}
.screen-frame{--view-scale:1;--view-x:0%;--view-y:0%;position:relative;z-index:2;width:91%;margin:auto;border-radius:18px;overflow:hidden;background:#fff;border:1px solid rgba(24,84,81,.10);box-shadow:0 27px 62px rgba(27,71,70,.14);transition:opacity .2s ease,transform .2s var(--ease)}
.screen-canvas{aspect-ratio:1600/864;overflow:hidden;background:#f7faf9}
.screen-frame img{width:100%;height:100%;object-fit:contain;object-position:center;transform:translate(var(--view-x),var(--view-y)) scale(var(--view-scale));transform-origin:center;transition:opacity .2s ease,transform .22s var(--ease)}
.screen-frame.view-overview{--view-scale:.995;--view-x:0%;--view-y:0%}
.screen-frame.view-plan{--view-scale:.99;--view-x:0%;--view-y:0%}
.screen-frame.view-intake{--view-scale:.985;--view-x:0%;--view-y:0%}
.screen-frame.view-operations{--view-scale:.99;--view-x:0%;--view-y:0%}
.screen-frame.view-control{--view-scale:.985;--view-x:0%;--view-y:0%}
.screen-frame.changing{opacity:.42;transform:translateY(7px) scale(.992)}
.screen-frame.changing img{opacity:.55}
.showcase-caption{display:flex;gap:22px;align-items:flex-start;padding:20px 10px 0}
.showcase-caption span{font-size:10px;color:var(--teal);font-weight:800}
.showcase-caption p{margin:0;color:var(--ink-soft);font-size:13px}

.collaboration-section{background:rgba(255,255,255,.38);border-bottom:1px solid var(--line)}
.collaboration-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}
.collaboration-copy h2{font-size:clamp(38px,4.5vw,64px);line-height:1.22;letter-spacing:-.045em;margin:0}
.collaboration-copy h2 em{font-style:normal;color:var(--teal)}
.collaboration-copy>p:last-child{max-width:590px;margin:32px 0 0;color:var(--ink-soft);font-size:15px}
.collaboration-map{position:relative;min-height:570px;display:grid;place-items:center;isolation:isolate}
.orbit{position:absolute;border:1px solid rgba(8,124,120,.14);border-radius:50%;transition:.5s var(--ease)}
.orbit-outer{width:88%;aspect-ratio:1;border-style:dashed}
.orbit-inner{width:57%;aspect-ratio:1;background:radial-gradient(circle,rgba(158,231,223,.13),transparent 68%)}
.role-node{width:190px;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(255,255,255,.9);border:1px solid rgba(8,124,120,.18);box-shadow:0 24px 60px rgba(30,78,76,.1);z-index:2;transition:.45s var(--ease)}
.role-node small{font-size:8px;letter-spacing:.12em;color:var(--teal);text-transform:uppercase}
.role-node strong{font-size:30px;letter-spacing:-.03em;margin:5px 0 2px}
.role-node span{font-size:10px;color:var(--muted)}
.task-node{position:absolute;padding:9px 14px;border:1px solid rgba(8,124,120,.13);background:rgba(255,255,255,.76);box-shadow:var(--shadow-soft);border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.08em;color:#426966;z-index:3;transition:.4s var(--ease)}
.task-think{left:13%;top:22%}.task-research{right:9%;top:25%}.task-create{right:3%;bottom:28%}.task-verify{left:13%;bottom:18%}.task-decide{left:4%;top:49%}
.return-flow{position:absolute;bottom:5%;display:flex;gap:10px;align-items:center;color:#6e8885;font-size:9px;letter-spacing:.08em}.return-flow i{font-style:normal;color:#52a69f}.return-flow span:last-child{color:var(--teal);font-weight:800}
.ai-label{position:absolute;top:7%;right:13%;font-size:11px;font-weight:800;color:var(--teal);letter-spacing:.12em}.ai-label span{display:block;font-size:8px;font-weight:500;color:var(--muted);margin-top:2px}
.collaboration-map:hover .orbit-outer,.collaboration-map:focus-within .orbit-outer{transform:rotate(5deg);border-color:rgba(8,124,120,.28)}
.collaboration-map:hover .role-node,.role-node:focus{transform:translateY(-4px);box-shadow:0 30px 75px rgba(30,78,76,.14);outline:none}
.flow-line{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:20px;margin-top:80px;padding:32px 36px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.flow-line div{text-align:center}
.flow-line span,.flow-line strong,.flow-line small{display:block}
.flow-line span{font-size:9px;color:var(--teal);font-weight:800}
.flow-line strong{font-size:12px;margin:4px 0}
.flow-line small{font-size:9px;color:#829492}
.flow-line i{font-style:normal;color:#9eb0ae}

.statement-section{padding:180px 0;background:#102f30;color:white;position:relative;overflow:hidden}
.statement-section::before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;right:-120px;top:-200px;background:radial-gradient(circle,rgba(71,186,178,.25),transparent 65%)}
.statement-inner{text-align:center;position:relative}
.statement-symbol{font-size:27px;color:#9ce0d9;margin-bottom:36px}
blockquote{font-size:clamp(32px,4vw,58px);line-height:1.45;letter-spacing:-.04em;font-weight:510;margin:0}
blockquote em{font-style:normal;color:#aee6df}
.statement-inner>p:last-child{color:#a9c2c0;font-size:13px;line-height:1.9;margin:34px auto 0;max-width:700px}
.statement-inner .eyebrow{color:#9ce0d9;margin-bottom:28px}

.journal-head{display:grid;grid-template-columns:1fr .75fr;gap:100px;align-items:end;margin-bottom:60px}
.journal-copy{color:var(--ink-soft);font-size:14px}
.journal-copy a{display:inline-flex;gap:12px;margin-top:14px;color:var(--teal);font-weight:700;font-size:12px}
.journal-timeline{position:relative}
.timeline-line{position:absolute;left:0;right:0;top:18px;height:1px;background:linear-gradient(90deg,var(--teal),rgba(8,124,120,.12))}
.journal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.journal-card{min-height:330px;border-radius:var(--radius);padding:42px 29px 29px;background:rgba(255,255,255,.62);border:1px solid rgba(18,86,82,.08);display:flex;flex-direction:column;transition:.4s var(--ease);position:relative;overflow:visible;margin-top:18px}
.journal-card::after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--teal);border:5px solid var(--paper);top:-23px;left:27px;box-sizing:content-box}
.journal-card::before{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-80px;top:-80px;background:linear-gradient(135deg,rgba(143,227,216,.18),rgba(155,148,245,.08))}
.journal-card:hover{transform:translateY(-7px);background:#fff;box-shadow:var(--shadow-soft)}
.journal-index{font-size:9px;letter-spacing:.16em;color:#87a09e}
.journal-card h3{font-size:21px;line-height:1.55;letter-spacing:-.025em;margin:50px 0 18px;position:relative}
.journal-card p{font-size:12px;color:var(--ink-soft);margin:0;position:relative}
.journal-meta{margin-top:auto;padding-top:30px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);font-size:10px;color:#819391}
.journal-meta strong{color:var(--teal);font-size:11px}
.journal-loading{grid-column:1/-1;min-height:120px}

.about-section{padding-top:90px}
.company-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:110px;align-items:start}
.company-intro>p:last-child{font-size:15px;color:var(--ink-soft);max-width:500px}
.company-profile{margin:0;border-top:1px solid var(--line)}
.company-profile div{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
.company-profile dt{font-size:10px;letter-spacing:.12em;color:var(--muted)}
.company-profile dd{margin:0;font-size:13px;font-weight:600}
.about-grid{display:grid;grid-template-columns:.85fr 1fr;gap:120px;align-items:center}
.about-visual{aspect-ratio:1;position:relative;display:grid;place-items:center}
.future-mark{font-size:190px;line-height:1;font-weight:760;letter-spacing:-.1em;background:linear-gradient(145deg,#058d89,#7a8de8);-webkit-background-clip:text;color:transparent;opacity:.12}
.future-orbit{position:absolute;border:1px solid rgba(18,116,111,.12);border-radius:50%}
.orbit-one{width:78%;height:78%}
.orbit-two{width:52%;height:52%;border-style:dashed;animation:spin 35s linear infinite}
.about-visual>p{position:absolute;font-size:13px;letter-spacing:.17em;text-transform:uppercase;line-height:1.7;color:#607b79}
@keyframes spin{to{transform:rotate(360deg)}}
.about-copy>p:not(.eyebrow){font-size:15px;color:var(--ink-soft);max-width:590px}
.about-list{margin-top:40px}
.about-list div{display:grid;grid-template-columns:130px 1fr;padding:15px 0;border-bottom:1px solid var(--line)}
.about-list dt{font-size:9px;letter-spacing:.13em;color:#819593;text-transform:uppercase}
.about-list dd{margin:0;font-size:12px;font-weight:600}

.contact-section{padding:80px 0 150px}
.contact-card{border-radius:40px;background:linear-gradient(145deg,rgba(226,245,241,.85),rgba(235,239,252,.75));padding:75px;display:grid;grid-template-columns:.8fr 1fr;gap:90px;border:1px solid rgba(17,97,91,.09);box-shadow:var(--shadow)}
.contact-copy>p:last-child{font-size:13px;color:var(--ink-soft)}
.contact-form{background:rgba(255,255,255,.72);border:1px solid rgba(20,91,87,.09);border-radius:25px;padding:28px;box-shadow:var(--shadow-soft)}
.contact-form label{display:block;margin-bottom:17px}
.contact-form label>span{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#708785;display:block;margin:0 0 7px 4px}
.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(16,82,78,.10);background:rgba(248,251,250,.7);border-radius:14px;padding:13px 14px;outline:none;color:var(--ink);transition:.25s;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{border-color:rgba(8,124,120,.38);box-shadow:0 0 0 4px rgba(8,124,120,.06);background:white}
.form-note{font-size:9px;color:#879896;margin:12px 4px 0}
.consent{display:flex!important;gap:10px;align-items:flex-start}
.consent input{width:18px!important;height:18px;margin-top:3px;accent-color:var(--teal)}
.consent span{font-size:11px!important;letter-spacing:0!important;text-transform:none!important;margin:0!important}
.consent a,.mail-link{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.mail-link{display:inline-block;font-size:13px;margin-top:16px}
.button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(8,124,120,.28);outline-offset:3px}

.site-footer{border-top:1px solid var(--line);padding:70px 0 25px;background:rgba(255,255,255,.35)}
.footer-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:80px}
.footer-brand img{width:210px;height:55px;object-fit:contain;object-position:left}
.footer-brand p{font-size:11px;color:#809391;margin-top:15px}
.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.footer-links small,.footer-links a{display:block}
.footer-links small{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#95a4a2;margin-bottom:13px}
.footer-links a{font-size:11px;margin:8px 0;color:#526c6a}
.footer-links a:hover{color:var(--teal)}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:55px;padding-top:22px;font-size:9px;color:#93a19f;letter-spacing:.08em}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .85s var(--ease),transform .85s var(--ease);transition-delay:var(--delay,0ms)}
.reveal.visible{opacity:1;transform:none}

.legal-page{min-height:100vh;padding:155px 0 100px}
.legal-shell{max-width:820px;margin:auto}
.legal-shell h1{font-size:52px;letter-spacing:-.04em}
.legal-shell h2{font-size:20px;margin-top:45px}
.legal-shell p,.legal-shell li{font-size:14px;color:var(--ink-soft)}
.back-link{font-size:12px;color:var(--teal);font-weight:700}

@media (max-width:980px){
  :root{--shell:min(100% - 32px,760px)}
  .desktop-nav,.header-cta{display:none}
  .header-inner{grid-template-columns:1fr auto}
  .menu-button{display:block;width:42px;height:42px;border:1px solid var(--line);background:rgba(255,255,255,.7);border-radius:50%;position:relative}
  .menu-button span{position:absolute;width:16px;height:1px;background:var(--ink);left:12px;top:17px;transition:.3s}
  .menu-button span:last-child{top:23px}
  .menu-button.open span:first-child{transform:translateY(3px) rotate(45deg)}
  .menu-button.open span:last-child{transform:translateY(-3px) rotate(-45deg)}
  .mobile-nav{display:flex;position:absolute;top:80px;left:16px;right:16px;flex-direction:column;background:rgba(250,252,251,.94);backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(-10px);transition:.3s}
  .mobile-nav.open{opacity:1;pointer-events:auto;transform:none}
  .mobile-nav a{padding:13px 10px;border-bottom:1px solid var(--line);font-size:13px}
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:150px}
  .hero-visual{height:520px;margin-top:20px}
  .product-window{max-width:none;width:88vw;right:-8vw}
  .section{padding:105px 0}
  .philosophy-layout,.product-intro,.journal-head,.about-grid,.contact-card,.services-head,.company-grid,.collaboration-layout{grid-template-columns:1fr;gap:48px}
  .service-grid{grid-template-columns:1fr 1fr}
  .principle-grid{grid-template-columns:1fr}
  .principle-card{min-height:auto}
  .showcase{grid-template-columns:1fr}
  .showcase-nav{display:grid;grid-template-columns:repeat(5,1fr);overflow:auto}
  .showcase-tab{display:block;text-align:center;padding:12px 8px;min-width:90px}
  .showcase-tab small{display:none}
  .showcase-tab>span{display:block}
  .flow-line{overflow:auto;grid-template-columns:repeat(9,minmax(90px,auto))}
  .journal-grid{grid-template-columns:1fr 1fr}
  .collaboration-map{min-height:520px;max-width:650px;width:100%;margin:auto}
  .contact-card{padding:45px}
}
@media (max-width:620px){
  :root{--shell:calc(100% - 26px)}
  .site-header{padding:10px 0}
  .brand img{width:245px;height:62px}
  .hero{padding-top:125px;padding-bottom:55px}
  .hero h1{font-size:47px}
  .hero-lead{font-size:14px}
  .hero-actions{align-items:stretch;flex-direction:column;width:100%}
  .hero-visual{height:405px}
  .product-window{width:112vw;right:-36vw;top:46%}
  .floating-note{transform:scale(.86)}
  .note-human{left:0;top:10%}
  .note-ai{right:-3%;bottom:1%}
  .hero-scroll{display:none}
  .trust-grid p:nth-of-type(2),.trust-grid p:nth-of-type(3),.trust-grid span{display:none}
  .trust-grid{justify-content:center}
  .section{padding:85px 0}
  .section h2,.product-intro h2,.journal-head h2,.about-copy h2,.contact-copy h2{font-size:39px}
  .section-head{grid-template-columns:1fr;margin-bottom:45px}
  .philosophy-layout{gap:35px}
  .philosophy-statement{font-size:16px}
  .showcase-nav{grid-template-columns:repeat(5,100px)}
  .screen-frame{border-radius:17px}
  .screen-stage{padding:24px 14px 28px;border-radius:26px}
  .screen-frame{width:96%}
  .showcase-caption{padding:14px 3px 0}
  .flow-line{padding:25px 10px}
  .statement-section{padding:115px 0}
  blockquote{font-size:31px}
  .journal-grid{grid-template-columns:1fr}
  .timeline-line{top:18px;bottom:0;left:7px;width:1px;height:auto}
  .journal-card{margin-top:0;margin-left:22px;min-height:285px}
  .journal-card::after{left:-25px;top:27px}
  .service-grid{grid-template-columns:1fr}
  .service-card{min-height:auto;padding:28px}
  .journal-card{min-height:285px}
  .collaboration-map{min-height:430px;transform:scale(.92);margin-block:-20px}
  .orbit-outer{width:96%}.orbit-inner{width:61%}.role-node{width:155px}.task-think{left:5%}.task-research{right:2%}.task-create{right:0}.task-verify{left:7%}.task-decide{left:-2%}.ai-label{right:5%}
  .about-grid{gap:25px}
  .about-visual{aspect-ratio:.8}
  .contact-card{padding:28px;border-radius:28px}
  .footer-grid{grid-template-columns:1fr;gap:45px}
  .footer-links{grid-template-columns:1fr 1fr}
  .company-profile div{grid-template-columns:95px 1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}
