/* TotoSoju — responsive editorial homepage */
:root{--forest:#10251f;--forest-2:#19382f;--lime:#d4ef8b;--cream:#f5f4ee;--paper:#fffefa;--ink:#1b2722;--muted:#6f7973;--line:#dfe4db;--serif:Georgia,"Times New Roman",serif;--sans:"DM Sans",Arial,sans-serif;--display:"Manrope","DM Sans",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.container{width:min(1180px,calc(100% - 64px));margin-inline:auto}.skip-link{position:absolute;left:-9999px;top:8px;background:var(--lime);padding:10px 16px;z-index:999}.skip-link:focus{left:8px}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,254,250,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(16,37,31,.08)}.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:36px;height:36px;background:var(--forest);color:white;font:800 22px var(--display);border-radius:11px;letter-spacing:-2px}.brand-mark span{color:var(--lime);font-size:20px}.brand-name{font:800 21px var(--display);letter-spacing:-1.2px}.brand-dot{color:#78964b}.primary-nav{display:flex;align-items:center;gap:30px}.nav-link{font-size:13px;font-weight:600;color:#49544d;transition:color .2s}.nav-link:hover,.nav-link.active{color:var(--forest)}.dropdown-trigger{border:0;background:none;padding:10px 0;cursor:pointer}.chevron{font-size:17px;margin-left:3px}.nav-dropdown{position:relative}.dropdown-menu{display:none;position:absolute;top:42px;left:-22px;width:240px;padding:9px;background:#fffefa;border:1px solid var(--line);box-shadow:0 20px 45px #10251f18;border-radius:12px}.dropdown-menu.open{display:block}.dropdown-menu a{display:block;padding:11px 12px;border-radius:8px;font-size:13px;font-weight:700}.dropdown-menu a:hover{background:var(--cream)}.dropdown-menu small{display:block;color:var(--muted);font-size:11px;font-weight:400}.search-open{width:36px;height:36px;border:1px solid var(--line);background:transparent;border-radius:50%;display:grid;place-items:center;cursor:pointer}.search-open svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.8}.nav-cta{background:var(--forest);color:white;padding:12px 17px;border-radius:5px;font-size:12px;font-weight:700}.nav-cta span{color:var(--lime);padding-left:8px}.menu-toggle{display:none;border:0;background:none;padding:8px}.search-panel{background:#f1f2eb;border-top:1px solid var(--line);padding:22px 0}.search-form label{display:block;font-size:12px;font-weight:700;margin-bottom:8px}.search-input-wrap{display:flex;max-width:720px}.search-input-wrap input{flex:1;min-width:0;border:1px solid var(--line);border-right:0;padding:13px 15px;background:white;border-radius:5px 0 0 5px;outline-color:#7c9d55}.search-input-wrap button{background:var(--forest);color:white;border:0;padding:0 20px;border-radius:0 5px 5px 0;cursor:pointer}.search-hint{font-size:11px;color:var(--muted);margin:7px 0 0}
.hero{min-height:700px;position:relative;display:flex;align-items:center;color:white;background:var(--forest);overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image{background-image:url("https://images.unsplash.com/photo-1519608487953-e999c86e7455?auto=format&fit=crop&w=2200&q=90");background-position:center 54%;background-size:cover;transform:scale(1.015)}.hero-shade{background:linear-gradient(90deg,rgba(8,25,20,.94) 0%,rgba(8,25,20,.82) 38%,rgba(8,25,20,.32) 76%,rgba(8,25,20,.16) 100%),linear-gradient(0deg,rgba(8,25,20,.55),transparent 38%)}.hero-content{position:relative;z-index:1;padding-top:20px;padding-bottom:65px}.eyebrow,.section-kicker{font-size:10px;letter-spacing:2px;font-weight:700}.eyebrow{display:flex;align-items:center;gap:12px;color:#d6e4cb}.eyebrow-line{height:1px;width:34px;background:var(--lime)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display);letter-spacing:-2.6px;font-weight:600}h1{font-size:clamp(48px,6.1vw,80px);line-height:1.08;margin:25px 0 23px;max-width:780px}h1 em,h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-2px}h1 em{color:var(--lime)}.hero-lead{max-width:590px;color:#e0e8e2;font-size:16px;line-height:1.85}.hero-actions{display:flex;gap:12px;margin-top:31px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:14px 19px;border-radius:4px;font-size:12px;font-weight:700;transition:transform .2s,background .2s;border:1px solid transparent;cursor:pointer}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--lime);color:var(--forest)}.button-primary:hover{background:#e1f8a9}.button-ghost{border-color:#ffffff60;color:white}.button-ghost:hover{background:#ffffff14}.hero-note{margin-top:28px;font-size:11px;color:#d7e0d9;display:flex;align-items:center;gap:9px}.note-dot{width:6px;height:6px;background:var(--lime);border-radius:50%}.hero-bottom{position:absolute;bottom:25px;left:0;right:0;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.8px;color:#c6d0c8}.hero-scroll b{font-size:16px;color:var(--lime);margin-left:9px}
.section-pad{padding:110px 0}.intro-section{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:.72fr 1.1fr 1fr;gap:42px;align-items:start}.section-kicker{color:#75816f;display:flex;align-items:center;gap:15px}.kicker-rule{height:1px;width:42px;background:#c9d2c4}.intro-copy h2,.section-heading h2,.insight-copy h2,.articles-top h2,.faq-grid h2,.contact-grid h2,.responsibility-grid h2{font-size:clamp(35px,4vw,52px);line-height:1.15;margin:22px 0 24px}.intro-copy h2 span{font-family:var(--serif);font-weight:400;color:#7b8c72}.intro-large{font-size:17px;line-height:1.8;color:#263b31}.intro-copy>p:not(.intro-large){font-size:13px;color:#6e786f;line-height:1.9}.text-link,.light-link{display:inline-flex;gap:20px;align-items:center;font-size:12px;font-weight:700;border-bottom:1px solid #a7b29e;padding:0 0 8px;margin-top:14px}.text-link span,.light-link span{color:#6f8a4d}.intro-image-wrap{position:relative;min-width:0}.intro-image-wrap img{height:410px;border-radius:2px}.image-caption{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid #d7ddd3;font-size:11px;color:#6d786f}.caption-number{font:italic 18px var(--serif);color:#84947a}
.features-section{background:var(--paper)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:40px}.section-heading h2{margin-bottom:0}.section-heading h2 em,.articles-top h2 em,.faq-grid h2 em{color:#7b8c72}.section-heading>p{max-width:340px;color:var(--muted);font-size:13px;line-height:1.9;margin:0 0 5px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.feature-card{border:1px solid #e7e9e1;background:#fffefa;transition:transform .25s,box-shadow .25s}.feature-card:hover{transform:translateY(-4px);box-shadow:0 18px 45px #172a2010}.feature-image{height:220px;position:relative;overflow:hidden}.feature-image img{transition:transform .5s}.feature-card:hover .feature-image img{transform:scale(1.04)}.feature-index{position:absolute;bottom:0;left:0;background:var(--lime);padding:8px 13px;font:italic 18px var(--serif);color:var(--forest)}.feature-body{padding:25px 25px 23px}.card-tag,.overline{font-size:9px;letter-spacing:1.7px;font-weight:700;color:#778a62}.feature-body h3{font:700 20px/1.35 var(--display);letter-spacing:-.7px;margin:11px 0}.feature-body p{font-size:12px;color:var(--muted);line-height:1.8;min-height:66px}.card-link{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid var(--line);font-size:11px;font-weight:700}.card-link span{color:#708a4f;font-size:17px}.no-results{margin-top:22px;padding:18px;background:var(--cream);border-radius:5px;color:var(--muted)}
.insight-section{background:#e9eee4}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.insight-visual{position:relative;height:590px}.insight-visual>img{object-position:center;border-radius:2px}.visual-stamp{position:absolute;right:-24px;bottom:35px;width:112px;height:145px;background:var(--lime);color:var(--forest);display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:13px;font-size:8px;letter-spacing:2px;font-weight:700}.visual-stamp strong{text-align:center;font:italic 27px/.9 var(--serif);letter-spacing:-1px}.insight-copy h2{font-size:clamp(35px,4vw,50px)}.insight-copy h2 em{color:#7d8d73}.insight-copy>p:not(.overline){font-size:13px;color:#626e64;line-height:1.95}.overline{margin-top:28px;margin-bottom:8px}.insight-points{margin:27px 0}.insight-points>div{display:flex;gap:18px;padding:13px 0;border-bottom:1px solid #d1d9ce}.point-number{font:italic 18px var(--serif);color:#7b8f6d}.insight-points p{font-size:12px;color:#69746b;margin:0;line-height:1.7}.insight-points strong{color:var(--ink);font-size:13px}.button-dark{background:var(--forest);color:white}.button-dark span{color:var(--lime)}
.articles-section{background:#fffefa}.articles-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:35px}.articles-top h2{margin-bottom:0}.article-count{font-size:9px;letter-spacing:1.5px;color:#818a80;padding-bottom:8px}.article-list{border-top:1px solid var(--line)}.article-row{display:grid;grid-template-columns:65px 1fr 50px;gap:25px;align-items:center;padding:27px 0;border-bottom:1px solid var(--line);transition:padding .2s}.article-row:hover{padding-inline:10px}.article-no{font:italic 24px var(--serif);color:#8a9a7f}.article-content h3{font:700 19px var(--display);letter-spacing:-.6px;margin:5px 0}.article-content p{font-size:12px;color:var(--muted);max-width:720px;margin:0;line-height:1.8}.article-arrow{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:20px;transition:all .2s}.article-arrow:hover{background:var(--forest);color:white}
.responsibility-section{background:var(--forest);color:white;padding:86px 0}.responsibility-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.section-kicker.light{color:#c0cfbd}.responsibility-grid h2{margin-bottom:0}.responsibility-grid h2 em,.contact-grid h2 em{color:var(--lime)}.responsibility-copy p{font-size:13px;line-height:1.9;color:#d1dbd4}.light-link{color:white;border-color:#61746a}.light-link span{color:var(--lime)}
.faq-section{background:var(--cream)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.faq-grid h2{margin-bottom:18px}.faq-intro{max-width:300px;color:var(--muted);font-size:13px;line-height:1.9}.faq-list details{border-bottom:1px solid #d8dfd4}.faq-list details:first-child{border-top:1px solid #d8dfd4}.faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:19px 0;font:700 14px var(--display)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:20px;font-weight:400;color:#738967;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:12px;color:var(--muted);line-height:1.9;padding:0 30px 17px 0;margin:0}
.contact-section{background:#172e26;color:white}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-grid h2{margin-bottom:18px}.contact-grid>div>p{font-size:13px;line-height:1.9;color:#c7d2cb;max-width:390px}.contact-detail{display:flex;align-items:center;gap:13px;margin-top:35px}.contact-icon{width:40px;height:40px;border:1px solid #51675b;border-radius:50%;display:grid;place-items:center;color:var(--lime)}.contact-detail small,.contact-detail strong{display:block}.contact-detail small{font-size:8px;letter-spacing:1.5px;color:#aebdb2}.contact-detail strong{font-size:12px;margin-top:3px}.contact-form{padding:30px;background:#203a30;border:1px solid #355044}.form-row{margin-bottom:17px}.form-row label{display:block;font-size:11px;font-weight:600;margin-bottom:7px;color:#e1e9e2}.form-row input,.form-row textarea,.form-row select{width:100%;background:#172e26;border:1px solid #486052;border-radius:3px;color:white;padding:12px 13px;font-size:12px;outline-color:var(--lime)}.form-row input::placeholder,.form-row textarea::placeholder{color:#9aaba0}.form-row select{color:#e1e9e2}.form-row textarea{resize:vertical}.form-submit{width:100%;border:0}.form-note{font-size:10px;color:#a8b9ad;margin:11px 0 0}.form-feedback{font-size:12px;margin-top:12px;color:var(--lime);line-height:1.6}.site-footer{background:#0b1d17;color:white;padding:36px 0 20px}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:30px}.footer-brand .brand-mark{background:#294338}.footer-top>p{font:italic 16px/1.45 var(--serif);color:#b9c6bc;margin:0}.footer-nav{display:flex;gap:22px}.footer-nav a{font-size:11px;color:#c6d1c8}.footer-nav a:hover{color:var(--lime)}.footer-bottom{display:flex;justify-content:space-between;gap:15px;padding-top:18px;border-top:1px solid #2a3c33;color:#91a196;font-size:9px}.footer-bottom a{color:#d2e4c2}
@media(max-width:1000px){.primary-nav{gap:18px}.intro-grid{grid-template-columns:.5fr 1fr;gap:30px}.intro-image-wrap{grid-column:2}.intro-image-wrap img{height:320px}.insight-grid{gap:55px}.faq-grid,.contact-grid{gap:55px}.feature-body{padding:20px}.feature-image{height:190px}}
@media(max-width:760px){.container{width:min(100% - 40px,560px)}.nav-wrap{height:70px}.menu-toggle{display:flex;flex-direction:column;gap:5px;cursor:pointer}.menu-toggle span{width:23px;height:2px;background:var(--forest);display:block}.primary-nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fffefa;padding:20px;align-items:stretch;gap:0;flex-direction:column;border-bottom:1px solid var(--line);box-shadow:0 20px 25px #10251f0d}.primary-nav.open{display:flex}.primary-nav .nav-link{padding:12px 0;text-align:left}.nav-dropdown{width:100%}.dropdown-trigger{width:100%;text-align:left}.dropdown-menu{position:static;width:100%;box-shadow:none;margin:0 0 8px;border-radius:8px}.search-open{margin:10px 0}.nav-cta{text-align:center;margin-top:8px}.hero{min-height:670px;align-items:flex-start}.hero-content{padding-top:110px;padding-bottom:105px}.hero-shade{background:linear-gradient(90deg,rgba(8,25,20,.9),rgba(8,25,20,.48)),linear-gradient(0deg,rgba(8,25,20,.7),transparent 65%)}h1{font-size:clamp(44px,11vw,62px);letter-spacing:-2px}.hero-lead{font-size:14px}.hero-bottom{bottom:18px;font-size:8px;letter-spacing:1px}.hero-scroll{display:none}.section-pad{padding:75px 0}.intro-grid{grid-template-columns:1fr;gap:20px}.intro-copy h2,.section-heading h2,.insight-copy h2,.articles-top h2,.faq-grid h2,.contact-grid h2,.responsibility-grid h2{font-size:39px;letter-spacing:-1.8px}.intro-image-wrap{grid-column:auto;margin-top:15px}.intro-image-wrap img{height:320px}.section-heading{display:block}.section-heading>p{margin-top:22px}.feature-grid{grid-template-columns:1fr;gap:16px}.feature-image{height:230px}.feature-body p{min-height:0}.insight-grid{grid-template-columns:1fr;gap:45px}.insight-visual{height:390px;margin-right:12px}.visual-stamp{right:-12px;bottom:22px;width:90px;height:125px}.insight-copy .overline{margin-top:0}.articles-top{align-items:start;gap:15px}.article-count{display:none}.article-row{grid-template-columns:35px 1fr 35px;gap:12px;padding:22px 0}.article-no{font-size:19px}.article-content h3{font-size:16px;line-height:1.4}.article-content p{font-size:11px}.article-arrow{width:33px;height:33px;font-size:17px}.responsibility-section{padding:68px 0}.responsibility-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.faq-intro{max-width:420px}.contact-form{padding:22px}.footer-top{align-items:flex-start;flex-wrap:wrap;gap:22px}.footer-top>p{font-size:14px}.footer-nav{width:100%;flex-wrap:wrap;gap:18px}.footer-bottom{flex-wrap:wrap;line-height:1.7}.footer-bottom span:nth-child(2){order:3;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
