/* C-INNOVA tokens. Light is the approved concept; dark keeps the same ink and blue on a night ground. */
:root{--paper:#f8f2e9;--blue:#7bafd4;--ink:#032a5c;--green:#a8b49b;--gray:#d8d5ce;--violet:#80658f;
--bg:#f8f2e9;--white:#fffaf3;--surface:#fffaf3;--head:#032a5c;--body:#253748;--quiet:#475565;--line:#032a5c26;
--band:#032a5c;--band-2:#032a5c;--on-band:#f8f2e9;--business:#e8e7dc;--tag-gray:#d8d5ce;--future-gray:#d8d5ce;
--cta-bg:#032a5c;--cta-ink:#f8f2e9;--cta-hover:#12437b;--err:#a23b36;color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
--bg:#061428;--white:#0d2140;--surface:#0d2140;--head:#f3ece2;--body:#d3dae4;--quiet:#a6b1c1;--line:#f8f2e924;
--band:#0a2448;--band-2:#0d2a52;--on-band:#f8f2e9;--business:#091c37;--tag-gray:#3a4658;--future-gray:#14263f;
--cta-bg:#7bafd4;--cta-ink:#061428;--cta-hover:#a3c8e4;--err:#f0a19c;color-scheme:dark}}
:root[data-theme="dark"]{
--bg:#061428;--white:#0d2140;--surface:#0d2140;--head:#f3ece2;--body:#d3dae4;--quiet:#a6b1c1;--line:#f8f2e924;
--band:#0a2448;--band-2:#0d2a52;--on-band:#f8f2e9;--business:#091c37;--tag-gray:#3a4658;--future-gray:#14263f;
--cta-bg:#7bafd4;--cta-ink:#061428;--cta-hover:#a3c8e4;--err:#f0a19c;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--body);font:16px/1.6 "Red Hat Display","Noto Sans JP","Hiragino Sans","Yu Gothic",system-ui,sans-serif;transition:background-color .25s,color .25s}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--head);line-height:1.1;letter-spacing:-.03em;text-wrap:balance}h1{font-size:clamp(3.1rem,7.2vw,7rem);font-weight:670;max-width:12ch}h2{font-size:clamp(2.25rem,4.6vw,4.7rem);font-weight:650}h3{font-size:clamp(1.28rem,2vw,1.75rem);font-weight:750}p{max-width:65ch}section[id],article[id]{scroll-margin-top:105px}
.wrap{max-width:1260px;margin:auto;padding-inline:clamp(18px,4.5vw,64px)}.bar{position:sticky;top:0;z-index:4;background:var(--bg);border-bottom:1px solid var(--line)}.nav{min-height:80px;display:flex;align-items:center;gap:clamp(12px,2vw,27px);justify-content:space-between}.brand{display:flex;align-items:center;gap:.08rem;text-decoration:none;font-weight:850;letter-spacing:.095em;color:var(--head);white-space:nowrap}.brand svg{width:32px;height:34px}.links{display:flex;align-items:center;gap:clamp(10px,1.6vw,24px);font-size:.88rem;font-weight:740}.links a{text-decoration:none;white-space:nowrap}.links a:hover{text-decoration:underline}.controls{display:flex;align-items:center;gap:.7rem}.lang,.theme{color:inherit;background:transparent;border:1px solid currentColor;border-radius:30px;padding:.32rem .7rem;font-weight:760;font-size:.8rem;white-space:nowrap}.menu{display:none}
.cta{display:inline-flex;align-items:center;justify-content:center;background:var(--cta-bg);color:var(--cta-ink);text-decoration:none;border:1px solid var(--cta-bg);border-radius:100px;padding:.68rem 1.12rem;font-weight:790;gap:.6rem}.cta::after{content:"↗";font-size:.98em}.cta:hover{background:var(--cta-hover);border-color:var(--cta-hover)}.nav .cta{white-space:nowrap;font-size:.88rem}.soft{background:#f8f2e9;color:#032a5c;border-color:#f8f2e9}.soft:hover{background:var(--blue);border-color:var(--blue);color:#032a5c}
.hero{position:relative;isolation:isolate;background:var(--band);color:var(--on-band);overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.hero-media{object-fit:cover;object-position:62% 50%}.hero-shade{background:linear-gradient(90deg,#071b36f5 2%,#09203ad7 37%,#09203a68 75%,#09203a36),linear-gradient(0deg,#09203a75,transparent 60%)}.hero .wrap{min-height:clamp(570px,72vh,790px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-block:74px 100px}.hero h1{color:var(--on-band);margin:.45rem 0 1rem}.hero .lede{max-width:41ch;font-size:clamp(1rem,1.6vw,1.32rem);margin-bottom:1.55rem}.eyebrow{font-size:.77rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:var(--head)}.hero .eyebrow,.dark .eyebrow{color:var(--blue)}.facts{background:var(--band-2);color:var(--on-band)}.facts .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-block:24px}.fact{font-size:.94rem}.fact strong{display:block;color:var(--blue);font-size:1.1rem;line-height:1.25;margin-bottom:.15rem}
.section{padding-block:clamp(54px,8vw,108px)}.intro{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(18px,5vw,82px);align-items:end;margin-bottom:34px}.intro h2{margin-top:.3rem}.intro p{color:var(--quiet);font-size:1.07rem}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.card{border:1px solid var(--line);background:var(--white);border-radius:22px;padding:clamp(19px,2.6vw,32px);display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;min-width:0}.card p{color:var(--quiet)}.tag{background:#7bafd454;border-radius:100px;color:var(--head);font-size:.75rem;font-weight:800;padding:.23rem .65rem}.card a,.detail a{margin-top:auto;font-weight:800;color:var(--head);text-underline-offset:.23em}.card a::after,.detail a::after{content:" ↗"}.dinner .tag{background:#80658f2e}.staff .tag{background:var(--tag-gray)}.event-note{margin-top:20px;padding:17px 21px;border:1px solid var(--line);border-radius:16px}.event-note strong{color:var(--head)}
.feature{display:grid;grid-template-columns:1.05fr .95fr;background:var(--band);color:var(--on-band);border-radius:28px;overflow:hidden}.feature img{width:100%;height:100%;min-height:240px;object-fit:cover}.dark{padding:clamp(24px,5vw,58px)}.dark h2{color:var(--on-band);font-size:clamp(2rem,3.6vw,3.4rem);margin:.4rem 0 .8rem}.dark p{color:var(--on-band)}.dark .cta{margin-top:1.15rem}
.business{background:var(--business)}.details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.detail{padding:clamp(18px,2.2vw,28px);border-radius:22px;background:var(--white);display:flex;flex-direction:column;gap:.75rem;min-width:0}.detail ul{padding-left:1.08rem;margin:0 0 .45rem}.detail li+li{margin-top:.32rem}.detail .tag{background:#a8b49b83}.detail:nth-child(2) .tag{background:#7bafd454}.detail:nth-child(3) .tag{background:var(--tag-gray)}
.future{display:grid;grid-template-columns:1fr 1fr;gap:15px}.future .card{min-height:245px}.future .card:first-child{background:#80658f24}.future .card:last-child{background:var(--future-gray)}.future h3{font-size:1.75rem}.source-links{display:flex;gap:.75rem;flex-wrap:wrap}.source-links a{font-size:.88rem}
.inquire{background:var(--band);color:var(--on-band)}.inquire h2,.inquire h3{color:var(--on-band)}.inquire .eyebrow{color:var(--blue)}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(22px,6vw,90px);align-items:start}.contact h2{margin:.35rem 0 1rem}.contact p+p{margin-top:.6rem}.form{background:var(--bg);color:var(--body);border-radius:22px;padding:clamp(18px,3.5vw,32px)}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.wide{grid-column:1/-1}.form label{display:grid;gap:.24rem;color:var(--head);font-weight:750;font-size:.88rem}.form input,.form select,.form textarea{background:var(--white);color:var(--body);border:1px solid #7c8b9b;border-radius:9px;min-height:43px;width:100%;padding:.55rem .65rem}.form textarea{resize:vertical}.form .cta{margin-top:.85rem}.form p{font-size:.87rem;margin-top:.5rem}.foot{border-top:1px solid var(--line);font-size:.86rem}.foot .wrap{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;padding-block:25px}.footlinks{display:flex;gap:1.1rem;flex-wrap:wrap}.skip{position:fixed;top:-100px;left:10px;background:var(--surface);color:var(--head);padding:8px;z-index:7}.skip:focus{top:10px}
@media(max-width:980px){.links{display:none;position:absolute;top:100%;left:0;right:0;padding:1rem 5%;background:var(--bg);border-bottom:1px solid var(--line);flex-wrap:wrap}.links.open{display:flex}.menu{display:inline-flex}.nav .cta{display:none}}
@media(max-width:720px){.hero .wrap{min-height:560px}.hero-shade{background:linear-gradient(90deg,#071b36ec,#09203a9e 65%,#09203a65)}.intro,.cards,.details,.future,.feature,.contact{grid-template-columns:1fr}.intro{gap:12px}.feature img{height:240px}.facts .wrap{gap:10px}.fact{font-size:.74rem}.fact strong{font-size:.87rem}.future .card{min-height:auto}.nav{min-height:68px}}
@media(max-width:355px){.fields{grid-template-columns:1fr}.brand{font-size:.88rem}.brand svg{width:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Additions to the concept: theme toggle, emblem colours per theme, testimonial, team, live form */
.brand .em-ink{stroke:var(--head)}
.theme{display:inline-flex;align-items:center;justify-content:center;width:34px;height:31px;padding:0;cursor:pointer}
.theme svg{width:16px;height:16px}
.quote-sec{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(18px,5vw,82px);align-items:start}
.quote-sec blockquote{margin:0;border-left:3px solid var(--blue);padding-left:clamp(18px,3vw,34px)}
.quote-sec blockquote p{font-size:clamp(1.25rem,2.2vw,1.75rem);line-height:1.45;color:var(--head);font-weight:560;letter-spacing:-.01em;max-width:44ch}
.quote-sec cite{display:block;margin-top:1.1rem;font-style:normal;color:var(--quiet)}
.quote-sec cite strong{color:var(--head)}
.team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.person{border:1px solid var(--line);background:var(--white);border-radius:22px;padding:clamp(19px,2.6vw,30px);display:flex;flex-direction:column;gap:.6rem}
.person .role{color:var(--quiet);font-weight:700;font-size:.9rem}
.person p{color:var(--quiet)}
.creds{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto;padding-top:.4rem}
.creds span{background:#7bafd440;color:var(--head);border-radius:100px;font-size:.74rem;font-weight:780;padding:.2rem .6rem}
.shop-note{margin-top:10px;font-size:.95rem;color:var(--quiet)}
.shop-note a{font-weight:800;color:var(--head)}
.field-err{color:var(--err);font-size:.82rem;font-weight:700}
.form [aria-invalid="true"]{border-color:var(--err)}
.form-error{color:var(--err);font-weight:700;font-size:.9rem}
.form-error:empty{display:none}
.form .state{color:var(--quiet)}
.thanks{font-size:1.25rem;font-weight:700;color:var(--head)}
.foot .co{color:var(--quiet);font-size:.82rem;display:block;font-weight:500}
@media(max-width:940px){.quote-sec,.team{grid-template-columns:1fr}}
@media(max-width:720px){.form .fields{grid-template-columns:1fr}}
/* Company page */
.page-head{background:var(--band);color:var(--on-band);padding-block:clamp(56px,9vw,110px)}
.page-head h1{color:var(--on-band);font-size:clamp(2.4rem,5.6vw,5rem);margin:.4rem 0 1rem;max-width:16ch}
.page-head .eyebrow{color:var(--blue)}
.page-head .lede{font-size:1.15rem;color:var(--on-band);opacity:.85}
.links a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:.3em}
.info{display:grid;grid-template-columns:.75fr 1.25fr;column-gap:clamp(16px,5vw,72px);row-gap:.4rem;align-items:start;padding-block:clamp(28px,4vw,48px);border-top:1px solid var(--line)}
.info:first-child{border-top:0;padding-top:0}
.info-h{font-size:clamp(1.5rem,2.6vw,2.2rem);grid-row:1 / span 6}
.info>:not(.info-h){grid-column:2}
.facts-list,.bank dl,.sign dl{margin:0}
.facts-list div,.bank dl div{display:grid;grid-template-columns:10rem 1fr;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}
.facts-list div:first-child{padding-top:0}
dt{color:var(--head);font-weight:780;font-size:.92rem}
dd{margin:0}
dd a{color:var(--head);font-weight:700}
.biz,.lic{margin:0;padding-left:1.1rem}
.biz li+li{margin-top:.45rem}
.lic{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin-top:1rem}
.lic li{background:#7bafd440;color:var(--head);border-radius:100px;font-weight:780;font-size:.85rem;padding:.3rem .8rem}
.info-note{color:var(--quiet)}
.banks{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:1.1rem}
.bank{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:clamp(18px,2.4vw,28px)}
.bank h3{font-size:1.25rem;margin-bottom:.6rem}
.bank dl div{grid-template-columns:7.5rem 1fr;font-size:.92rem}
.bank dl div:last-child{border-bottom:0}
.sign{margin-top:1.6rem;border:2px solid var(--head);border-radius:4px;padding:clamp(16px,2.4vw,26px);max-width:560px;background:var(--white)}
.sign-title{font-weight:800;color:var(--head);text-align:center;letter-spacing:.2em;margin-bottom:1rem;max-width:none}
.sign dl div{display:grid;grid-template-columns:13rem 1fr;gap:.8rem;padding:.5rem 0;border-top:1px solid var(--line);font-size:.9rem}
@media(max-width:820px){.info{grid-template-columns:1fr}.info>:not(.info-h){grid-column:1}.banks{grid-template-columns:1fr}}
@media(max-width:520px){.facts-list div,.bank dl div,.sign dl div{grid-template-columns:1fr;gap:.2rem}}
.brand .wordmark{letter-spacing:.11em;transform:translateY(1px)}
.brand svg{width:34px;height:36px}

.guide-card{margin-bottom:15px;background:var(--band);color:var(--on-band);border-color:var(--band)}
.guide-card h3{color:var(--on-band);font-size:clamp(1.5rem,2.6vw,2.2rem)}
.guide-card p{color:var(--on-band);opacity:.88;max-width:70ch}
.guide-card .tag{background:var(--blue);color:#032a5c}
.guide-card a{color:var(--blue)}
