:root{--ivory:#f6f2e9;--forest:#173f35;--green:#547367;--ochre:#cb963e;--line:#b6c1b6;--paper:#fffcf6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ivory);color:var(--forest);font-family:"Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.6}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a25f00;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.1}h1{font-size:clamp(3.2rem,6vw,6.2rem);letter-spacing:-.055em;margin-bottom:25px}h1 em{font-weight:400;color:var(--green)}h2{font-size:clamp(2rem,3.6vw,3.6rem);letter-spacing:-.04em;margin-bottom:18px}h3{font-size:1.8rem}main{max-width:1400px;margin:auto;padding:0 6%}section{padding:78px 0;scroll-margin-top:20px}.site-header{position:sticky;top:0;z-index:10;min-height:83px;padding:17px 6%;display:flex;align-items:center;gap:30px;background:rgba(246,242,233,.98);border-bottom:1px solid var(--line)}.brand{font-weight:700;font-size:1.35rem;text-decoration:none;white-space:nowrap}.brand-mark{font-size:1.9rem;vertical-align:middle}.header-note{font-size:.83rem;margin-right:auto}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--forest);color:white;border:1px solid var(--forest);border-radius:4px;padding:14px 22px;font-size:.95rem;font-weight:600;text-decoration:none}.button:hover{background:#285848}.small{padding:10px 17px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;min-height:660px}.hero-copy>p:not(.eyebrow){max-width:520px}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.17em;font-weight:700;margin-bottom:23px}.lede{font-size:1.35rem;line-height:1.5}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin:30px 0}.text-link{font-weight:600;font-size:.94rem}.review-note,.muted{font-size:.82rem;line-height:1.55;color:#425a50}.review-note{margin-bottom:0}.hero-art{height:560px;position:relative;isolation:isolate}.threads{position:absolute;width:100%;height:100%;color:#8da797;opacity:.8}.hero-node{position:absolute;background:var(--ivory);border:2px dashed var(--green);border-radius:50%;padding:21px 25px;text-align:center;font-weight:600;min-width:120px;z-index:2}.hero-node small{display:block;font-size:.61rem;font-weight:500}.webhook{top:7%;left:0}.mail{right:0;top:6%}.url{left:1%;bottom:12%}.argh{right:0;bottom:20%;font-size:.9rem;padding:20px 17px}.hub-node{position:absolute;left:28%;top:35%;background:var(--forest);color:var(--ivory);border-radius:50%;width:190px;height:160px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:Georgia,serif;font-size:1.8rem;box-shadow:0 0 0 10px #e5e8dc}.hub-node span{font: .64rem "Segoe UI",sans-serif;margin-top:10px}.agent{position:absolute;width:125px;height:165px;object-fit:contain;left:38%;bottom:5%;z-index:3;border-radius:25px}.art-caption{position:absolute;bottom:-12px;left:0;right:0;text-align:center;font-size:.7rem;color:#425a50}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.section-heading>p{font-size:.9rem;max-width:340px}.film-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.film-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:35px}video{display:block;width:100%;aspect-ratio:16/9;background:var(--forest);border-radius:7px}.playback-tools,.tour-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:15px 0}.playback-tools button,.playback-tools a,.tour-controls button{padding:8px 13px;border:1px solid var(--green);border-radius:3px;background:transparent;font-size:.83rem;text-decoration:none}.story-aside{background:#e7eadf;padding:28px;border-radius:6px;font-size:.9rem}.story-aside .eyebrow{font-size:.65rem}.story-aside ol{padding-left:22px}.story-aside li{margin:15px 0}.transcript{margin-top:20px}.transcript p{max-width:850px;font-size:.94rem}summary{cursor:pointer;font-weight:600;padding:14px 0}details[open]>summary{margin-bottom:15px}.status-legend{font-size:.85rem;max-width:950px}.status-legend>span{display:inline-flex;border:1px dashed var(--forest);border-radius:50%;width:25px;height:25px;align-items:center;justify-content:center;margin-right:6px}.explorer{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;margin-top:30px}.service-picker>label{display:block;font-size:.85rem;margin-bottom:6px}.service-picker select{width:100%;padding:10px;border:1px solid var(--green);background:var(--paper);color:var(--forest);border-radius:4px}.service-buttons{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.service-buttons button{border:1px dashed var(--green);color:var(--forest);background:transparent;border-radius:30px;padding:9px 16px;font-size:.82rem}.service-buttons button[aria-pressed=true]{background:var(--forest);color:white;border-style:solid}.service-panel{background:var(--forest);color:var(--ivory);padding:35px;border-radius:6px;min-height:330px}.service-panel h3{font-size:2.4rem;margin-bottom:12px}.service-panel .subtitle{font-size:.95rem;margin-top:-3px;margin-bottom:25px}.service-panel .availability{font-size:.78rem;border-top:1px solid #819a8e;padding-top:20px;margin-bottom:0}.service-panel .role-note{font-size:.8rem;color:#e7eadf}.tour-controls span{font-size:.78rem;margin-left:5px}.catalogue{border-top:1px solid var(--line);margin-top:32px}.catalogue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.catalogue-card{padding:24px;border:1px dashed var(--green);border-radius:4px}.catalogue-card h3{font-size:1.35rem;margin-bottom:12px}.catalogue-card p{font-size:.83rem}.catalogue-card .subtitle{font-size:.75rem;font-weight:600;margin-top:-5px}.catalogue-card .availability{font-size:.7rem;font-weight:600;margin-bottom:0}.waiting-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid var(--line)}.waiting-section>div>p{max-width:450px}.demo-label{display:inline-block;background:#ead7b5;border:1px solid #a88b55;border-radius:3px;padding:5px 10px;font-size:.77rem;font-weight:700}form>label{display:block;font-weight:600;font-size:.9rem;margin:0 0 6px}form>label span{font-weight:400;font-size:.78rem}form>input{width:100%;padding:13px;border:1px solid var(--green);border-radius:4px;background:var(--paper);margin-bottom:22px;color:var(--forest)}.consent{display:flex;align-items:start;gap:12px;font-size:.82rem;margin-bottom:15px}.consent input{width:20px;height:20px;flex-shrink:0;margin-top:3px;accent-color:var(--forest)}form .button{width:100%}form>.muted{margin-top:10px}#form-message:not(:empty){border-left:3px solid var(--green);padding:12px;background:#e7eadf;font-size:.9rem}.privacy{padding-top:15px;max-width:850px}.privacy h2{font-size:1.5rem}.privacy p{font-size:.85rem}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 6%;border-top:1px solid var(--line)}footer p{font-size:.75rem;margin:0}.skip-link{position:fixed;top:-100px;left:15px;z-index:20;padding:10px;background:white}.skip-link:focus{top:10px}@media(max-width:1000px){.hero{grid-template-columns:1fr 1fr;gap:10px}.hero-art{height:480px}.hero-node{padding:15px;min-width:100px}.hub-node{left:23%;width:160px;height:145px}.film-grid{grid-template-columns:1fr}.catalogue-grid{grid-template-columns:repeat(2,1fr)}.header-note{display:none}.site-header .small{margin-left:auto}}@media(max-width:700px){body{font-size:16px}.site-header{padding:12px 5%;min-height:72px;gap:10px}.brand{font-size:1.15rem}.small{font-size:.76rem;padding:9px 11px;gap:10px}main{padding:0 6%}section{padding:50px 0}.hero{grid-template-columns:1fr;padding-top:40px}.hero-art{height:440px;max-width:440px;width:100%;margin:auto}.hero-node{font-size:.82rem}.hub-node{left:29%;top:34%;width:150px;height:140px}.hero-copy>p{max-width:none}h1{font-size:3.5rem}.section-heading{display:block}.section-heading>p{max-width:none}.explorer,.waiting-section{grid-template-columns:1fr}.service-panel{min-height:270px;padding:27px}.catalogue-grid{grid-template-columns:1fr}.waiting-section{gap:20px}.tour-controls span{display:block;width:100%}footer{align-items:start;flex-direction:column;gap:10px}.agent{width:100px;height:145px}.story-aside{padding:23px}.argh{right:-4%;padding:17px 9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.coach-portrait{float:right;width:80px;height:130px;object-fit:contain;margin:0 0 12px 15px}
.brand-mark{width:32px;height:32px;object-fit:contain;margin-right:6px}
.coach-portrait{position:relative;height:auto}.coach-portrait>img{display:block;width:100%;height:auto}.school-badge{position:absolute;left:37%;top:25.4%;width:5%;aspect-ratio:1;background:#173f35;border-radius:15%;color:#cb963e;display:flex;align-items:center;justify-content:center;font:bold 3.2px Georgia,serif;line-height:1}.school-badge i{position:absolute;right:0;bottom:0;width:25%;height:25%;background:#b63835;border-radius:50%}

.agent{mix-blend-mode:multiply}
.robot-agent{width:105px;height:210px;left:39%;bottom:3%;background-image:url("../video/public/assets/yapai-robot-sprites.png");background-size:300% 100%;background-position:100% 0;background-repeat:no-repeat;border-radius:14px;mix-blend-mode:multiply}@media(max-width:700px){.robot-agent{width:90px;height:180px;left:40%;bottom:4%}}
.review-reference{border:2px solid var(--green);background:var(--paper);padding:20px;margin:18px 0}.review-reference .eyebrow{margin-bottom:12px}.review-token-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:15px}.review-token-grid span{display:flex;align-items:center;gap:7px;min-width:0}.review-token-grid code{overflow-wrap:anywhere}.review-reference label{display:block;font-weight:700;font-size:.85rem}.review-reference select{width:100%;padding:10px;margin:6px 0 12px;border:1px solid var(--green);background:white;color:var(--forest)}.review-reference output{display:block;padding:11px 12px;background:var(--forest);color:var(--ivory);font-size:.82rem;overflow-wrap:anywhere;user-select:text}.review-copy-row{display:flex;align-items:center;gap:12px;margin-top:12px}.review-copy-row button{padding:8px 12px;border:1px solid var(--green);background:transparent;color:var(--forest)}.review-copy-row span{font-size:.78rem}.review-example,.review-reference>p:last-child{font-size:.76rem;line-height:1.5;margin:14px 0 0}.review-example code{user-select:text}@media(max-width:700px){.review-token-grid{grid-template-columns:1fr}.review-copy-row{align-items:flex-start;flex-direction:column}}

.hero-art{background:var(--ivory)}

/* The hero graph uses real catalogue links over a lightweight relationship layer. */
.hero-service-graph{position:absolute;inset:0}.graph-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.graph-edge{stroke:#607e70;stroke-width:1.35;opacity:.82;vector-effect:non-scaling-stroke}.graph-edge-related{stroke:var(--ochre);stroke-width:1.25;stroke-dasharray:4 4;opacity:.88}.graph-node{--graph-x:50%;--graph-y:50%;position:absolute;left:var(--graph-x);top:var(--graph-y);z-index:3;display:inline-flex;align-items:center;gap:7px;max-width:112px;transform:translate(-50%,-50%);color:var(--forest);font-size:clamp(.62rem,.82vw,.76rem);font-weight:650;line-height:1.1;text-decoration:none;white-space:nowrap}.graph-node-from-left{transform:translate(0,-50%)}.graph-node-from-right{flex-direction:row-reverse;text-align:right;transform:translate(-100%,-50%)}.graph-node-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--forest);box-shadow:0 0 0 5px rgba(84,115,103,.12)}.graph-node-label{padding:2px 3px;background:rgba(246,242,233,.9)}.graph-node:hover,.graph-node:focus-visible{z-index:8}.graph-node:hover .graph-node-label,.graph-node:focus-visible .graph-node-label,.graph-node[aria-current=true] .graph-node-label{text-decoration:underline;text-underline-offset:4px}.graph-node:hover .graph-node-dot,.graph-node:focus-visible .graph-node-dot,.graph-node[aria-current=true] .graph-node-dot{background:var(--ochre);box-shadow:0 0 0 7px rgba(203,150,62,.18)}.graph-node:focus-visible{outline:2px solid #a25f00;outline-offset:6px;border-radius:2px}.graph-tooltip{position:absolute;left:50%;z-index:10;width:238px;padding:13px 15px;border:1px solid var(--ochre);border-radius:8px;background:var(--forest);color:var(--ivory);box-shadow:0 12px 28px rgba(23,63,53,.24);font-size:.72rem;font-weight:400;line-height:1.38;text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease,translate .12s ease}.graph-tooltip-above{bottom:calc(100% + 12px);translate:-50% 4px}.graph-tooltip-below{top:calc(100% + 12px);translate:-50% -4px}.graph-tooltip-align-left{left:0;right:auto;translate:0 4px}.graph-tooltip-align-left.graph-tooltip-below{translate:0 -4px}.graph-tooltip-align-right{left:auto;right:0;translate:0 4px}.graph-tooltip-align-right.graph-tooltip-below{translate:0 -4px}.graph-tooltip strong,.graph-tooltip span,.graph-tooltip small{display:block}.graph-tooltip strong{margin-bottom:5px;font-family:Georgia,serif;font-size:1rem;font-weight:400}.graph-tooltip small{margin-top:7px;color:#f1cf91;font-size:.63rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em}.graph-node:hover .graph-tooltip,.graph-node:focus-visible .graph-tooltip{opacity:1;visibility:visible;translate:-50% 0}.graph-node:hover .graph-tooltip-align-left,.graph-node:focus-visible .graph-tooltip-align-left,.graph-node:hover .graph-tooltip-align-right,.graph-node:focus-visible .graph-tooltip-align-right{translate:0 0}.hero-art .hub-node{left:50%;top:45%;width:158px;height:122px;transform:translate(-50%,-50%);z-index:4;text-decoration:none}.hero-art .hub-node:focus-visible{outline:3px solid #a25f00;outline-offset:8px}.hero-art .robot-agent{left:45.5%;bottom:6%;width:74px;height:148px;z-index:2}.graph-badge{position:absolute;right:3%;bottom:2%;z-index:4;padding:5px 8px;border:1px solid var(--line);border-radius:20px;background:rgba(255,252,246,.94);font-size:.62rem;letter-spacing:.02em}.art-caption{bottom:-16px}.hero-art{height:580px}
@media(max-width:1000px){.hero-art{height:520px}.graph-node{font-size:.61rem;gap:5px}.graph-node-dot{width:7px;height:7px;flex-basis:7px}.hero-art .hub-node{width:132px;height:106px;font-size:1.4rem}.hero-art .robot-agent{width:62px;height:124px;left:46%}}
@media(max-width:700px){.hero-art{height:430px;margin-top:16px}.graph-node{font-size:.58rem;gap:4px;max-width:76px}.graph-node-dot{width:6px;height:6px;flex-basis:6px;box-shadow:0 0 0 3px rgba(84,115,103,.12)}.graph-node-label{padding:1px 2px}.graph-tooltip{width:190px;padding:10px 12px;font-size:.65rem}.graph-tooltip strong{font-size:.88rem}.hero-art .hub-node{left:50%;top:45%;width:112px;height:86px;font-size:1.18rem;box-shadow:0 0 0 6px #e5e8dc}.hero-art .hub-node span{font-size:.48rem;margin-top:5px}.hero-art .robot-agent{width:50px;height:100px;left:46%;bottom:7%}.graph-badge{right:1%;bottom:0;font-size:.52rem}.art-caption{bottom:-20px;font-size:.61rem}}

.service-picker-label{font-size:.85rem;font-weight:650;margin:0 0 10px}.service-buttons{align-items:flex-start;gap:11px 10px}.service-buttons button[role=radio]{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:39px;border-style:solid;border-color:#708d80;background:var(--paper);box-shadow:0 4px 0 #789083,0 7px 10px rgba(23,63,53,.12);transform:translateY(0);transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.service-buttons button[role=radio]::before{content:"";width:9px;height:9px;flex:0 0 9px;border:1.5px solid currentColor;border-radius:50%;background:transparent}.service-buttons button[role=radio]:hover:not([aria-checked=true]){transform:translateY(-1px);box-shadow:0 5px 0 #789083,0 9px 13px rgba(23,63,53,.14)}.service-buttons button[role=radio][aria-checked=true]{background:var(--forest);color:white;border-color:var(--forest);box-shadow:inset 0 4px 7px rgba(0,0,0,.35),0 1px 0 #789083;transform:translateY(4px)}.service-buttons button[role=radio][aria-checked=true]::before{border-color:#f4d598;background:var(--ochre);box-shadow:inset 0 0 0 2px var(--forest)}.service-buttons button[role=radio]:focus-visible{outline:3px solid #a25f00;outline-offset:5px}@media(prefers-reduced-motion:reduce){.service-buttons button[role=radio]{transition:none}}

.service-index{max-width:1050px;margin:-4px 0 24px;font-size:.86rem;color:#36574c}.questions{border-top:1px solid var(--line)}.questions>h2{margin-bottom:28px}.question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.question-grid details{border:1px solid var(--line);border-radius:5px;background:var(--paper);padding:4px 22px}.question-grid summary{font-family:Georgia,serif;font-size:1.18rem;line-height:1.25}.question-grid p{font-size:.88rem;margin:0 0 18px}.question-grid details[open]>summary{margin-bottom:6px}@media(max-width:700px){.question-grid{grid-template-columns:1fr}.question-grid details{padding:3px 18px}}

/* Project progress and access are presented separately, with textual stage cues. */
.availability{display:grid;gap:5px}.availability strong,.availability span,.availability a{display:block}.availability strong{font-size:.76rem;letter-spacing:.03em}.availability span{font-size:.72rem;line-height:1.45;font-weight:400}.availability .project-link{margin-top:4px;font-size:.72rem;font-weight:650}.stage-established strong{color:#2f6b45}.stage-active strong{color:#315f70}.stage-design strong{color:#7a571c}.stage-roadmap strong{color:#695c70}.service-panel .stage-established strong{color:#bfe0c9}.service-panel .stage-active strong{color:#c5e3ee}.service-panel .stage-design strong{color:#f1cf91}.service-panel .stage-roadmap strong{color:#ddd2e5}.service-panel .availability a{color:var(--ivory)}

.availability .project-name{margin-top:4px;font-size:.7rem;font-weight:650;letter-spacing:.02em}

/* Keep the agent prominent without crowding the lower service labels. */
.hero-art .robot-agent{left:44%;bottom:14%;width:94px;height:188px}
@media(max-width:1000px){.hero-art .robot-agent{left:44.5%;bottom:13%;width:80px;height:160px}}
@media(max-width:700px){.hero-art .robot-agent{left:44%;bottom:12%;width:64px;height:128px}}
.form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.privacy-note{max-width:650px}.admin-page{min-height:65vh;padding-top:60px;padding-bottom:80px}.admin-title{font-size:clamp(2.6rem,5vw,4.5rem)}.admin-panel{margin:30px 0;padding:clamp(20px,4vw,38px);border:1px solid var(--line);border-radius:6px;background:var(--paper)}.admin-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.admin-heading h2{font-size:clamp(1.7rem,3vw,2.5rem)}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.admin-toolbar .muted{margin:0}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:.88rem}th,td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;background:#e7eadf}.admin-secondary{margin-top:20px;padding:10px 16px;border:1px solid var(--green);border-radius:4px;background:transparent;color:var(--forest)}.admin-export{margin-top:0;white-space:nowrap}.admin-error{color:#8a2e24}@media(max-width:700px){.admin-page{padding-top:40px}.admin-heading{flex-direction:column}.admin-toolbar{align-items:flex-start;flex-direction:column}th,td{padding:10px 9px}}.admin-delete{padding:7px 10px;border:1px solid #8a2e24;border-radius:4px;background:transparent;color:#8a2e24;font-size:.78rem}.admin-delete:hover{background:#8a2e24;color:white}
