:root{--paper:#f6f4ec;--cream:#eeece2;--ink:#172924;--muted:#64746b;--forest:#184a3e;--forest-dark:#103a31;--lime:#d5e25b;--orange:#d88b4d;--line:#d8dfd4;--white:#fffefa;--shadow:0 24px 55px rgba(18,47,38,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Aptos','Yu Gothic','Meiryo',sans-serif;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}p{line-height:1.9}.container{width:min(100% - 64px,1320px);margin-inline:auto}
.preview-ribbon{background:var(--lime);color:#23392f;text-align:center;padding:8px 16px;font-size:11px;font-weight:800;letter-spacing:.055em}.site-header{background:var(--paper);border-bottom:1px solid rgba(23,41,36,.08);position:sticky;top:0;z-index:30;backdrop-filter:blur(14px)}.header-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:20px;line-height:1.15;letter-spacing:.01em}.brand small{display:block;font-size:9px;letter-spacing:.18em;font-weight:700;margin-top:5px;color:var(--muted)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--forest);color:var(--lime);font-size:28px;font-weight:400;line-height:1}.site-header nav{display:flex;align-items:center;gap:40px}.site-header nav a{font-size:12px;font-weight:800;letter-spacing:.035em;white-space:nowrap}.site-header nav a:not(.nav-instagram):hover,.text-link:hover,.section-more:hover{color:var(--orange)}.nav-instagram{border:1px solid var(--forest);padding:12px 18px;border-radius:999px}.nav-instagram:hover{background:var(--forest);color:white}.nav-instagram span{margin-left:11px}
.hero-section{overflow:hidden;padding:62px 0 74px;background:radial-gradient(circle at 12% 4%,#fcf9eb 0,transparent 44%),var(--paper)}.hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:52px}.hero-copy{padding:26px 0 16px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--forest);text-transform:uppercase}.eyebrow i{width:24px;height:2px;background:var(--orange)}.hero-copy h1{font-size:clamp(48px,5.9vw,94px);letter-spacing:-.085em;line-height:1.18;margin:26px 0 22px;font-weight:800}.hero-copy h1 span{color:var(--forest);position:relative}.hero-copy h1 span::after{content:'';position:absolute;bottom:-7px;left:4%;height:8px;width:92%;background:var(--lime);transform:rotate(-2deg);z-index:-1}.hero-copy>p{max-width:560px;color:#4d6056;font-size:15px;line-height:2.05;letter-spacing:.01em}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:50px;padding:16px 23px;min-height:56px;border-radius:4px;font-size:13px;font-weight:800;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--forest);color:white}.button-dark:hover{background:var(--forest-dark)}.button span{font-size:20px;font-weight:400}.text-link{font-size:12px;font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:5px}.hero-stats{display:flex;gap:32px;margin-top:66px;border-top:1px solid var(--line);padding-top:25px}.hero-stats div{display:flex;align-items:baseline;gap:9px}.hero-stats strong{font-size:29px;line-height:1;font-weight:800;letter-spacing:-.06em;color:var(--forest)}.hero-stats span{font-size:10px;color:var(--muted);font-weight:700}.hero-visual{position:relative;padding:12px 34px 25px 0}.hero-image-wrap{height:min(44vw,610px);min-height:500px;border-radius:47% 47% 5px 5px;overflow:hidden;position:relative;background:#c8d0c8}.hero-image-wrap img{width:100%;height:100%;object-fit:cover}.image-stamp{position:absolute;right:24px;top:30px;width:88px;height:88px;border-radius:50%;background:var(--lime);display:grid;place-items:center;text-align:center;font-size:10px;line-height:1.5;font-weight:800;letter-spacing:.09em;transform:rotate(12deg)}.hero-float{position:absolute;bottom:58px;left:-36px;background:var(--white);padding:19px 24px;width:300px;box-shadow:var(--shadow)}.hero-float>span{font-size:9px;color:var(--orange);font-weight:800;letter-spacing:.14em}.hero-float strong{display:block;font-size:16px;margin:8px 0}.hero-float a{font-size:11px;font-weight:800;color:var(--forest)}.hero-credit{display:block;text-align:right;color:var(--muted);font-size:9px;margin-top:9px}.hero-credit a{text-decoration:underline}
.pillar-bar{background:var(--forest);color:white}.pillar-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:12px}.pillar-inner>span{font-size:11px;letter-spacing:.11em;color:#c9ddd0;font-weight:700}.pillar-inner b{font-size:11px;font-weight:700;color:var(--lime);white-space:nowrap}.pillar-inner em{font-style:normal;color:white;margin-left:7px;font-size:13px}
.section{padding:96px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:32px}.section-kicker{display:block;font-size:10px;letter-spacing:.2em;color:var(--orange);font-weight:800;margin-bottom:13px}.section-heading h2,.method-grid h2{font-size:clamp(28px,3.1vw,43px);letter-spacing:-.055em;line-height:1.35;margin:0 0 8px}.section-heading p{margin:0;font-size:12px;color:var(--muted)}.section-more{font-size:12px;font-weight:800;border-bottom:1px solid var(--ink);padding-bottom:6px;white-space:nowrap;margin-bottom:8px}.featured-section{background:var(--white)}.featured-grid,.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.story-card{min-width:0;background:var(--white);border:1px solid #e4e8de;transition:transform .22s,box-shadow .22s}.story-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card-link{display:block}.card-media{height:230px;position:relative;overflow:hidden;background:#bdd0b7}.card-media>img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.story-card:hover .card-media>img{transform:scale(1.045)}.card-number{position:absolute;top:14px;left:14px;background:var(--lime);width:36px;height:36px;display:grid;place-items:center;font-size:12px;font-weight:800}.card-content{padding:21px 23px 22px}.card-tags{display:flex;align-items:center;gap:7px}.card-tags span{background:#edf1e6;color:#466052;padding:5px 9px;font-size:10px;font-weight:800}.card-tags span:last-child{background:#f6ece1;color:#9a6537}.card-content h3{font-size:18px;line-height:1.55;letter-spacing:-.025em;margin:14px 0 8px;min-height:55px}.card-content>p{font-size:12px;line-height:1.8;color:#65716a;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:65px;margin:0 0 17px}.card-bottom{border-top:1px solid var(--line);padding-top:13px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}.card-bottom strong{font-size:15px;color:var(--forest);margin-left:3px}.card-arrow{font-size:17px;color:var(--forest)}.photo-mini{display:block;padding:0 23px 14px;font-size:9px;color:#6f7c73;line-height:1.5}.photo-mini a{text-decoration:underline}.featured-grid .card-media{height:245px}.card-art{height:100%;background:radial-gradient(circle at 75% 25%,#e7edb6 0 13%,transparent 13%),linear-gradient(145deg,#1b5d4d,#12372f);color:var(--lime);padding:32px;display:flex;align-items:end;justify-content:space-between}.card-art span{font-size:25px;font-weight:800;line-height:1.1;letter-spacing:-.04em}.card-art b{font-size:67px;line-height:.8;font-weight:400}
.archive-section{background:var(--paper)}.archive-count{font-size:10px;color:var(--muted);font-weight:800;letter-spacing:.1em}.archive-count strong{color:var(--forest);font-size:26px;letter-spacing:-.04em}.search-panel{background:var(--white);padding:20px 22px 22px;margin-bottom:28px;border:1px solid var(--line)}.search-panel label{display:block;font-size:11px;color:var(--muted);font-weight:800;margin-bottom:9px}.search-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #b7c2b6;padding-bottom:9px}.search-row span{font-size:27px;color:var(--forest);line-height:1}.search-row input{border:0;background:transparent;outline:none;flex:1;min-width:0;font-size:16px;color:var(--ink)}.search-row input::placeholder{color:#a4afa5}.search-row button{border:0;background:none;color:var(--muted);font-size:24px;line-height:1}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.filter{background:transparent;border:1px solid #ccd5c9;color:#506257;border-radius:100px;padding:8px 16px;font-size:11px;font-weight:800}.filter:hover,.filter.active{background:var(--forest);border-color:var(--forest);color:white}.empty-state{text-align:center;padding:65px 20px;color:var(--muted);background:var(--white)}.method-section{background:var(--lime);padding:75px 0}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.method-grid h2{font-size:clamp(32px,3.6vw,53px);margin-top:16px}.method-grid p{font-size:13px;max-width:560px;margin:0 0 13px}.method-grid .text-link{display:inline-block;margin-top:14px}
.card-bottom small{display:block;margin-top:3px;font-size:9px;color:#8b947f}.story-card[hidden],.empty-state[hidden],#clearSearch[hidden]{display:none!important}
.site-footer{background:#112e28;color:#f6f5ea;padding:70px 0 22px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-logo{font-size:20px;font-weight:800}.footer-grid p{font-size:11px;color:#c3d1c8;line-height:2}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:start;gap:10px}.footer-heading{color:var(--lime);font-size:10px;letter-spacing:.2em;font-weight:800;margin-bottom:7px}.footer-grid a{font-size:12px;color:white}.footer-grid a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #34564c;margin-top:60px;padding-top:17px;display:flex;justify-content:space-between;color:#a8bfb1;font-size:10px}
.article-shell{padding-top:24px;padding-bottom:100px}.breadcrumbs{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:10px;margin-bottom:32px}.breadcrumbs a:hover{text-decoration:underline}.article-grid{display:grid;grid-template-columns:minmax(0,820px) minmax(220px,290px);gap:65px;align-items:start}.article-header{padding-bottom:25px}.article-labels{display:flex;gap:8px;flex-wrap:wrap}.article-labels span{background:var(--forest);color:white;font-size:10px;padding:6px 10px;font-weight:800}.article-labels span:nth-child(2){background:#e5ebd7;color:var(--forest)}.article-labels span:nth-child(3){background:transparent;color:var(--orange);border:1px solid var(--orange)}.article-header h1{font-size:clamp(32px,4vw,53px);line-height:1.35;letter-spacing:-.06em;margin:22px 0}.article-deck{color:#54685d;font-size:15px;line-height:1.85;margin:0}.article-byline{display:flex;flex-wrap:wrap;gap:14px;font-size:10px;color:var(--muted);margin-top:24px}.article-byline span+span{border-left:1px solid var(--line);padding-left:14px}.article-hero{margin:0}.article-hero img{width:100%;max-height:560px;object-fit:contain;background:#e8eae2}.article-hero figcaption{font-size:10px;color:#65766b;line-height:1.7;margin-top:8px}.article-hero figcaption a{text-decoration:underline}.article-notice{margin:35px 0;background:#fff8df;border-left:4px solid var(--orange);padding:20px 23px}.article-notice strong{font-size:13px}.article-notice p{font-size:11px;margin:4px 0 0;color:#665d43}.article-content{font-size:14px;line-height:2.05}.article-content h2{font-size:26px;line-height:1.4;letter-spacing:-.04em;padding-top:32px;margin:45px 0 19px;border-top:1px solid var(--line)}.article-content h3{font-size:18px;margin:35px 0 9px;line-height:1.5}.article-content h4{font-size:15px;margin:25px 0 8px}.article-content p{margin:0 0 20px}.article-content a{color:#1e6654;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.article-content ul{padding-left:21px;margin:0 0 27px}.article-content li{padding-left:4px;margin-bottom:5px}.article-content hr{border:0;border-top:1px solid var(--line);margin:42px 0 20px}.article-content strong{color:#183d32}.table-scroll{width:100%;overflow-x:auto;margin:28px 0}.article-content table{width:100%;min-width:520px;border-collapse:collapse;font-size:12px;line-height:1.55;background:var(--white)}.article-content th{text-align:left;background:#e6eadf;color:#244b3d;font-size:11px}.article-content th,.article-content td{border:1px solid #dce4d9;padding:11px 12px;vertical-align:top}.article-content tbody tr:nth-child(even){background:#fafaf6}.article-end{margin-top:65px;padding:48px 42px;background:var(--cream);text-align:center}.article-end>span{font-size:37px;color:var(--forest)}.article-end h2{font-size:26px;letter-spacing:-.04em;margin:8px 0}.article-end p{font-size:12px;color:#55685c;max-width:540px;margin:0 auto 22px}.article-sidebar{position:sticky;top:115px;padding-top:4px}.sidebar-card{background:var(--white);border-top:5px solid var(--forest);padding:25px;box-shadow:0 8px 30px rgba(18,47,38,.04)}.sidebar-kicker{font-size:9px;letter-spacing:.17em;color:var(--orange);font-weight:800}.sidebar-card h2{font-size:20px;margin:10px 0 18px}.sidebar-card dl{margin:0}.sidebar-card dl div{border-top:1px solid var(--line);padding:10px 0;display:flex;justify-content:space-between;gap:10px;font-size:11px}.sidebar-card dt{color:var(--muted)}.sidebar-card dd{margin:0;font-weight:800;text-align:right}.sidebar-card>p{font-size:10px;color:var(--muted);margin:15px 0 0}.sidebar-social{margin-top:20px;padding:24px;background:var(--forest);color:white}.sidebar-social span{font-size:9px;color:var(--lime);letter-spacing:.16em;font-weight:800}.sidebar-social p{font-size:11px;margin:10px 0}.sidebar-social a{font-size:12px;font-weight:800;text-decoration:underline}.simple-page{max-width:920px;padding-top:52px;padding-bottom:110px}.back-link{font-size:12px;color:var(--forest);font-weight:700;display:block;margin-bottom:55px}.simple-page h1{font-size:clamp(40px,5vw,65px);letter-spacing:-.06em;margin:0 0 40px}.simple-body{background:var(--white);padding:50px 60px}.simple-body .lead{font-size:18px;line-height:1.9;color:var(--forest);font-weight:700}.simple-body h2{font-size:23px;margin:45px 0 10px}.simple-body p{font-size:14px;color:#53665c}.simple-body a{color:var(--forest);text-decoration:underline}
@media(max-width:1100px){.hero-grid{gap:28px}.hero-copy h1{font-size:clamp(47px,5.4vw,72px)}.featured-grid,.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-grid{gap:35px}.hero-image-wrap{min-height:430px}}
@media(max-width:800px){.container{width:min(100% - 34px,680px)}.header-inner{min-height:70px}.site-header nav{gap:15px}.site-header nav a:first-child{display:none}.site-header nav a{font-size:10px}.brand{font-size:17px}.brand-mark{width:37px;height:37px;font-size:25px}.nav-instagram{padding:9px 11px}.hero-section{padding:36px 0 56px}.hero-grid{display:block}.hero-copy{padding:12px 0}.hero-copy h1{font-size:clamp(46px,8.8vw,74px)}.hero-visual{margin:32px 0 0;padding:0 0 30px 20px}.hero-image-wrap{height:450px;min-height:0}.hero-float{left:0;bottom:65px}.hero-credit{margin-right:7px}.hero-stats{margin-top:45px}.pillar-inner{overflow-x:auto;min-height:75px}.pillar-inner>span{display:none}.pillar-inner b{padding-right:22px}.section{padding:65px 0}.article-grid{display:block}.article-sidebar{position:static;margin-top:55px}.method-grid{grid-template-columns:1fr;gap:15px}.footer-grid{grid-template-columns:1.5fr 1fr;gap:32px}.footer-grid>div:last-child{grid-column:1/-1}}
@media(max-width:540px){.preview-ribbon{font-size:9px}.site-header nav a:nth-child(2){display:none}.hero-copy h1{font-size:46px}.hero-copy>p{font-size:13px}.hero-actions{gap:20px}.hero-stats{gap:20px}.hero-stats div{display:block}.hero-stats strong{display:block;font-size:25px}.hero-stats span{display:block;margin-top:4px}.hero-visual{padding-left:15px}.hero-image-wrap{height:380px}.hero-float{width:245px;padding:15px;bottom:60px}.image-stamp{width:68px;height:68px;font-size:8px}.featured-grid,.archive-grid{grid-template-columns:1fr}.section-heading{align-items:start}.section-more{display:none}.card-media,.featured-grid .card-media{height:235px}.search-panel{padding:16px}.filter{padding:7px 11px;font-size:10px}.archive-count{margin-top:8px}.article-shell{padding-top:18px}.article-header h1{font-size:33px}.article-deck{font-size:13px}.article-content{font-size:13px}.article-content h2{font-size:21px}.article-end{padding:36px 22px}.simple-body{padding:29px 22px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:4px}}
