.inner-body { background:var(--paper); }
.page-loading { min-height:70vh; display:grid; place-items:center; color:var(--muted); }
.inner-hero { min-height:610px; padding:160px 6vw 80px; color:#fff; display:flex; align-items:end; background:linear-gradient(90deg,rgba(0,47,55,.94),rgba(0,69,77,.55),rgba(0,47,55,.24)),var(--inner-hero-image, url('/assets/rural-hero.png')) center/cover; }
.inner-hero > div { max-width:900px; }
.inner-hero small { color:var(--lime); font-size:10px; letter-spacing:.2em; }
.inner-hero h1 { margin:24px 0; font-size:clamp(52px,7vw,104px); line-height:1.03; letter-spacing:-.06em; }
.inner-hero p { max-width:680px; color:rgba(255,255,255,.72); font-size:14px; line-height:2; }
.page-sections { padding:100px 6vw 130px; }
.page-split { display:grid; grid-template-columns:1fr 1fr; gap:10vw; padding:70px 0; border-top:1px solid var(--line); }
.page-split span,.image-statement small { color:var(--teal); font-size:9px; letter-spacing:.18em; }
.page-split h2,.image-statement h2 { font-size:clamp(38px,4vw,68px); line-height:1.12; letter-spacing:-.05em; margin:18px 0; }
.page-split p,.image-statement p { color:var(--muted); font-size:14px; line-height:2; }
.image-statement { display:grid; grid-template-columns:.8fr 1.2fr; gap:8vw; align-items:center; padding:70px 0; }
.image-statement img { width:100%; max-width:420px; mix-blend-mode:multiply; }
.brand-overview { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); gap:clamp(48px,8vw,130px); align-items:center; padding:70px 0 95px; border-top:1px solid var(--line); }
.brand-overview-copy > span { color:var(--teal); font-size:9px; font-weight:700; letter-spacing:.18em; }
.brand-overview-copy h2 { max-width:720px; margin:18px 0 34px; font-size:clamp(42px,5vw,76px); line-height:1.08; letter-spacing:-.055em; }
.brand-overview-copy p { max-width:720px; margin:0 0 16px; color:var(--muted); font-size:14px; line-height:2; }
.brand-overview-copy p:first-of-type { color:var(--ink); font-size:16px; }
.brand-overview-visual { display:flex; justify-content:flex-end; }
.brand-logo-frame { position:relative; width:min(100%,430px); min-height:390px; overflow:hidden; display:grid; place-items:center; padding:55px 42px; background:transparent; box-shadow:0px 28px 70px 0px rgba(0,0,0,0.25); color:#ffffff; text-align:left; }
.brand-logo-frame::before,.brand-logo-frame::after { content:""; position:absolute; border:1px solid rgba(242,207,36,.2); border-radius:50%; pointer-events:none; }
.brand-logo-frame::before { width:330px; height:330px; right:-130px; top:-145px; }
.brand-logo-frame::after { width:210px; height:210px; left:-105px; bottom:-95px; }
.brand-logo-frame img { position:relative; z-index:1; width:min(100%,260px); height:auto; filter:drop-shadow(0 18px 30px rgba(0,0,0,.16)); }
.brand-logo-frame small { position:absolute; z-index:1; left:30px; bottom:25px; color:rgba(255,255,255,.58); font-size:8px; letter-spacing:.18em; }
.brand-section-heading { max-width:760px; margin-bottom:38px; }
.brand-section-heading > span { color:var(--teal); font-size:9px; font-weight:700; letter-spacing:.18em; }
.brand-section-heading h2 { margin:16px 0 18px; font-size:clamp(38px,4vw,66px); line-height:1.08; letter-spacing:-.05em; }
.brand-section-heading p { margin:0; color:var(--muted); font-size:13px; line-height:1.9; }
.brand-method,.brand-directions,.brand-process { padding:90px 0; border-top:1px solid var(--line); }
.brand-method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.brand-method-card { position:relative; min-height:245px; padding:28px; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--ink); background:rgba(255,250,241,.72); text-align:left; cursor:pointer; transition:background .3s ease,color .3s ease,transform .3s ease,box-shadow .3s ease; }
.brand-method-card:hover,.brand-method-card:focus-visible { transform:translateY(-5px); box-shadow:0 20px 45px rgba(0,71,84,.1); outline:none; }
.brand-method-card.is-active { color:#fff; background:var(--forest-deep); }
.brand-method-card b { position:absolute; right:24px; top:24px; color:var(--green); font-size:11px; }
.brand-method-card.is-active b { color:var(--lime); }
.brand-method-card small { display:block; color:var(--teal); font-size:9px; letter-spacing:.18em; }
.brand-method-card.is-active small { color:var(--lime); }
.brand-method-card h3 { margin:66px 0 12px; font-size:38px; letter-spacing:-.04em; }
.brand-method-card p { margin:0; color:var(--muted); font-size:12px; line-height:1.75; }
.brand-method-card.is-active p { color:rgba(255,255,255,.68); }
.brand-method-detail,.brand-process-detail { display:grid; grid-template-columns:140px .8fr 1.2fr; gap:3vw; align-items:start; margin-top:22px; padding:30px; border-left:4px solid var(--lime); background:#fffaf1; }
.brand-method-detail span,.brand-process-detail span { color:var(--green); font-size:9px; font-weight:700; letter-spacing:.14em; }
.brand-method-detail h3,.brand-process-detail h3 { margin:0; font-size:26px; line-height:1.35; }
.brand-method-detail p,.brand-process-detail p { margin:0; color:var(--muted); font-size:13px; line-height:1.9; }
.brand-direction-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.brand-direction-card { min-width:0; overflow:hidden; border:1px solid var(--line); background:#fffaf1; cursor:pointer; transition:transform .35s ease,box-shadow .35s ease; }
.brand-direction-card:hover,.brand-direction-card:focus-visible,.brand-direction-card.is-expanded { transform:translateY(-7px); box-shadow:0 24px 55px rgba(0,71,84,.12); outline:none; }
.brand-direction-image { position:relative; overflow:hidden; aspect-ratio:4/3; background:var(--paper-deep); }
.brand-direction-image::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(0,36,40,.56)); pointer-events:none; }
.brand-direction-image img { width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.2,.75,.2,1),filter .35s ease; }
.brand-direction-card:hover .brand-direction-image img,.brand-direction-card:focus-visible .brand-direction-image img,.brand-direction-card.is-expanded .brand-direction-image img { transform:scale(1.045); filter:saturate(1.08); }
.brand-direction-image > span { position:absolute; z-index:2; right:16px; top:16px; display:grid; place-items:center; width:38px; height:38px; border-radius:50%; color:var(--forest-deep); background:var(--lime); font-size:10px; font-weight:800; }
.brand-direction-copy { padding:24px 22px 25px; }
.brand-direction-copy small { color:var(--teal); font-size:8px; letter-spacing:.12em; }
.brand-direction-copy h3 { margin:12px 0; font-size:28px; line-height:1.3; }
.brand-direction-copy p { min-height:84px; margin:0; color:var(--muted); font-size:12px; line-height:1.8; }
.brand-direction-detail { display:flex; flex-wrap:wrap; gap:7px; max-height:0; margin-top:0; overflow:hidden; opacity:0; transform:translateY(-7px); transition:max-height .35s ease,margin .3s ease,opacity .25s ease,transform .3s ease; }
.brand-direction-card:hover .brand-direction-detail,.brand-direction-card:focus-visible .brand-direction-detail,.brand-direction-card.is-expanded .brand-direction-detail { max-height:90px; margin-top:20px; opacity:1; transform:translateY(0); }
.brand-direction-detail span { padding:7px 10px; border:1px solid rgba(0,110,125,.2); border-radius:999px; color:var(--teal); font-size:9px; }
.brand-process-tabs { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.brand-process-tabs button { position:relative; min-height:118px; padding:22px 16px; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--ink); background:transparent; text-align:left; cursor:pointer; transition:background .25s ease,color .25s ease; }
.brand-process-tabs button:hover,.brand-process-tabs button:focus-visible { background:rgba(213,240,90,.18); outline:none; }
.brand-process-tabs button.is-active { color:var(--forest-deep); background:var(--lime); }
.brand-process-tabs b { display:block; margin-bottom:28px; color:var(--green); font-size:9px; letter-spacing:.12em; }
.brand-process-tabs button.is-active b { color:var(--forest-deep); }
.brand-process-tabs span { font-size:13px; font-weight:700; }
.product-list { border-top:1px solid var(--line); }
.product-list article { display:grid; grid-template-columns:80px 1fr auto; gap:4vw; align-items:start; padding:46px 0; border-bottom:1px solid var(--line); transition:padding .35s ease,background .3s ease; }
.product-list article:hover,.product-list article:focus,.product-list article:focus-within,.product-list article.is-expanded { padding-left:20px; padding-right:20px; background:rgba(213,240,90,.12); outline:none; }
.product-list article > b { color:var(--green); font-size:12px; }
.product-list h2 { margin:0 0 12px; font-size:34px; }
.product-list p { margin:0; color:var(--muted); line-height:1.9; }
.product-list article > span { color:var(--teal); font-size:9px; letter-spacing:.14em; }
.product-service-scope { max-height:0; margin-top:0; overflow:hidden; opacity:0; transform:translateY(-8px); transition:max-height .5s cubic-bezier(.22,.7,.2,1),margin .35s ease,opacity .3s ease,transform .4s ease; }
.product-list article:hover .product-service-scope,.product-list article:focus .product-service-scope,.product-list article:focus-within .product-service-scope,.product-list article.is-expanded .product-service-scope { max-height:260px; margin-top:26px; opacity:1; transform:translateY(0); }
.product-service-scope small { display:block; margin-bottom:11px; color:var(--green); font-size:9px; letter-spacing:.14em; }
.product-service-scope ul { display:grid; grid-template-columns:1fr; gap:0 24px; margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.product-service-scope ul.two-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
.product-service-scope li { position:relative; padding:10px 0 10px 15px; border-bottom:1px solid var(--line); color:var(--ink); font-size:12px; line-height:1.5; }
.product-service-scope li::before { content:""; position:absolute; left:0; top:16px; width:5px; height:5px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 3px rgba(213,240,90,.2); }
.value-grid { display:grid; grid-template-columns:repeat(4,1fr); border-left:1px solid var(--line); border-top:1px solid var(--line); }
.value-grid article.value-item { position: relative; min-height:300px; padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; justify-content:end; cursor: pointer; overflow: hidden; transition: all .3s ease; }
.value-grid article.value-item:hover { background: var(--forest-deep); transform: translateY(-6px); box-shadow: 0 25px 50px rgba(0,71,84,.18); }
.value-grid b { margin-bottom:auto; color:var(--green); font-size:10px; transition: opacity .3s ease; }
.value-grid h2 { font-size:25px; transition: opacity .3s ease; }
.value-grid article:nth-child(1) h2,
.value-grid article:nth-child(2) h2,
.value-grid article:nth-child(3) h2,
.value-grid article:nth-child(4) h2 { font-size:50px; }
.value-grid p { color:var(--muted); font-size:12px; line-height:1.8; transition: opacity .3s ease; }
.value-grid article.value-item:hover b,
.value-grid article.value-item:hover h2,
.value-grid article.value-item:hover p { opacity: 0; }
.value-grid .value-tooltip { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 20px; background: var(--forest-deep); opacity: 0; transition: opacity .3s ease; }
.value-grid article.value-item:hover .value-tooltip { opacity: 1; }
.value-grid .value-tooltip span { font-size: 26px; color: var(--white); line-height: 1.7; text-align: center; }
.team-section { margin-top:70px; }
.page-university-logos { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); align-items: center; justify-items: center; gap: 12px; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--line); }
.page-cta { display:inline-flex; align-items:center; margin-top:25px; padding:14px 20px; background:var(--forest-deep); color:var(--white); box-shadow:0 10px 24px rgba(0,71,84,.18); transition:background .25s ease,color .25s ease,transform .25s ease; }
.page-cta:hover,.page-cta:focus-visible { color:var(--forest-deep); background:var(--lime); transform:translateY(-2px); outline:none; }
.category-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:35px; }
.category-tabs button { border:1px solid var(--line); background:transparent; padding:10px 15px; border-radius:99px; color:var(--muted); }
.category-tabs button.active,.category-tabs button:hover { background:var(--teal); color:#fff; border-color:var(--teal); }
.page-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; }
.page-card { cursor:pointer; border:1px solid var(--line); padding:18px; background:#fffaf1; transition:.25s ease; }
.page-card:hover,.page-card:focus { transform:translateY(-6px); box-shadow:0 20px 50px rgba(0,71,84,.08); }
.page-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.page-card small { display:block; margin-top:18px; color:var(--teal); font-size:9px; }
.page-card h2 { font-size:23px; line-height:1.4; }
.page-card p { min-height:66px; color:var(--muted); font-size:12px; line-height:1.8; }
.page-card b { color:var(--green); font-size:10px; }
.contact-page { display:grid; grid-template-columns:.8fr 1.2fr; gap:7vw; }
.contact-cards { display:grid; gap:12px; }
.contact-cards article { padding:28px; background:var(--deep); color:#fff; }
.contact-cards small { color:var(--lime); }
.contact-cards h2 { font-size:22px; line-height:1.6; }
.contact-qrcode-card img { width: 180px; max-width: 100%; margin: 16px 0 14px; background: #fff; }
.contact-qrcode-card p { color: #aeb8b3; font-size: 12px; line-height: 1.8; margin: 0; }
.page-form { padding:38px; border:1px solid var(--line); background:#fffaf1; }
.page-form h2 { margin:0 0 30px; }
.page-form label { display:grid; gap:8px; color:var(--muted); font-size:11px; margin-bottom:18px; }
.page-form input,.page-form textarea { border:0; border-bottom:1px solid var(--line); background:transparent; padding:12px 0; outline:0; }
.page-form button { width:100%; border:0; background:var(--forest-deep); color:#fff; padding:15px; margin-top:22px; }
.page-form p { color:var(--green); font-size:11px; }
@media(max-width:850px){.inner-hero{min-height:530px;padding:130px 24px 60px}.page-sections{padding:70px 24px 90px}.page-split,.image-statement,.contact-page,.brand-overview{grid-template-columns:1fr;gap:35px}.brand-overview{padding:45px 0 80px}.brand-overview-visual{justify-content:flex-start}.brand-logo-frame{width:100%;min-height:320px}.brand-method-grid,.brand-direction-grid{grid-template-columns:1fr}.brand-method-card{min-height:190px}.brand-method-card h3{margin-top:38px}.brand-method-detail,.brand-process-detail{grid-template-columns:1fr;gap:13px}.brand-direction-copy p{min-height:0}.brand-process-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.product-list article{grid-template-columns:45px 1fr}.product-list article>span{grid-column:2}.value-grid,.page-card-grid{grid-template-columns:1fr 1fr}.value-grid .value-tooltip span{font-size:18px}.page-university-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}}
@media(max-width:560px){.inner-hero h1{font-size:48px}.brand-overview-copy h2{font-size:42px}.brand-logo-frame{min-height:275px;padding:45px 35px}.brand-logo-frame img{width:min(100%,210px)}.brand-method,.brand-directions,.brand-process{padding:70px 0}.brand-section-heading h2{font-size:38px}.brand-method-card{min-height:175px;padding:22px}.brand-method-detail,.brand-process-detail{padding:24px 20px}.brand-process-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-process-tabs button{min-height:104px}.value-grid,.page-card-grid{grid-template-columns:1fr}.value-grid article{min-height:220px}.product-service-scope ul.two-columns{grid-template-columns:1fr}.product-list article:hover,.product-list article:focus,.product-list article:focus-within,.product-list article.is-expanded{padding-left:10px;padding-right:10px}.value-grid .value-tooltip span{font-size:14px}}
