

body:has(main.geo-master) .l-header,
body:has(main.geo-master) .l-fixHeader,
body:has(main.geo-master) .p-breadcrumb,
body:has(main.geo-master) .l-sidebar,
body:has(main.geo-master) .l-footer,
body:has(main.geo-master) .p-articleHead,
body:has(main.geo-master) .p-articleMetas,
body:has(main.geo-master) .p-articleFoot,
body:has(main.geo-master) .c-shareBtns,
body:has(main.geo-master) .p-fixBtnWrap,
body:has(main.geo-master) .c-pageTitle{display:none!important}
body:has(main.geo-master) .l-content,
body:has(main.geo-master) .l-content__inner,
body:has(main.geo-master) .l-mainContent,
body:has(main.geo-master) .l-mainContent__inner,
body:has(main.geo-master) .post_content,
body:has(main.geo-master) #main_content,
body:has(main.geo-master) #content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body:has(main.geo-master) .post_content>p:empty{display:none!important}
main.geo-master{width:min(100%,1536px)!important;max-width:1536px!important;margin:0 auto!important;padding:0!important}
main.geo-master :where(h1,h2,h3,h4,h5,h6,p,ul,ol){margin-block:0}
main.geo-master :where(h1,h2,h3,h4,h5,h6){border:0!important;background:none!important;box-shadow:none!important;color:inherit;padding:0}
main.geo-master :where(h1,h2,h3,h4,h5,h6)::before,
main.geo-master :where(h1,h2,h3,h4,h5,h6)::after{content:none!important;display:none!important}
@media(prefers-reduced-motion:reduce){
html:has(main.geo-master),main.geo-master{scroll-behavior:auto!important}
}

main.geo-master{
  --ink:#111410;
  --green:#238f43;
  --green-deep:#176d35;
  --lime:#82bd45;
  --yellow:#f4c747;
  --paper:#fffef8;
  --pale:#eef6e9;
  --pale-2:#e3f0de;
  --line:#bfd5b8;
  --muted:#526052;
  --shadow:0 16px 34px rgba(36,72,31,.12);
  --display:clamp(54px,5.25vw,82px);
  --section-title:clamp(34px,3.15vw,50px);
  --card-title:clamp(17px,1.45vw,22px);
  --small:13px;
  --body:clamp(14px,1.05vw,16px);
  --label:12px;
  color:var(--ink);
  font-family:"Noto Sans JP","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;
  font-synthesis:none;
  --page-progress:0;
}
*{box-sizing:border-box}
html:has(main.geo-master){scroll-behavior:smooth;background:#e8efe3}
body:has(main.geo-master){margin:0;min-width:320px;background:#e8efe3;color:var(--ink);-webkit-font-smoothing:antialiased}
main.geo-master button,main.geo-master input,main.geo-master textarea{font:inherit}
main.geo-master button,main.geo-master a{touch-action:manipulation}
main.geo-master img,main.geo-master svg{display:block;max-width:100%}
.geo-master{position:relative;width:min(100%,1536px);margin-inline:auto;overflow:clip;background:var(--paper);box-shadow:0 0 54px rgba(28,58,27,.12);line-height:1.68}
.geo-master :where(h1,h2,h3,p,ul,ol){margin:0}
.geo-master :where(ul,ol){padding:0}
.site-header{position:relative;z-index:30;display:grid;grid-template-columns:minmax(340px,1fr) auto auto;align-items:center;gap:28px;min-height:84px;padding:12px clamp(28px,4.2vw,68px);border-bottom:1px solid rgba(35,143,67,.13);background:rgba(255,254,248,.96)}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}
.brand-mark{display:grid;place-items:center;width:44px;height:44px;border:3px solid var(--green);border-radius:8px;color:var(--green);font-size:var(--card-title);font-weight:1000}
.brand small,.brand strong{display:block}
.brand small{color:var(--green);font-size:var(--label);font-weight:800}
.brand strong{font-size:var(--card-title);line-height:1.25}
.brand b{display:inline-block;margin-left:6px;padding:2px 8px;background:var(--green-deep);color:#fff}
.site-header nav{display:flex;gap:25px}
.site-header nav a{color:var(--ink);font-size:var(--small);font-weight:800;text-decoration:none}
.site-header nav a:hover{color:var(--green)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 24px;border:0;border-radius:10px;background:var(--green);box-shadow:0 8px 18px rgba(21,110,50,.2);color:#fff;font-size:var(--body);font-weight:900;line-height:1.4;text-align:center;text-decoration:none;cursor:pointer;transition:transform .18s ease,background .18s ease}
.button:hover{background:var(--green-deep);transform:translateY(-2px)}
.button:focus-visible,.faq button:focus-visible,input:focus-visible,textarea:focus-visible{outline:4px solid var(--yellow);outline-offset:3px}
.button-small{min-height:50px;padding:9px 20px;font-size:var(--small)}
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px!important;color:var(--green-deep);font-size:var(--label);font-weight:1000;letter-spacing:.22em}
.eyebrow:after{content:"";width:110px;height:1px;background:var(--line)}
.hero{position:relative;display:grid;grid-template-columns:42% 58%;min-height:690px;padding:54px clamp(28px,4.2vw,68px) 34px;background:#fffef9}
.hero-copy{position:relative;z-index:5;padding-top:18px}
.hero h1{font-size:var(--display);font-weight:950;line-height:1.04;letter-spacing:-.06em}
.hero-sub{margin-top:18px!important;font-size:var(--card-title);font-weight:900;letter-spacing:-.035em}
.hero-lead{margin-top:28px!important;max-width:520px;color:#263027;font-size:var(--body);font-weight:650;line-height:1.9}
.hero .button{margin-top:25px}
.hero-scene{position:relative;align-self:stretch;min-width:0}
.hero-bg{position:absolute;inset:-30px -68px -34px -80px;width:calc(100% + 148px);height:calc(100% + 64px);object-fit:cover;object-position:63% 50%;opacity:.98}
.mascot{object-fit:contain;filter:drop-shadow(0 10px 12px rgba(41,74,35,.17))}
.hero-frog{position:absolute;z-index:4;left:16%;top:23%;width:31%;transform:translateY(calc(var(--page-progress) * 30px))}
.hero-chip{position:absolute;z-index:3;display:grid;place-items:center;width:154px;min-height:82px;padding:10px 14px;border:1px solid var(--line);border-radius:40% 60% 55% 45%;background:rgba(255,255,255,.9);box-shadow:var(--shadow);text-align:center}
.hero-chip b,.hero-chip span{display:block}.hero-chip b{font-size:var(--small)}.hero-chip span{color:var(--green);font-size:var(--label);font-weight:850}
.chip-a{left:6%;bottom:14%}.chip-b{left:30%;bottom:5%}.chip-c{right:18%;bottom:16%}.chip-d{right:-1%;bottom:2%}
.section-grid{display:grid;grid-template-columns:30% 70%;min-height:390px;padding:32px clamp(28px,4.2vw,68px);border-top:1px solid rgba(35,143,67,.12)}
.section-intro{padding:20px 38px 20px 0}
.section-intro h2,.method h2,.about h2,.seo-title h2,.themes h2,.flow h2,.fit-faq h2,.final-zone h2{font-size:var(--section-title);font-weight:950;line-height:1.22;letter-spacing:-.045em}
.section-intro>p{margin-top:22px!important;color:var(--muted);font-size:var(--body);font-weight:650}
.legend{display:grid;gap:8px;margin-top:28px!important;list-style:none}.legend li{position:relative;padding-left:34px;font-size:var(--small);font-weight:750}.legend li:before{content:"";position:absolute;left:0;top:.65em;width:22px;height:5px;border-radius:99px;background:var(--green)}.legend li:nth-child(2):before{background:var(--lime)}.legend li:nth-child(3):before{height:0;border-top:3px dotted var(--yellow);background:none}
.shift{background:#fbfdf7}
.compare-board{position:relative;display:grid;grid-template-columns:1fr 54px 1fr;align-items:center;padding:24px 150px 24px 20px}
.compare-board article{position:relative;min-height:230px;padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}
.compare-board article>span{display:inline-block;padding:5px 13px;border-radius:999px;background:#f1f3ee;font-size:var(--label);font-weight:900}
.compare-board .future>span{background:var(--green);color:#fff}
.compare-board h3{margin-top:13px!important;font-size:var(--card-title);line-height:1.4}
.compare-arrow{display:grid;place-items:center;width:38px;height:38px;margin:auto;border-radius:50%;background:var(--green);color:#fff;font-size:var(--card-title);font-weight:900}
.doc-network{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px;padding:18px;border-radius:13px;background:var(--pale)}
.doc-network:after{content:"";position:absolute;inset:50% 10%;border-top:2px dashed var(--green);opacity:.5}
.doc-network span,.doc-network b{position:relative;z-index:1;display:block;min-height:64px;border:1px solid var(--line);background:#fff;box-shadow:0 6px 12px rgba(32,65,29,.08)}
.doc-network span:nth-child(4),.doc-network span:nth-child(5){transform:translateX(55%)}
.doc-network b{display:grid;place-items:center;border:0;background:var(--green);color:#fff;font-size:var(--card-title)}
.compare-frog{position:absolute;right:-5px;bottom:0;width:190px}
.method{display:grid;grid-template-columns:49% 51%;min-height:450px;border-top:1px solid rgba(35,143,67,.13);background:#f5f8ee}
.workbench{position:relative;align-self:stretch;overflow:hidden}
.workbench>img:first-child{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.workbench:after{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.75);pointer-events:none}
.workbench-frog{position:absolute;z-index:3;right:5%;bottom:-3%;width:27%}
.method-copy{padding:50px clamp(28px,4.2vw,68px) 38px 48px}
.method-copy>p{margin-top:20px!important;color:var(--muted);font-size:var(--body);font-weight:650}
.method-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px!important;list-style:none}
.method-steps li{min-height:150px;padding:16px 13px;border:1px solid var(--line);border-radius:12px;background:#fff}
.method-steps b,.method-steps strong,.method-steps span{display:block}.method-steps b{color:var(--green);font-size:var(--label)}.method-steps strong{margin-top:19px;font-size:var(--body);line-height:1.45}.method-steps span{margin-top:10px;color:var(--muted);font-size:var(--label);font-weight:650}
.about{display:grid;grid-template-columns:31% 37% 32%;min-height:270px;padding:32px clamp(28px,4.2vw,68px);border-top:1px solid rgba(35,143,67,.12);background:#fffef8}
.about>div:first-child{padding-right:36px}.about>div:first-child>p:last-child{margin-top:20px!important;color:var(--muted);font-size:var(--body);font-weight:650}
.principles{display:grid;gap:13px;padding:10px 32px;border-left:1px solid var(--line)}
.principles article{position:relative;padding:12px 12px 12px 50px}
.principles article:before{content:"✓";position:absolute;left:6px;top:10px;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--green);color:#fff;font-weight:900}
.principles b,.principles span{display:block}.principles b{font-size:var(--body)}.principles span{margin-top:5px;color:var(--muted);font-size:var(--label);font-weight:650}
.about-visual{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding-left:25px}
.approved-doc{width:150px;min-height:210px;padding:20px;border:2px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.approved-doc span{display:block;padding-bottom:12px;border-bottom:1px solid var(--line);color:var(--green);font-weight:900}.approved-doc i{display:block;width:100%;height:8px;margin-top:17px;background:var(--pale-2)}.approved-doc i:nth-child(3){width:72%}
.about-visual .mascot{position:absolute;right:9%;bottom:5%;width:43%}.about-visual p{position:absolute;right:0;top:4%;padding:10px 14px;border-radius:12px;background:var(--pale);color:var(--green-deep);font-size:var(--small);font-weight:900}
.seo-geo{position:relative;display:grid;grid-template-columns:1.05fr 1fr 42px 1fr 42px 1fr;gap:16px;align-items:center;min-height:280px;padding:28px clamp(28px,4.2vw,68px) 56px;border-top:1px solid rgba(35,143,67,.13);background:#f5f8ee}
.seo-title{padding-right:16px}.seo-title p{margin-top:18px!important;color:var(--muted);font-size:var(--small);font-weight:650}
.seo-geo article{min-height:180px;padding:23px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 10px 22px rgba(35,72,32,.08)}
.seo-geo article span,.seo-geo article b,.seo-geo article small{display:block}.seo-geo article span{color:var(--green);font-size:var(--body);font-weight:950}.seo-geo article b{margin-top:40px;font-size:var(--card-title)}.seo-geo article small{margin-top:14px;color:var(--muted);font-size:var(--label);font-weight:650;line-height:1.75}.seo-geo .asset-card{background:#f4faed}.math{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--green);color:#fff;font-size:var(--card-title);font-weight:1000}.seo-geo>.mascot{position:absolute;right:0;bottom:-2%;width:138px}
.themes{position:relative;min-height:270px;padding:34px clamp(28px,4.2vw,68px);border-top:1px solid rgba(35,143,67,.13);background:#fffef8}
.themes-title{position:absolute;left:clamp(28px,4.2vw,68px);top:42px;width:240px}.themes-title .mascot{position:absolute;right:-60px;bottom:-150px;width:128px}.themes-title h2{font-size:var(--section-title)}
.route{position:absolute;z-index:0;overflow:visible;pointer-events:none}.route path{fill:none;stroke-linecap:round}.route-track{stroke:#d6e7d1;stroke-width:8}.route-live{stroke:var(--green);stroke-width:5;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--page-progress))}
.themes-route{left:270px;right:30px;bottom:30px;width:calc(100% - 300px);height:180px}
.theme-cards{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-left:320px;padding-top:45px}
.theme-cards article{min-height:148px;padding:17px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 10px 22px rgba(35,72,32,.08)}
.theme-cards b{color:var(--green);font-size:var(--small)}.theme-cards p{margin-top:22px!important;font-size:var(--small);font-weight:750;line-height:1.6}
.flow{position:relative;display:grid;grid-template-columns:250px 1fr 120px;gap:25px;align-items:center;min-height:280px;padding:34px clamp(28px,4.2vw,68px);border-top:1px solid rgba(35,143,67,.13);background:#f6f8ee}
.flow-title h2{font-size:var(--section-title)}.flow-title p{margin-top:16px!important;color:var(--muted);font-size:var(--small);font-weight:650}
.flow ol{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);gap:0;list-style:none}
.flow li{min-height:185px;padding:15px 18px;border:1px solid var(--line);border-right:0;background:rgba(255,255,255,.95)}.flow li:first-child{border-radius:14px 0 0 14px}.flow li:last-child{border-right:1px solid var(--line);border-radius:0 14px 14px 0}.flow li b,.flow li strong,.flow li span{display:block}.flow li b{color:var(--green);font-size:var(--label)}.flow li strong{margin-top:20px;font-size:var(--body)}.flow li span{margin-top:10px;color:var(--muted);font-size:var(--label);font-weight:650}.flow>.mascot{width:120px}.flow-route{left:230px;right:70px;bottom:22px;width:calc(100% - 300px);height:190px}
.fit-faq{display:grid;grid-template-columns:44% 56%;min-height:285px;border-top:1px solid rgba(35,143,67,.13);background:#fffef8}
.fit,.faq{position:relative;padding:30px clamp(28px,4.2vw,68px)}.fit{border-right:1px solid var(--line);overflow:hidden}.fit h2,.faq h2{font-size:var(--section-title)}
.fit ul{display:grid;gap:8px;margin-top:24px!important;list-style:none}.fit li{position:relative;padding-left:22px;font-size:var(--small);font-weight:750}.fit li:before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--green)}
.city-block{position:absolute;right:35px;bottom:0;display:flex;align-items:end;gap:7px;height:135px;opacity:.62}.city-block i{display:block;width:38px;height:90px;background:var(--pale-2);border:1px solid var(--line)}.city-block i:nth-child(2){height:128px}.city-block i:nth-child(3){height:75px}.city-block i:nth-child(4){height:105px}
.faq article{position:relative;border-bottom:1px solid var(--line)}.faq button{display:flex;justify-content:space-between;gap:20px;width:100%;padding:14px 0;border:0;background:none;color:var(--ink);font-size:var(--small);font-weight:850;text-align:left;cursor:pointer}.faq button b{color:var(--green);font-size:var(--card-title)}.faq article p{display:none;padding:0 28px 14px 0;color:var(--muted);font-size:var(--label);font-weight:650}.faq article.open p{display:block}.faq-frog{position:absolute;right:5%;bottom:-4%;width:112px}
.final-zone{display:grid;grid-template-columns:55% 45%;min-height:520px;border-top:1px solid rgba(35,143,67,.13);background:#f2f6ec}
.responsibility,.contact{position:relative;padding:32px clamp(28px,4.2vw,68px)}.responsibility{overflow:hidden;border-right:1px solid var(--line)}.responsibility>p{margin-top:12px!important;color:var(--muted);font-size:var(--small);font-weight:650}
.responsibility-grid{display:grid;grid-template-columns:1fr 44px 1fr;align-items:center;gap:10px;margin-top:30px}
.responsibility-grid article{min-height:200px;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.responsibility-grid .client{background:#fff7df}.responsibility-grid h3{color:var(--green);font-size:var(--body)}.responsibility-grid ul{display:grid;gap:10px;margin-top:23px!important;list-style:none}.responsibility-grid li{font-size:var(--label);font-weight:700}.boundary-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--green);color:#fff;font-size:var(--card-title);font-weight:900}.responsibility>.mascot{position:absolute;left:31%;bottom:-4%;width:190px}
.contact{background:#fffef9}.contact-heading{display:grid;grid-template-columns:1fr 130px;align-items:end}.contact-heading h2{font-size:var(--section-title)}.contact-heading p{margin-top:9px!important;color:var(--muted);font-size:var(--label);font-weight:650}.contact-heading .mascot{width:125px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:22px}.contact label{display:grid;gap:6px;color:#273027;font-size:var(--label);font-weight:850}.contact>label{margin-top:13px}.contact input,.contact textarea{width:100%;min-height:43px;padding:9px 11px;border:1.5px solid var(--line);border-radius:7px;background:#fff}.contact textarea{min-height:92px;resize:vertical}.consent{grid-template-columns:20px 1fr!important;align-items:start}.consent input{width:17px;height:17px;min-height:0;margin:2px 0 0}.submit{width:100%;margin-top:15px}.form-status{min-height:24px;margin-top:8px!important;color:var(--green-deep);font-size:var(--label);font-weight:800}
footer{display:flex;justify-content:space-between;align-items:center;min-height:74px;padding:16px clamp(28px,4.2vw,68px);border-top:1px solid var(--line);background:#fff}footer span{color:var(--green);font-size:var(--card-title);font-weight:950}footer small{color:var(--muted)}
@media(max-width:1100px){
  .site-header{grid-template-columns:1fr auto}.site-header nav{display:none}
  .hero{grid-template-columns:46% 54%;min-height:520px}.hero-chip{width:125px}.hero-bg{object-position:60% 50%}
  .method-steps{grid-template-columns:1fr 1fr}.method-steps li{min-height:130px}
  .seo-geo{grid-template-columns:1fr 1fr 36px 1fr}.seo-title{grid-column:1/-1}.seo-geo>.math:nth-of-type(2){display:none}.seo-geo .asset-card{display:none}
  .themes-title{position:relative;left:auto;top:auto;width:auto}.themes-title .mascot{right:0;bottom:-90px}.theme-cards{margin-left:0;padding-top:90px}.themes-route{left:0;width:100%}
  .flow{grid-template-columns:1fr}.flow ol{grid-column:1}.flow>.mascot{position:absolute;right:20px;top:24px}
}
@media(max-width:760px){
  .site-header{padding:10px 18px}.brand-mark{width:38px;height:38px}.brand small{font-size:var(--label)}.brand strong{font-size:var(--body)}.button-small{display:none}
  .hero{display:block;min-height:auto;padding:38px 20px 0}.hero h1{font-size:var(--display)}.hero-scene{height:520px;margin:25px -20px 0}.hero-bg{inset:0;width:100%;height:100%;object-position:60% 50%}.hero-frog{left:26%;top:18%;width:40%}.hero-chip{width:112px;min-height:67px}.chip-a{left:3%;bottom:20%}.chip-b{left:30%;bottom:4%}.chip-c{right:23%;bottom:19%}.chip-d{right:1%;bottom:3%}
  .section-grid,.method,.about,.fit-faq,.final-zone{grid-template-columns:1fr}.section-grid,.about{padding:36px 20px}.section-intro{padding:0}.compare-board{grid-template-columns:1fr;padding:28px 0 160px}.compare-board article{min-height:230px}.compare-arrow{transform:rotate(90deg)}.compare-frog{right:20%;width:170px}
  .method-copy{padding:36px 20px}.workbench{min-height:280px}.workbench-frog{width:34%}
  .about{gap:24px}.principles{padding:0;border:0}.about-visual{min-height:280px}.about-visual .mascot{width:47%}
  .seo-geo{grid-template-columns:1fr;padding:36px 20px 100px}.seo-geo .math,.seo-geo .asset-card{display:none}.seo-geo article{min-height:150px}.seo-geo>.mascot{width:150px}
  .themes,.flow{padding:36px 20px}.theme-cards{grid-template-columns:1fr 1fr;gap:10px;padding-top:70px}.theme-cards article{min-height:145px}.themes-route{bottom:0}
  .flow ol{grid-template-columns:1fr 1fr}.flow li{min-height:145px;border:1px solid var(--line)!important;border-radius:12px!important}.flow li:last-child{grid-column:1/-1}.flow-route{left:0;width:100%}
  .fit,.faq,.responsibility,.contact{padding:36px 20px}.fit{border-right:0;border-bottom:1px solid var(--line)}.city-block{opacity:.35}.final-zone{min-height:auto}.responsibility{border-right:0;border-bottom:1px solid var(--line)}.responsibility-grid{grid-template-columns:1fr}.boundary-symbol{margin:auto}.responsibility>.mascot{left:auto;right:0;width:150px}.contact-heading{grid-template-columns:1fr 100px}.form-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.route-live,.hero-frog{transition:none!important;transform:none!important}.route-live{stroke-dashoffset:0}}

.doc-network span{display:grid;place-items:center;padding:7px;color:var(--green-deep);font-size:var(--label);font-weight:900;text-align:center}
.about:after{content:'';position:absolute;left:42%;right:2%;bottom:18px;height:34px;border-bottom:9px solid rgba(35,143,67,.86);border-radius:0 0 54% 46%;pointer-events:none}
.seo-geo:before{content:'';position:absolute;left:4%;right:4%;bottom:16px;height:28px;border-bottom:8px solid rgba(35,143,67,.8);border-radius:0 0 52% 48%;pointer-events:none}
.about{position:relative}
@media(max-width:760px){.about:after,.seo-geo:before{display:none}}

@media(min-width:1101px){.section-intro h2{font-size:var(--section-title)}.about{grid-template-columns:35% 34% 31%}.about h2{font-size:var(--section-title)}.compare-board{padding-block:12px}.method-copy{padding-top:34px}.method-steps{margin-top:22px!important}.seo-geo article b{margin-top:26px}.theme-cards{padding-top:30px}.flow li{padding-top:12px}.fit,.faq{padding-top:24px;padding-bottom:24px}.responsibility,.contact{padding-top:30px;padding-bottom:26px}}


/* v0.38 — approved v0.35 master density and journey reconstruction */
@media(min-width:1101px){
  main.geo-master{--display:clamp(72px,6.4vw,98px);--section-title:clamp(30px,2.75vw,42px)}
  .geo-master{isolation:isolate}
  .geo-master>section,.geo-master>footer{position:relative;z-index:2}
  .journey-rail{position:absolute;z-index:4;top:84px;left:0;width:100%;height:calc(100% - 144px);overflow:visible;pointer-events:none}
  .journey-shadow,.journey-stroke{fill:none;stroke-linecap:round;stroke-linejoin:round}
  .journey-shadow{stroke:rgba(255,255,255,.96);stroke-width:34}
  .journey-stroke{stroke:rgba(35,143,67,.28);stroke-width:18}
  .journey-runner{filter:drop-shadow(0 8px 9px rgba(28,64,27,.28))}
  .journey-runner circle{fill:#fffef8;stroke:#238f43;stroke-width:5}
  .hero{min-height:565px;padding-top:38px;padding-bottom:22px}
  .hero-copy{padding-top:8px}
  .hero-lead{margin-top:20px!important;line-height:1.72}
  .hero .button{margin-top:19px}
  .hero-bg{inset:-22px -68px -22px -72px;height:calc(100% + 44px)}
  .hero-frog{top:19%;width:29%}
  .hero-chip{width:140px;min-height:72px}
  .section-grid{min-height:305px;padding-top:20px;padding-bottom:20px;background:rgba(251,253,247,.94)}
  .section-intro{padding-top:9px;padding-bottom:9px}
  .section-intro>p{margin-top:14px!important}
  .legend{margin-top:17px!important;gap:4px}
  .compare-board{padding:8px 138px 8px 14px}
  .compare-board article{min-height:212px;padding:19px}
  .doc-network{margin-top:18px;padding:13px;gap:8px}
  .doc-network span,.doc-network b{min-height:52px}
  .compare-frog{width:172px}
  .method{min-height:365px;background:rgba(245,248,238,.94)}
  .method-copy{padding:28px 54px 24px 40px}
  .method-copy>p{margin-top:12px!important}
  .method-steps{gap:8px;margin-top:16px!important}
  .method-steps li{min-height:112px;padding:12px 10px}
  .method-steps strong{margin-top:10px}
  .method-steps span{margin-top:6px;line-height:1.45}
  .about{min-height:232px;padding-top:22px;padding-bottom:20px;background:rgba(255,254,248,.94)}
  .about>div:first-child>p:last-child{margin-top:12px!important;line-height:1.55}
  .principles{gap:5px;padding-top:3px;padding-bottom:3px}
  .principles article{padding-top:7px;padding-bottom:7px}
  .principles article:before{top:6px}
  .approved-doc{width:126px;min-height:174px;padding:15px}
  .approved-doc i{margin-top:12px}
  .about-visual .mascot{width:39%}
  .seo-geo{min-height:220px;padding-top:20px;padding-bottom:38px;background:rgba(245,248,238,.94)}
  .seo-geo article{min-height:150px;padding:17px}
  .seo-geo article b{margin-top:19px}
  .seo-geo article small{margin-top:8px;line-height:1.55}
  .seo-geo>.mascot{width:118px}
  .themes{min-height:224px;padding-top:26px;padding-bottom:24px;background:rgba(255,254,248,.91)}
  .themes-title{top:30px;width:250px}
  .themes-title .mascot{right:-47px;bottom:-130px;width:116px}
  .theme-cards{align-items:start;gap:12px;margin-left:300px;padding-top:17px}
  .theme-cards article{position:relative;min-height:126px;padding:14px 15px;background:rgba(255,255,255,.94)}
  .theme-cards article:nth-child(even){margin-top:34px}
  .theme-cards p{margin-top:12px!important}
  .theme-cards span{position:absolute;right:12px;bottom:8px;color:var(--green);font-size:var(--label);font-weight:900}
  .flow{grid-template-columns:230px 1fr 110px;min-height:218px;padding-top:22px;padding-bottom:22px;background:rgba(246,248,238,.91)}
  .flow ol{align-items:center}
  .flow li{min-height:145px;padding:11px 14px}
  .flow li:nth-child(even){transform:translateY(14px)}
  .flow li strong{margin-top:12px}
  .flow li span{margin-top:6px}
  .flow>.mascot{width:108px}
  .fit-faq{min-height:232px;background:rgba(255,254,248,.94)}
  .fit,.faq{padding-top:19px;padding-bottom:18px}
  .fit ul{margin-top:14px!important;gap:5px}
  .faq button{padding:9px 0}
  .faq article p{padding-bottom:9px}
  .faq-frog{width:94px}
  .final-zone{grid-template-columns:57% 43%;min-height:415px;background:rgba(242,246,236,.94)}
  .responsibility,.contact{padding-top:21px;padding-bottom:18px}
  .responsibility-grid{grid-template-columns:1fr 118px 1fr;gap:0;margin-top:17px}
  .responsibility-grid article{min-height:158px;padding:16px 17px;border-radius:13px}
  .responsibility-grid ul{gap:5px;margin-top:13px!important}
  .boundary-symbol{display:grid;width:auto;height:auto;padding:8px;border-radius:0;background:transparent;color:var(--green-deep);text-align:center}
  .boundary-symbol b,.boundary-symbol span,.boundary-symbol small{display:block}
  .boundary-symbol b{font-size:var(--label)}
  .boundary-symbol span{font-size:32px;line-height:1}
  .boundary-symbol small{font-size:10px}
  .boundary-ledger{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:10px;padding:8px 120px 8px 10px;border:1px dashed var(--green);border-radius:12px;background:rgba(255,255,255,.72)}
  .boundary-ledger span{position:relative;padding-left:14px;font-size:10px;font-weight:850}
  .boundary-ledger span:before{content:"";position:absolute;left:0;top:.45em;width:7px;height:7px;border-radius:50%;background:var(--yellow)}
  .responsibility>.mascot{left:auto;right:16px;bottom:-2%;width:124px}
  .contact-heading{grid-template-columns:1fr 105px}
  .contact-heading .mascot{width:96px}
  .form-grid{gap:8px 11px;margin-top:12px}
  .contact>label{margin-top:8px}
  .contact input,.contact textarea{min-height:36px;padding:6px 9px}
  .contact textarea{min-height:62px}
  .submit{min-height:44px;margin-top:9px}
  footer{min-height:58px;padding-top:10px;padding-bottom:10px}
}
@media(max-width:1100px){.journey-rail{display:none}.boundary-ledger{display:none}}


/* v0.39 — measured desktop density correction */
@media(min-width:1101px){
  main.geo-master{--display:clamp(66px,5.8vw,88px)}
  .hero{min-height:590px}
  .hero h1{line-height:.98}
  .shift{min-height:330px}
  .compare-board article{min-height:188px}
  .doc-network{margin-top:12px;padding:9px}
  .doc-network span,.doc-network b{min-height:42px}
  .method{min-height:0;height:400px}
  .workbench{min-width:0;height:400px}
  .method-copy{min-width:0;overflow:hidden}
  .method-steps li{min-height:102px}
  .fit-faq{min-height:270px}
  .final-zone{min-height:470px}
  .final-zone h2{font-size:36px;line-height:1.16}
  .responsibility-grid article{min-height:145px}
  .contact-heading{align-items:center}
  .form-grid{margin-top:8px}
  .contact input{min-height:33px}
  .contact textarea{min-height:54px}
  .consent{font-size:10px!important}
}


/* v0.40 — journey semantics and CTA destination */
@media(min-width:1101px){
  .journey-shadow{stroke-width:22}
  .journey-stroke{stroke:rgba(35,143,67,.58);stroke-width:10}
  .journey-node circle{fill:#fffef8;stroke:#238f43;stroke-width:5}
  .journey-node text{paint-order:stroke;stroke:rgba(255,254,248,.96);stroke-width:8px;stroke-linejoin:round;fill:#176d35;font-size:14px;font-weight:900;letter-spacing:.06em}
  .journey-end circle{fill:#f4c747;stroke:#176d35;stroke-width:6}
  .journey-end text{fill:#176d35;font-size:18px}
  .journey-runner circle{r:25}
  .journey-runner image{width:60px;height:60px}
}


/* v0.41 — block-based responsive master */
@media(min-width:1101px){
  .journey-rail{top:0;height:auto}
  .section-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
  .section-intro{grid-column:1/4}
  .compare-board{grid-column:4/13}
  .method{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;padding:18px clamp(28px,4.2vw,68px);background:rgba(245,248,238,.94)}
  .workbench{grid-column:1/7;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
  .method-copy{grid-column:7/13;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 10px 24px rgba(35,72,32,.08)}
  .about{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
  .about>div:first-child{grid-column:1/5}
  .about>.principles{grid-column:5/9}
  .about>.about-visual{grid-column:9/13}
  .seo-geo{margin-inline:clamp(28px,4.2vw,68px);border:1px solid var(--line);border-radius:18px}
  .themes,.flow{margin-inline:clamp(28px,4.2vw,68px);border:1px solid var(--line);border-radius:18px}
  .fit-faq{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;padding:16px clamp(28px,4.2vw,68px);background:rgba(255,254,248,.94)}
  .fit{grid-column:1/6;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.9)}
  .faq{grid-column:6/13;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.9)}
  .final-zone{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;padding:18px clamp(28px,4.2vw,68px);background:rgba(242,246,236,.94)}
  .responsibility{grid-column:1/8;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.72)}
  .contact{grid-column:8/13;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
  .journey-node text{font-size:12px;stroke-width:6px}
}

.brand-name{display:inline-flex;align-items:center;gap:6px;margin-left:4px}.brand-name b{margin-left:0}.brand-name i{color:var(--green-deep);font-size:var(--label);font-style:normal;font-weight:900;white-space:nowrap}

/* v0.42 — only independently cleared background placements */
.shift{
  background-color:#fbfdf7;
  background-image:url('./assets/backgrounds/bg-shift-documents-v0.42.png');
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.fit-faq{
  background-color:#fffef8;
  background-image:url('./assets/backgrounds/bg-journey-town-v0.42.png');
  background-position:center 62%;
  background-size:cover;
  background-repeat:no-repeat;
}
@media(max-width:760px){
  .shift{background-position:58% center;background-size:auto 100%}
  .fit-faq{background-position:42% bottom;background-size:auto 100%}
}

/* v0.45 — responsive re-articulation with Standard GEO v2 */
.keep{display:inline-block;white-space:nowrap}
.contact-heading h2 .keep,.contact-heading p .keep{display:block}
.site-header nav a{display:inline-flex;align-items:center;min-height:44px;padding-block:8px}
.contact input,.contact textarea{min-height:44px}
.contact textarea{min-height:84px}
.consent{min-height:44px;padding-block:8px;cursor:pointer}
.consent input{width:20px;height:20px;margin-top:1px}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;min-height:0!important;opacity:0!important;pointer-events:none!important}
.form-status[data-state="error"]{color:#a52b24}
.form-status[data-state="success"]{color:var(--green-deep)}
.submit:disabled{cursor:wait;opacity:.72;transform:none}
.nowrap{white-space:nowrap}
.boundary-symbol small{white-space:nowrap}
@media(min-width:1101px){.hero-frog{width:34%}.compare-frog{width:190px}.workbench-frog{width:31%}.about-visual .mascot{width:45%}.seo-geo>.mascot{width:145px}.themes-title .mascot{width:140px}.flow>.mascot{width:130px}.responsibility>.mascot{width:145px}.contact-heading .mascot{width:105px}.theme-cards article{border:0;border-left:5px solid var(--green);box-shadow:0 10px 22px rgba(35,72,32,.1)}.theme-cards article:nth-child(2),.theme-cards article:nth-child(4){border-left-color:var(--yellow);background:#fff9e8}.flow li{border-width:0 0 0 1px;background:rgba(255,255,255,.88)}.flow li:first-child{border-left:5px solid var(--green)}.faq{box-shadow:0 10px 26px rgba(35,72,32,.08)}}
@media(max-width:1100px){.geo-master>section,.geo-master>footer{position:relative;z-index:2}.journey-rail{display:block;position:absolute;z-index:4;top:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.journey-shadow,.journey-stroke{fill:none;stroke-linecap:round;stroke-linejoin:round}.journey-shadow{stroke:rgba(255,254,248,.94);stroke-width:18}.journey-stroke{stroke:rgba(35,143,67,.5);stroke-width:7}.journey-node circle{fill:#fffef8;stroke:var(--green);stroke-width:4}.journey-node text{display:none}.journey-runner{filter:drop-shadow(0 5px 7px rgba(28,64,27,.24))}.journey-runner circle{fill:#fffef8;stroke:var(--green);stroke-width:4}.journey-runner image{width:58px;height:58px}.hero-frog{width:36%}.compare-frog{width:180px}.workbench-frog{width:36%}.seo-geo>.mascot{width:155px}.flow>.mascot{width:125px}}
@media(min-width:761px) and (max-width:900px){main.geo-master{--display:clamp(52px,7.5vw,66px);--section-title:clamp(32px,4.8vw,42px)}.hero{grid-template-columns:48% 52%;padding-inline:34px}.hero-lead br{display:none}.section-grid{grid-template-columns:1fr;padding:38px 34px}.section-intro{display:grid;grid-template-columns:minmax(250px,.85fr) 1.15fr;gap:12px 32px;padding:0 0 24px}.section-intro h2{grid-row:1/3;align-self:start}.section-intro>p{margin-top:0!important}.section-intro .legend{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:10px!important}.compare-board{padding:16px 142px 16px 0}.method{grid-template-columns:1fr}.workbench{min-height:390px}.method-copy{padding:42px 34px}.about{grid-template-columns:1fr 1fr;padding:42px 34px}.about>div:first-child{grid-column:1/-1;padding-right:0}.seo-geo{grid-template-columns:1fr 1fr;padding:42px 34px 90px}.seo-title{grid-column:1/-1}.seo-geo .math,.seo-geo .asset-card{display:none}.themes,.flow{padding-inline:34px}.fit-faq,.final-zone{grid-template-columns:1fr}.fit,.responsibility{border-right:0;border-bottom:1px solid var(--line)}.responsibility,.contact{padding:44px 50px}.responsibility-grid{grid-template-columns:1fr 112px 1fr}.boundary-symbol{display:grid;width:auto;height:auto;padding:10px;border-radius:0;background:transparent;color:var(--green-deep);text-align:center}.boundary-symbol b,.boundary-symbol span,.boundary-symbol small{display:block}.boundary-symbol span{font-size:34px;line-height:1}.boundary-ledger{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px;padding:10px 140px 10px 12px;border:1px dashed var(--green);border-radius:12px;background:rgba(255,255,255,.8)}.boundary-ledger span{font-size:11px;font-weight:850}.responsibility>.mascot{right:18px;left:auto;width:150px}.contact-heading{grid-template-columns:1fr 112px}.contact-heading .mascot{width:108px}.form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){main.geo-master{--display:clamp(42px,12.3vw,48px);--section-title:clamp(28px,8.7vw,34px)}.hero h1{letter-spacing:-.055em}.hero-lead br{display:none}.hero-frog{width:48%}.compare-frog{width:190px}.workbench-frog{width:42%}.method-steps{grid-template-columns:1fr}.method-steps li{min-height:auto}.seo-geo>.mascot{width:170px}.theme-cards{grid-template-columns:1fr;padding-top:92px}.theme-cards article{min-height:auto;padding:18px 20px;border:0;border-left:5px solid var(--green);box-shadow:0 9px 20px rgba(35,72,32,.09)}.theme-cards article:nth-child(even){border-left-color:var(--yellow);background:#fff9e8}.themes-title .mascot{right:4px;bottom:-98px;width:122px}.flow ol{grid-template-columns:1fr}.flow li,.flow li:last-child{grid-column:auto;min-height:auto;padding:18px 20px;border:0!important;border-left:5px solid var(--green)!important;border-radius:0 12px 12px 0!important;box-shadow:0 8px 18px rgba(35,72,32,.08)}.flow li:nth-child(even){margin-left:18px;border-left-color:var(--yellow)!important}.flow>.mascot{top:84px;width:112px}.responsibility-grid{gap:14px}.boundary-symbol{width:auto;height:auto;padding:10px 16px;border-radius:12px;background:#e8f4e3;color:var(--green-deep);text-align:center}.boundary-symbol b,.boundary-symbol span,.boundary-symbol small{display:block}.boundary-symbol span{font-size:28px;line-height:1}.boundary-ledger{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px;padding:12px 118px 12px 12px;border:1px dashed var(--green);border-radius:12px;background:rgba(255,255,255,.8)}.boundary-ledger span{font-size:10px;font-weight:850}.responsibility>.mascot{width:150px}.contact-heading{grid-template-columns:minmax(0,1fr) 78px;gap:8px;align-items:start}.contact-heading h2{font-size:var(--section-title);line-height:1.25}.contact-heading p{line-height:1.65}.contact-heading .mascot{width:78px}.form-grid{margin-top:26px}.journey-shadow{stroke-width:15}.journey-stroke{stroke-width:6}.journey-runner image{width:50px;height:50px}}


/* v0.47 — independent-audit repairs: protected mobile journey lane and readable responsibility handoff */
@media(min-width:901px) and (max-width:1100px){
  .seo-geo>.mascot{right:48px;width:140px}
  .responsibility,.contact{padding-inline:32px}
  .responsibility-grid{grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);gap:8px}
  .boundary-symbol{display:grid;width:auto;height:auto;padding:9px 6px;border-radius:10px;background:#e8f4e3;color:var(--green-deep);text-align:center}
  .boundary-symbol b,.boundary-symbol span,.boundary-symbol small{display:block}
  .boundary-symbol b{font-size:11px}.boundary-symbol span{font-size:28px;line-height:1}.boundary-symbol small{font-size:9px;line-height:1.35;white-space:nowrap;letter-spacing:-.02em}
  .responsibility-grid article{padding:18px 15px}
}
@media(max-width:760px){
  .section-grid,.method-copy,.about,.seo-geo,.themes,.flow,.fit,.faq,.responsibility,.contact{padding-right:52px}
  .shift-change{display:inline-block;white-space:nowrap;font-size:clamp(24px,6.7vw,27px);letter-spacing:-.055em}
  .journey-runner image{width:40px;height:40px}
  .journey-runner circle{stroke-width:3}
  footer{align-items:flex-start;flex-direction:column;gap:6px}
  footer>span{white-space:nowrap}
  .seo-geo>.mascot{right:40px}
  .flow>.mascot{right:48px}
  .faq-frog{right:48px}
  .responsibility>.mascot{right:46px}
}
/* v0.51 — tablet-and-desktop chapter scale; mobile composition remains locked */
@media(min-width:1101px){
  main.geo-master{--section-title:clamp(46px,3.7vw,56px);--card-title:clamp(21px,1.7vw,26px);--body:clamp(16px,1.2vw,18px);--small:14px;--label:13px}
  .hero{min-height:780px;padding-top:88px;padding-bottom:62px}.hero-copy{padding-top:36px}.hero-lead{max-width:590px;margin-top:36px!important}.hero .button{margin-top:34px}.hero-frog{width:38%}.hero-chip{width:176px;min-height:98px}
  .section-grid{min-height:680px;padding-top:72px;padding-bottom:72px;align-items:center}.section-intro{padding-right:54px}.section-intro>p{margin-top:30px!important}.legend{gap:13px;margin-top:38px!important}
  .compare-board{padding-top:42px;padding-bottom:42px}.compare-board article{min-height:360px;padding:36px}.doc-network{margin-top:38px;padding:24px}.doc-network span,.doc-network b{min-height:88px}.compare-frog{width:245px}
  .method{height:auto;min-height:720px;padding-top:48px;padding-bottom:48px}.workbench{height:auto;align-self:stretch}.method-copy{padding-top:78px;padding-bottom:68px}.method-copy>p{margin-top:28px!important;line-height:1.95}.method-steps{gap:16px;margin-top:42px!important}.method-steps li{min-height:205px;padding:22px 18px}.method-steps strong{margin-top:28px}.workbench-frog{width:37%}
  .about{min-height:560px;padding-top:74px;padding-bottom:74px;align-items:center}.about>div:first-child{padding-right:50px}.principles{gap:22px;padding:24px 42px}.principles article{padding-top:20px;padding-bottom:20px}.approved-doc{width:200px;min-height:280px;padding:28px}.about-visual .mascot{width:52%}
  .seo-geo{min-height:560px;padding-top:74px;padding-bottom:92px;gap:22px}.seo-geo article{min-height:270px;padding:32px}.seo-geo article b{margin-top:54px}.seo-geo>.mascot{right:20px;width:210px}
  .themes{min-height:520px;padding-top:72px;padding-bottom:72px}.themes-title{top:88px;width:320px}.themes-title .mascot{right:-72px;bottom:-205px;width:176px}.theme-cards{margin-left:390px;padding-top:60px;gap:20px}.theme-cards article{min-height:235px;padding:26px 24px}.theme-cards p{margin-top:34px!important}
  .flow{min-height:520px;grid-template-columns:285px 1fr 155px;gap:32px;padding-top:72px;padding-bottom:72px}.flow ol{align-items:stretch}.flow li{min-height:270px;padding:24px}.flow li strong{margin-top:32px}.flow>.mascot{width:155px}
  .fit-faq{min-height:560px}.fit,.faq{padding-top:72px;padding-bottom:72px}.fit ul{gap:15px;margin-top:38px!important}.faq button{padding:22px 0}.faq-frog{width:150px}
  .final-zone{min-height:900px}.final-zone h2{font-size:var(--section-title);line-height:1.2}.responsibility,.contact{padding-top:76px;padding-bottom:72px}.responsibility-grid{margin-top:44px}.responsibility-grid article{min-height:330px;padding:30px}.responsibility-grid ul{gap:15px;margin-top:30px!important}.responsibility>.mascot{width:190px}.boundary-ledger{margin-top:28px}.contact-heading .mascot{width:140px}.form-grid{gap:18px;margin-top:34px}.contact>label{margin-top:18px}.contact input,.contact textarea{min-height:52px;padding:13px 14px}.contact textarea{min-height:132px}.consent{font-size:var(--label)!important}.submit{min-height:60px;margin-top:24px}footer{min-height:90px}
}
@media(min-width:901px) and (max-width:1100px){
  main.geo-master{--section-title:clamp(40px,4.15vw,46px);--card-title:clamp(20px,2.2vw,24px);--body:clamp(15px,1.65vw,18px);--small:14px;--label:13px}
  .hero{min-height:660px;padding-top:70px;padding-bottom:48px}.hero-copy{padding-top:28px}.hero-lead{margin-top:30px!important}.hero-frog{width:42%}.hero-chip{width:145px;min-height:88px}
  .section-grid{min-height:650px;padding-top:58px;padding-bottom:58px;align-items:center}.section-intro{padding-right:42px}.legend{margin-top:34px!important}.compare-board{padding-top:36px;padding-bottom:36px}.compare-board article{min-height:330px;padding:30px}.doc-network{margin-top:34px;padding:22px}.doc-network span,.doc-network b{min-height:78px}.compare-frog{width:220px}
  .method{min-height:780px}.method-copy{padding-top:66px;padding-bottom:58px}.method-copy>p{margin-top:26px!important;line-height:1.9}.method-steps{gap:16px;margin-top:38px!important}.method-steps li{min-height:190px;padding:20px}.workbench-frog{width:42%}
  .about{min-height:560px;padding-top:64px;padding-bottom:64px;align-items:center}.principles{gap:18px;padding-block:22px}.approved-doc{width:180px;min-height:250px}.about-visual .mascot{width:50%}
  .seo-geo{min-height:620px;padding-top:62px;padding-bottom:88px;row-gap:26px}.seo-geo article{min-height:250px;padding:28px}.seo-geo article b{margin-top:46px}.seo-geo>.mascot{right:48px;width:185px}
  .themes{min-height:560px;padding-top:62px;padding-bottom:62px}.themes-title .mascot{bottom:-132px;width:158px}.theme-cards{padding-top:125px;gap:16px}.theme-cards article{min-height:215px;padding:24px 20px}.theme-cards p{margin-top:30px!important}
  .flow{min-height:560px;padding-top:62px;padding-bottom:62px}.flow ol{align-items:stretch}.flow li{min-height:245px;padding:22px}.flow li strong{margin-top:28px}.flow>.mascot{width:150px}
  .fit-faq{min-height:520px}.fit,.faq{padding-top:62px;padding-bottom:62px}.fit ul{gap:13px;margin-top:34px!important}.faq button{padding:20px 0}.faq-frog{width:140px}
  .final-zone{min-height:900px}.responsibility,.contact{padding-top:64px;padding-bottom:60px}.responsibility-grid{margin-top:40px}.responsibility-grid article{min-height:300px;padding:26px 20px}.responsibility-grid ul{gap:13px;margin-top:28px!important}.responsibility>.mascot{width:170px}.boundary-ledger{margin-top:26px}.contact-heading .mascot{width:128px}.form-grid{margin-top:30px}.contact input,.contact textarea{min-height:50px;padding:12px}.contact textarea{min-height:124px}.submit{min-height:58px;margin-top:22px}footer{min-height:86px}
}
@media(min-width:761px) and (max-width:900px){
  .hero{min-height:600px;padding-top:52px;padding-bottom:34px}.hero-frog{width:40%}.section-grid{padding-top:50px;padding-bottom:50px}.compare-board article{min-height:270px;padding:30px}.doc-network span,.doc-network b{min-height:74px}
  .workbench{min-height:430px}.method-copy{padding-top:54px;padding-bottom:54px}.method-steps li{min-height:160px;padding:20px}.about{min-height:650px;padding-top:54px;padding-bottom:54px}.seo-geo{min-height:560px;padding-top:54px;padding-bottom:110px}.seo-geo article{min-height:180px;padding:28px}
  .themes{min-height:520px;padding-top:54px;padding-bottom:54px}.theme-cards article{min-height:180px;padding:22px}.flow{min-height:480px;padding-top:54px;padding-bottom:54px}.flow li{min-height:220px;padding:22px}.fit-faq{min-height:700px}.fit,.faq{padding-top:52px;padding-bottom:52px}.final-zone{min-height:1300px}.responsibility,.contact{padding-top:58px;padding-bottom:58px}
}


/* v0.51.1 — composition repair after unannotated tablet/desktop review */
@media(min-width:1101px){
  /* Give chapter headlines desktop breadth instead of merely enlarging mobile columns. */
  .section-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
  .section-intro{grid-column:1/5;padding-right:32px}
  .compare-board{grid-column:5/13}
  .section-intro h2,.seo-title h2,.themes-title h2,.flow-title h2{text-wrap:balance}
  .section-intro>p,.method-copy>p,.seo-title p,.flow-title p{text-wrap:pretty}
  /* A taller chapter must also be occupied by its cards, media and mascot. */
  .themes{min-height:440px;padding-top:58px;padding-bottom:54px}
  .themes-title{top:62px;width:390px}
  .themes-title h2{font-size:clamp(40px,3.05vw,48px);line-height:1.2}
  .themes-title .mascot{right:-68px;bottom:-218px;width:190px}
  .theme-cards{margin-left:465px;padding-top:18px;align-items:start}
  .theme-cards article{min-height:250px}
  .flow{min-height:440px;grid-template-columns:310px minmax(0,1fr) 170px;padding-top:52px;padding-bottom:52px}
  .flow-title h2{font-size:clamp(39px,2.85vw,46px);line-height:1.2}
  .flow li{min-height:282px}
  .flow>.mascot{width:170px}
  /* The form determines the final chapter height; the responsibility side fills it. */
  .final-zone{min-height:820px}
  .responsibility{display:flex;flex-direction:column}
  .responsibility-grid{flex:1;align-items:stretch}
  .responsibility-grid article{min-height:360px}
  .boundary-ledger{margin-top:auto}
  .responsibility>.mascot{bottom:0;width:205px}
}
@media(min-width:1101px) and (max-width:1359px){
  /* At compact desktop widths, stack the SEO thesis above the equation. */
  .seo-geo{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr) 42px minmax(0,1fr);min-height:690px}
  .seo-title{grid-column:1/-1;max-width:720px;padding-right:0}
  .seo-title h2{font-size:clamp(42px,4vw,50px)}
  .seo-geo>.mascot{right:28px;width:190px}
  .theme-cards{margin-left:425px;gap:14px}
  .themes-title{width:350px}
  .flow{grid-template-columns:275px minmax(0,1fr) 140px;gap:20px}
  .flow-title h2{font-size:38px}
  .flow>.mascot{width:140px}
}
@media(min-width:1360px){
  .seo-geo{grid-template-columns:minmax(410px,1.35fr) minmax(190px,1fr) 42px minmax(190px,1fr) 42px minmax(190px,1fr)}
  .seo-title h2{font-size:clamp(44px,3.25vw,52px)}
}
@media(min-width:761px) and (max-width:900px){
  /* Keep the complete mascot inside the tablet journey lane. */
  .seo-geo>.mascot{right:86px;bottom:18px;width:142px}
  .method-copy>p{text-wrap:pretty;max-width:670px}
}


/* v0.51.2 — card-language integrity and responsibility relationship diagram */
@media(min-width:1101px){
  .responsibility-grid{flex:0 0 auto;align-items:center;margin-top:48px;margin-bottom:34px}
  .responsibility-grid article{min-height:280px}
  .boundary-symbol{align-self:center;display:flex!important;flex-direction:column;justify-content:center;gap:4px;min-height:104px!important;height:auto!important}
  .boundary-symbol b,.boundary-symbol span,.boundary-symbol small{margin:0}
  .boundary-ledger{margin-top:auto}
  .seo-geo article b,.flow li strong{word-break:keep-all}
}
@media(min-width:1101px) and (max-width:1359px){
  .flow{grid-template-columns:minmax(0,1fr) 140px;grid-template-rows:auto auto;min-height:540px}
  .flow-title{grid-column:1;grid-row:1}
  .flow ol{grid-column:1;grid-row:2}
  .flow>.mascot{grid-column:2;grid-row:1/3;align-self:center}
  .flow li{min-height:230px}
}
@media(min-width:761px) and (max-width:900px){
  .method-copy>p{max-width:none;font-size:16px;letter-spacing:-.02em}
}


/* v0.51.5 — public motion and intermediate-width closure */
@media(min-width:901px) and (max-width:1100px){
  .final-zone{grid-template-columns:1fr;min-height:auto}
  .responsibility{min-height:650px;border-right:0;border-bottom:1px solid var(--line)}
  .contact{min-height:780px}
  .responsibility-grid{grid-template-columns:minmax(0,1fr) 118px minmax(0,1fr);gap:16px;align-items:center}
  .responsibility-grid article{min-height:250px;padding:24px}
  .boundary-symbol{min-height:104px;padding:12px}
  .boundary-ledger{margin-top:28px}
  .responsibility>.mascot{left:auto;right:42px;bottom:0;width:180px}
}
@media(min-width:1101px) and (max-width:1359px){
  .responsibility-grid article{padding:24px 18px}
  .responsibility-grid h3{font-size:16px;word-break:keep-all}
  .responsibility-grid li{font-size:12px;letter-spacing:-.02em;word-break:keep-all}
}


/* v0.51.6 — restore the intermediate responsibility ledger hidden by an older compact rule */
@media(min-width:901px) and (max-width:1100px){
  .boundary-ledger{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 210px 12px 14px}
}


/* v0.51.7 — preserve the approved information-design sentence groups at intermediate widths */
.method-copy>p{word-break:keep-all}


/* v0.51.8 — information-design cards use readable 2x2 chapters and semantic wraps */
@media(min-width:1101px){
  .method-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .method-steps li{min-height:160px}
}
.method-steps strong,.method-steps span{word-break:keep-all}

/* v0.52.0 — mascot reveal and single-column form */
.form-grid{grid-template-columns:minmax(0,1fr)}
.geo-master.mascot-motion img.mascot{opacity:0;transform:translateY(18px) scale(.985);transition:opacity .56s cubic-bezier(.22,.8,.3,1),transform .64s cubic-bezier(.22,.8,.3,1);will-change:opacity,transform}
.geo-master.mascot-motion img.mascot.is-visible{opacity:1;transform:translateY(0) scale(1);will-change:auto}
@media(prefers-reduced-motion:reduce){.geo-master.mascot-motion img.mascot{opacity:1;transform:none;transition:none;will-change:auto}}
@media(min-width:761px) and (max-width:1100px){.contact-heading,.contact>.form-grid,.contact>label,.contact>.submit,.contact>.form-status{width:min(100%,720px);margin-inline:auto}}
.contact-heading{column-gap:16px}
.contact .submit{position:relative;z-index:5}
@media(max-width:760px){.contact-heading .mascot{width:72px;justify-self:end}}

/* v0.53.0 — four closing chapters: one-column narrative over a shared illustrated landscape */
.closing-story{position:relative;z-index:2}
.closing-story>section{position:relative}
@media(min-width:761px){
  .closing-story{padding-block:22px 34px;background:linear-gradient(180deg,rgba(255,254,248,.54),rgba(239,247,232,.6)),url('./assets/backgrounds/bg-closing-story-v0.53.webp') center top/cover no-repeat}
  .closing-story .fit-faq,.closing-story .final-zone{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;min-height:auto;padding:34px clamp(28px,5vw,78px);background:transparent}
  .closing-story .final-zone{padding-top:28px;padding-bottom:56px}
  .closing-story .fit,.closing-story .faq,.closing-story .responsibility,.closing-story .contact{grid-column:1/-1!important;width:min(100%,1200px);margin-inline:auto;border:1px solid rgba(111,157,102,.38);border-radius:26px;background:rgba(255,255,252,.9);box-shadow:0 18px 46px rgba(48,87,43,.11);backdrop-filter:blur(2px)}
  .closing-story .fit,.closing-story .faq{min-height:430px;padding:clamp(48px,5.5vw,78px);border-right:1px solid rgba(111,157,102,.38)}
  .closing-story .faq>h2,.closing-story .faq>article{width:min(100%,960px);margin-inline:auto}
  .closing-story .responsibility{display:block;min-height:690px;padding:clamp(54px,5.6vw,82px);border-right:1px solid rgba(111,157,102,.38);border-bottom:1px solid rgba(111,157,102,.38)}
  .closing-story .responsibility-grid,.closing-story .boundary-ledger{width:min(100%,1040px);margin-left:auto;margin-right:auto}
  .closing-story .responsibility>.mascot{right:clamp(24px,5vw,72px);bottom:0}
  .closing-story .contact{min-height:auto;padding:clamp(54px,5.6vw,82px)}
  .closing-story .contact-heading,.closing-story .contact>.form-grid,.closing-story .contact>label,.closing-story .contact>.submit,.closing-story .contact>.form-status{width:min(100%,720px);margin-inline:auto}
  .closing-story .contact-heading{grid-template-columns:minmax(0,1fr) 120px}
}
@media(min-width:761px) and (max-width:900px){
  .closing-story{padding-block:12px 22px}
  .closing-story .fit-faq,.closing-story .final-zone{gap:20px;padding-inline:26px}
  .closing-story .fit,.closing-story .faq,.closing-story .responsibility,.closing-story .contact{border-radius:22px}
  .closing-story .fit,.closing-story .faq,.closing-story .responsibility,.closing-story .contact{padding:46px 48px}
  .closing-story .responsibility{min-height:650px}
}
@media(max-width:760px){
  .closing-story{position:relative;background:#fffef8}
}
/* v0.53.1 — desktop fit-card density: use width for meaning, not empty scaling */
@media(min-width:1101px){
  .closing-story .fit{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(420px,1.18fr);align-items:center;column-gap:clamp(54px,6vw,92px)}
  .closing-story .fit h2{position:relative;z-index:1;grid-column:1;align-self:center}
  .closing-story .fit ul{position:relative;z-index:1;grid-column:2;gap:18px;margin-top:0!important}
  .closing-story .fit li{padding-left:30px;font-size:var(--body);line-height:1.65}
  .closing-story .fit li:before{top:.62em;width:10px;height:10px}
  .closing-story .fit .city-block{right:44px;height:170px;opacity:.18}
}

/* v0.54.0 — mobile method chapter must shrink to the viewport instead of its no-wrap min-content width */
@media(max-width:760px){
  .method{grid-template-columns:minmax(0,1fr)}
  .method>.workbench,.method>.method-copy,.method-steps,.method-steps li{min-width:0;width:100%;max-width:100%}
  .method-copy>p{word-break:normal;overflow-wrap:anywhere}
  .method-copy>p .nowrap{white-space:normal}
}

/* v0.55.0 — role-specific content reveals and geometric math symbols */
.math{position:relative;align-self:center;justify-self:center;font-size:0;line-height:0}
.math::before,.math::after{content:"";position:absolute;left:50%;width:16px;height:3px;border-radius:999px;background:#fff;transform:translate(-50%,-50%)}
.math-plus::before,.math-plus::after{top:50%}
.math-plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.math-equals::before{top:calc(50% - 4px)}
.math-equals::after{top:calc(50% + 4px)}
@media(min-width:761px) and (max-width:1100px){
  .seo-geo{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr)}
  .seo-geo>.seo-title{grid-column:1/-1}
  .seo-geo>article:first-of-type{grid-column:1}
  .seo-geo>.math-plus{display:grid!important;grid-column:2}
  .seo-geo>article:nth-of-type(2){grid-column:3}
  .seo-geo>.math-equals{display:none!important}
}

.geo-master.reveal-motion-init [data-reveal-kind]{transition:none!important;animation:none!important}
.geo-master.reveal-motion [data-reveal-kind]{opacity:0;will-change:opacity,transform}
.geo-master.reveal-motion [data-reveal-kind="fade"]{transition:opacity .5s ease-out}
.geo-master.reveal-motion [data-reveal-kind="slide-left"]{transform:translateX(-32px);transition:opacity .52s ease-out,transform .62s cubic-bezier(.2,.72,.25,1)}
.geo-master.reveal-motion [data-reveal-kind="slide-right"]{transform:translateX(32px);transition:opacity .52s ease-out,transform .62s cubic-bezier(.2,.72,.25,1)}
.geo-master.reveal-motion [data-reveal-kind="rise"]{transform:translateY(24px);transition:opacity .5s ease-out,transform .58s cubic-bezier(.2,.72,.25,1)}
.geo-master.reveal-motion [data-reveal-kind]:not([data-reveal-kind="flow-step"]).is-visible{opacity:1;transform:translate(0,0);will-change:auto}
.geo-master.reveal-motion [data-reveal-kind="flow-step"]{--flow-rest-y:0px;transform:translateY(calc(var(--flow-rest-y) + 28px))}
@media(min-width:1101px){.geo-master.reveal-motion .flow ol>li:nth-child(even){--flow-rest-y:14px}}
.geo-master.reveal-motion [data-reveal-kind="flow-step"].is-visible{animation:geo-flow-rise .68s cubic-bezier(.22,.7,.26,1) both;will-change:auto}
@keyframes geo-flow-rise{
  0%{opacity:0;transform:translateY(calc(var(--flow-rest-y) + 28px))}
  72%{opacity:1;transform:translateY(calc(var(--flow-rest-y) - 3px))}
  100%{opacity:1;transform:translateY(var(--flow-rest-y))}
}
@media(prefers-reduced-motion:reduce){
  .geo-master.reveal-motion [data-reveal-kind]{opacity:1!important;transform:none!important;animation:none!important;transition:none!important;will-change:auto!important}
  .geo-master.reveal-motion [data-reveal-kind="flow-step"]:nth-child(even){transform:translateY(var(--flow-rest-y))!important}
}

/* v0.57.0 — approved Modular Route brand system */
.geogeo-logo{display:block;max-width:100%;height:auto;object-fit:contain}
.brand{min-width:0}.header-logo{width:clamp(176px,16vw,248px);flex:0 1 auto}.brand-caption{flex:0 0 auto;padding-left:12px;border-left:1px solid var(--line)}
.brand-caption small,.brand-caption strong{white-space:nowrap}.brand-caption strong{font-size:var(--small)}
.about-brand-lockup{width:min(100%,330px);max-height:136px;margin:0 0 24px;object-position:left center}
@media(max-width:1100px){.header-logo{width:clamp(160px,23vw,220px)}.brand-caption strong{font-size:12px}}
@media(max-width:760px){.site-header{grid-template-columns:minmax(0,1fr)}.header-logo{width:172px}.brand-caption{padding-left:9px}.brand-caption small{font-size:9px}.brand-caption strong{font-size:10px}.about-brand-lockup{width:250px;max-height:104px;margin-bottom:18px}}
@media(max-width:380px){.header-logo{width:154px}.brand-caption{display:none}}


/* v0.57.1 — protect ABOUT headline meaning unit */
.about-title-lead{display:inline-block;white-space:nowrap}
@media(min-width:761px){.about>div:first-child h2{font-size:clamp(32px,2.55vw,40px)}}
@media(max-width:760px){.about>div:first-child h2{font-size:clamp(28px,7.5vw,30px)}}


.mobile-menu-btn{display:none;width:44px;height:44px;align-items:center;justify-content:center;border:1.5px solid var(--line);border-radius:8px;background:#fff;color:var(--green-deep);font-size:20px;cursor:pointer;flex:0 0 auto}
@media(max-width:1100px){
  .mobile-menu-btn{display:inline-flex}
  .site-header{position:relative}
  .site-header nav{display:none}
  .site-header .button-small{display:none}
  .site-header.nav-open{display:flex!important;flex-wrap:wrap;align-items:center}
  .site-header.nav-open .brand{order:1;flex:1 1 auto}
  .site-header.nav-open .mobile-menu-btn{order:2}
  .site-header.nav-open nav{display:flex!important;order:3;flex-direction:column;gap:0;width:100%;margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}
  .site-header.nav-open nav a{padding:14px 2px;border-bottom:1px solid var(--line)}
  .site-header.nav-open .button-small{display:inline-flex!important;order:4;width:100%;margin:16px 0 4px}
}
