.general-page { --g-ink:#163452; --g-teal:#1aaeb2; --g-coral:#f27c79; --g-cream:#fff8e9; color:#30465a; font-size:clamp(16px,1.02vw,17px); line-height:1.9; overflow:hidden; }
.general-shell { width:min(1160px,calc(100% - 48px)); margin-inline:auto; }
.general-page h1,.general-page h2,.general-page h3 { color:var(--g-ink); letter-spacing:.045em; line-height:1.45; }
.general-page h2 { margin:0 0 24px; font-size:clamp(28px,3.2vw,42px); }
.general-page h3 { margin:0 0 15px; font-size:clamp(20px,2vw,25px); }
.general-page p { margin:0 0 1.15em; }
.general-kicker { margin-bottom:8px!important; color:var(--g-teal); font-size:12px; font-weight:700; letter-spacing:.24em; }
.general-hero { padding:34px 0 90px; background:linear-gradient(135deg,#f2fcfc 0 64%,#fff3ee 64%); }
.general-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:48px; color:#728497; font-size:14px; }
.general-breadcrumb a { color:inherit; text-decoration:none; }
.general-hero__grid { display:grid; grid-template-columns:.88fr 1.12fr; gap:70px; align-items:center; }
.general-hero h1 { margin:0 0 16px; font-size:clamp(36px,4.3vw,58px); line-height:1.42; }
.general-hero__lead { max-width:440px; font-size:clamp(16px,1.25vw,19px); font-weight:500; }
.general-handline { display:block; width:210px; height:13px; margin-top:35px; border-top:4px solid var(--g-coral); border-radius:50%; transform:rotate(-3deg); }
.general-hero__photo { position:relative; margin:0; }
.general-hero__photo::before { position:absolute; inset:-20px 24px 20px -20px; border:2px solid rgba(26,174,178,.35); border-radius:46% 54% 43% 57%; content:""; transform:rotate(-2deg); }
.general-hero__photo img { position:relative; display:block; width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:52% 48% 45% 55% / 43% 48% 52% 57%; }
.general-hero__photo figcaption { position:absolute; right:-12px; bottom:-24px; padding:12px 18px; background:#fff; box-shadow:0 10px 30px rgba(22,52,82,.12); font-size:13px; transform:rotate(2deg); }
.general-manifesto { padding:110px 0; background:#fff; }
.general-manifesto__grid { display:grid; grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr); grid-template-areas:"title title" "photo copy"; gap:42px 82px; align-items:start; }
.general-manifesto__title { grid-area:title; position:relative; padding-bottom:24px; border-bottom:1px solid rgba(22,52,82,.16); }
.general-manifesto__title h2 { margin-bottom:0; font-size:clamp(38px,4.5vw,58px); }
.general-manifesto__photo { grid-area:photo; width:100%; }
.general-manifesto__copy { grid-area:copy; max-width:650px; columns:1; }
.general-manifesto__copy p { break-inside:avoid; }
.general-pmtc { position:relative; overflow:hidden; padding:105px 0 78px; background:var(--g-cream); }
.general-pmtc__inner { position:relative; display:grid; grid-template-columns:1fr 190px; gap:54px; align-items:center; }
.general-topic-word { position:absolute; left:-28px; top:-92px; z-index:0; color:rgba(242,124,121,.095); font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(82px,12vw,150px); font-weight:600; letter-spacing:.04em; line-height:1; white-space:nowrap; pointer-events:none; user-select:none; }
.general-pmtc__inner>div:not(.general-topic-word),.general-pmtc__mark { position:relative; z-index:1; }
.general-pmtc__mark { display:grid; width:175px; height:175px; place-items:center; align-content:center; border-radius:50%; background:#fff; color:#70808b; text-align:center; transform:rotate(6deg); }
.general-pmtc__mark strong { color:var(--g-teal); font-size:28px; }
.general-diagnosis { position:relative; overflow:hidden; padding:145px 0 120px; background:#eef9f9; }
.general-section-head { position:relative; margin-bottom:60px; }
.general-section-head>div { position:relative; z-index:1; }
.general-section-head .general-topic-word { left:-15px; top:-112px; color:rgba(26,174,178,.09); }
.general-diagnosis__grid { display:grid; grid-template-columns:320px minmax(0,1fr); gap:70px; align-items:start; }
.general-diagnosis__media { display:grid; gap:26px; }
.general-diagnosis__visual { width:100%; margin:0; overflow:hidden; border:1px solid #d3e7e7; border-radius:20px; background:#fff; box-shadow:0 18px 42px rgba(22,52,82,.08); }
.general-diagnosis__visual img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.general-diagnosis__visual figcaption { display:grid; gap:3px; padding:17px 20px 19px; border-top:1px solid #e1eeee; }
.general-diagnosis__visual figcaption strong { color:#173b5d; font-size:17px; }
.general-diagnosis__visual figcaption span { color:#667986; font-size:13px; line-height:1.65; }
.general-diagnosis__visual--device { background:#fff; }
.general-diagnosis__visual--device img { object-fit:contain; }
.general-document-photo { width:fit-content; max-width:100%; margin:0; padding:12px; background:#fff; border:1px solid #dce8e8; box-shadow:0 14px 35px rgba(22,52,82,.08); transform:rotate(-1deg); }
.general-document-photo img { display:block; width:auto; max-width:100%; height:auto; }
.general-document-photo figcaption { padding:9px 4px 0; color:#7b8995; font-size:12px; }
.general-story h3 { position:relative; margin-top:42px; padding-left:22px; }
.general-story h3:first-child { margin-top:0; }
.general-story h3::before { position:absolute; left:0; top:.3em; width:7px; height:1.2em; border-radius:5px; background:var(--g-coral); content:""; }
.general-flow { padding:84px 0; background:#fff8e9; }
.general-flow__head { max-width:920px; margin:0 auto 38px; }
.general-flow__head>p:last-child { color:#607283; }
.general-flow__list { display:grid; gap:28px; max-width:920px; margin:0 auto; padding:0; list-style:none; }
.general-flow__list li { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:34px; align-items:center; padding:24px 28px; border:1px solid rgba(220,207,169,.72); border-radius:18px; background:rgba(255,255,255,.76); box-shadow:0 12px 28px rgba(66,52,20,.055); }
.general-flow__list li:nth-child(even) { grid-template-columns:250px minmax(0,1fr); }
.general-flow__list li:nth-child(even) .general-flow__copy { order:2; }
.general-flow__list li:nth-child(even) figure { order:1; }
.general-flow__list li:not(:last-child)::after { position:absolute; left:50%; bottom:-23px; z-index:2; display:grid; width:30px; height:30px; place-items:center; border:1px solid rgba(32,174,181,.38); border-radius:50%; background:#fff8e9; color:var(--g-teal); font-size:17px; font-weight:700; line-height:1; content:"↓"; transform:translateX(-50%); }
.general-flow__copy>span { color:var(--g-coral); font-size:11px; font-weight:700; letter-spacing:.18em; }
.general-flow__copy h3 { margin:7px 0 9px; font-size:clamp(21px,2vw,27px); }
.general-flow__copy p { max-width:620px; margin:0; }
.general-flow__list figure { width:100%; max-width:250px; margin:0; overflow:hidden; background:#fff; }
.general-flow__list figure img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; object-position:center; }
.general-flow__note { max-width:920px; margin:28px auto 0!important; padding:16px 20px; border-left:3px solid var(--g-teal); background:#fff; color:#667684; font-size:13px; line-height:1.75; }
.general-tools { padding:120px 0; background:#fff; }
.general-tools>.general-shell { display:grid; grid-template-columns:.65fr 1.35fr; gap:80px; }
.general-tools__intro { position:sticky; top:120px; align-self:start; }
.general-tools__cards { display:grid; gap:35px; }
.general-tool-card { position:relative; overflow:hidden; padding:92px 42px 42px; border-radius:4px 42px 4px 42px; background:#f7fbfb; }
.general-tool-card:nth-child(2) { background:#fff6f2; }
.general-tool-card__word { position:absolute; left:18px; top:10px; color:rgba(26,174,178,.09); font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(52px,6vw,82px); font-weight:600; letter-spacing:.03em; line-height:1; white-space:nowrap; pointer-events:none; user-select:none; }
.general-tool-card:nth-child(2) .general-tool-card__word { color:rgba(242,124,121,.1); }
.general-tool-card>*:not(.general-tool-card__word) { position:relative; z-index:1; }
.general-tool-card .general-document-photo { width:100%; max-width:100%; margin-bottom:30px; }
.general-tool-card .general-document-photo img { width:100%; aspect-ratio:3/1; object-fit:cover; border-radius:14px; }
.general-tool-card:nth-child(2) .general-document-photo img { aspect-ratio:3/1; }
.general-added { padding:110px 0; background:#173b5d; color:#e9f1f5; }
.general-added__grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,.16); }
.general-added article { padding:40px; background:#173b5d; }
.general-added h2 { color:#fff; font-size:clamp(25px,2.5vw,34px); }
.general-added ul { margin:26px 0 0; padding-left:1.2em; }
.general-added li { margin:.5em 0; }
@media(max-width:800px){.general-shell{width:min(100% - 32px,660px)}.general-hero{padding-bottom:68px}.general-hero__grid,.general-manifesto__grid,.general-diagnosis__grid,.general-tools>.general-shell{grid-template-columns:1fr;gap:48px}.general-hero__photo{max-width:520px}.general-manifesto{padding:76px 0}.general-manifesto__copy{columns:1}.general-manifesto__title::after{display:none}.general-pmtc{padding-top:90px}.general-pmtc__inner{grid-template-columns:1fr}.general-pmtc__mark{display:none}.general-topic-word{left:-8px;top:-70px;font-size:72px}.general-diagnosis,.general-tools,.general-added{padding:90px 0 76px}.general-flow{padding:62px 0 68px}.general-section-head{margin-bottom:38px}.general-section-head .general-topic-word{left:-8px;top:-68px;font-size:66px}.general-diagnosis__media{gap:20px}.general-diagnosis__visual{border-radius:16px}.general-diagnosis__visual figcaption{padding:15px 17px 17px}.general-flow__head{margin-bottom:28px}.general-flow__list{gap:24px}.general-flow__list li,.general-flow__list li:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(112px,38%);gap:14px;padding:18px 16px;border-radius:14px}.general-flow__list li:nth-child(even) .general-flow__copy{order:1}.general-flow__list li:nth-child(even) figure{order:2}.general-flow__copy h3{margin:5px 0 7px;font-size:19px;line-height:1.45}.general-flow__copy p{font-size:14px;line-height:1.7}.general-flow__copy>span{font-size:9px}.general-flow__list figure{max-width:none}.general-flow__list figure img{aspect-ratio:4/3}.general-flow__list li:not(:last-child)::after{bottom:-20px;width:26px;height:26px;font-size:15px}.general-flow__note{margin-top:24px!important;padding:14px 16px}.general-tools__intro{position:static}.general-tool-card{padding:74px 28px 28px}.general-tool-card__word{left:12px;top:12px;font-size:50px}.general-added article{padding:28px}.general-added__grid{grid-template-columns:1fr}}
/* Supporting document imagery stays secondary to the explanation. */
@media (min-width:801px){.general-diagnosis__media{position:sticky;top:116px}}
