:root{--paper:#f7f5ef;--ink:#172c3c;--body:#36444a;--line:#b8bdb4;--sage:#dfe6d8;--sage-dark:#768a76;--gold:#c88339;--white:#fffefa;--muted:#58615a;--display:Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--max:1280px}
    *,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--body);font-family:var(--sans);font-size:16px;line-height:1.65}button,input,select,textarea{font:inherit}a{color:inherit;text-underline-offset:5px}button,a,input,select,textarea{touch-action:manipulation}::selection{background:var(--sage);color:var(--ink)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--ink);font-weight:400}h1,h2{font-family:var(--display)}h2{font-size:clamp(2.6rem,4.1vw,4.1rem);line-height:1.08;letter-spacing:-.05em}h3{font-size:1.2rem;line-height:1.3}button{cursor:pointer}svg{display:block;width:100%;height:auto}.wrap{width:min(var(--max),calc(100% - 96px));margin:auto}.eyebrow{color:var(--muted);font-size:.67rem;letter-spacing:.19em;font-weight:650;text-transform:uppercase}.rule{border-top:1px solid var(--line)}.skip{position:fixed;z-index:20;left:20px;top:-100px;padding:10px 18px;background:var(--ink);color:var(--white)}.skip:focus{top:16px}.demo-note{padding:8px 24px;text-align:center;border-bottom:1px solid var(--line);color:var(--muted);font-size:.69rem;letter-spacing:.025em}.demo-note strong{color:var(--ink);font-weight:600}.header{padding:26px 0 22px;position:relative;z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{font-family:var(--display);text-decoration:none;display:inline-flex;align-items:center;gap:11px;flex:none;color:var(--ink);font-size:1.34rem;letter-spacing:-.045em;font-weight:450}.brand-mark{width:17px;height:17px;border:1px solid var(--ink);border-radius:50%;position:relative}.brand-mark::after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--gold);right:-2px;top:1px}.nav{display:flex;align-items:center;gap:30px}.nav a{font-size:.79rem;text-decoration:none}.nav a:hover{color:#805027}.nav .nav-cta{border-bottom:1px solid var(--ink);padding-bottom:3px;margin-left:12px}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:8px 13px;color:var(--ink);font-size:.82rem}.hero{padding:72px 0 70px}.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:38px}.hero .eyebrow{margin-bottom:30px;letter-spacing:.15em;color:var(--ink)}h1{font-size:clamp(3.45rem,5.3vw,5.8rem);letter-spacing:-.055em;line-height:1.055;max-width:790px}.hero-copy{max-width:510px;margin-top:29px;font-size:1rem;line-height:1.75}.hero-copy strong{font-weight:500;color:var(--ink)}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:31px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:13px 23px;min-height:50px;background:var(--ink);color:var(--white);border:1px solid var(--ink);text-decoration:none;font-size:.81rem;line-height:1.5}.button:hover{background:#294552}.button .arrow{font-size:1.1rem;line-height:1}.text-link{font-size:.8rem;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:3px}.text-link:hover{border-color:var(--ink)}.hero-art{position:relative;margin:0 -5px 0 -12px}.hero-art figcaption{font-size:.69rem;color:var(--muted);letter-spacing:.09em;text-transform:uppercase;text-align:center;margin-top:-12px}.intro-line{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.intro-line p{font-size:.75rem;color:var(--muted)}.intro-line span{color:var(--ink)}.intro-line .serial{font-family:var(--display);font-size:.95rem}.section{padding:92px 0}.section-top{display:grid;grid-template-columns:1fr 1.08fr;gap:80px;align-items:start;margin-bottom:51px}.section-top .eyebrow{margin-bottom:23px}.section-top .lead{padding-top:47px;max-width:535px;font-size:1rem}.service-list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:70px 1fr 1.15fr 26px;gap:20px;padding:29px 0;border-bottom:1px solid var(--line);align-items:start}.number{color:var(--sage-dark);font-family:var(--display);font-size:1.1rem;font-style:italic}.service h3{font-family:var(--display);font-size:1.65rem;letter-spacing:-.025em}.service p{font-size:.84rem;max-width:465px}.service .arrow-link{font-size:1.3rem;text-decoration:none;color:var(--ink)}.service .small-label{display:block;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:7px}.method{background:var(--sage);border-block:1px solid var(--line)}.method .section-top{margin-bottom:50px}.method .eyebrow{color:#435847}.method-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:start}.method-intro{padding-right:30px}.method-intro p{font-size:.87rem;max-width:445px}.method-intro .method-note{margin-top:28px;padding-top:20px;border-top:1px solid #afbbab;font-size:.74rem;color:#435847}.five-c{list-style:none;margin:0;padding:0;border-top:1px solid #aab8a6}.five-c li{display:grid;grid-template-columns:39px 1fr auto;gap:12px;align-items:baseline;padding:12px 0;border-bottom:1px solid #aab8a6}.five-c .c-letter{font-family:var(--display);color:var(--sage-dark);font-size:1.2rem}.five-c strong{font-weight:500;color:var(--ink);font-size:.9rem}.five-c span:last-child{font-size:.76rem;color:#435847;text-align:right}.method-footer{font-size:.72rem;margin-top:16px;color:#435847}.project-row{display:grid;grid-template-columns:1fr 1fr;gap:66px}.featured-project{padding:35px 0;border-top:1px solid var(--line)}.project-label{font-size:.64rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);display:flex;gap:10px;align-items:center;margin-bottom:17px}.status-dot{height:5px;width:5px;background:var(--sage-dark);border-radius:50%;display:inline-block}.featured-project h3{font-family:var(--display);font-size:2.1rem;letter-spacing:-.035em;margin-bottom:15px}.featured-project p{max-width:490px;font-size:.85rem}.featured-project .project-bottom{padding-top:22px;font-size:.73rem;color:var(--muted)}.project-mini{padding-top:26px;margin-top:26px;border-top:1px solid var(--line)}.project-mini h3{font-size:1rem;font-weight:500;margin-bottom:10px}.project-mini p{font-size:.8rem}.forest-art{width:100%;margin-top:24px;background:#e8ebdf;border:1px solid #c1c8b9}.forest-art svg{max-height:170px}.about{padding:75px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.about-grid{display:grid;grid-template-columns:.7fr 1.25fr 1fr;gap:45px}.about .eyebrow{margin-top:7px}.about-name{font-family:var(--display);color:var(--ink);font-size:2.75rem;letter-spacing:-.045em;line-height:1.14}.about-role{font-size:.77rem;color:var(--muted);margin-top:18px}.about p{font-size:.86rem}.about p+p{margin-top:15px}.prices{padding-bottom:74px}.prices .section-top{margin-bottom:35px}.proposal-note{font-size:.75rem;border-left:2px solid var(--gold);padding:7px 0 7px 15px;margin:0 0 30px;max-width:850px;color:var(--muted)}.price-table{width:100%;border-collapse:collapse;text-align:left}.price-table thead{font-size:.61rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.price-table th{font-weight:500;padding:0 15px 14px 0}.price-table tbody tr{border-top:1px solid var(--line)}.price-table tbody tr:last-child{border-bottom:1px solid var(--line)}.price-table td{vertical-align:top;padding:24px 15px 24px 0;font-size:.82rem}.price-table td:first-child{width:30%;font-size:1rem;color:var(--ink);font-family:var(--display)}.price-table td:nth-child(2){width:45%}.price-table td:last-child{padding-right:0;text-align:right;width:25%}.amount{font-size:1.65rem;color:var(--ink);font-family:var(--display);white-space:nowrap}.price-caption{display:block;font-size:.63rem;color:var(--muted);margin-top:4px}.contact{background:var(--ink);color:#dae0dc;padding:80px 0 83px}.contact h2{color:var(--paper);max-width:600px}.contact .eyebrow{color:#b7c5b5;margin-bottom:24px}.contact-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:80px}.contact-intro>p{margin-top:26px;font-size:.87rem;max-width:455px}.contact-intro .contact-aside{margin-top:35px;border-top:1px solid #506069;padding-top:21px;font-size:.73rem;color:#bdc8c6;max-width:455px}.contact-aside strong{display:block;color:var(--paper);font-weight:450;font-size:.86rem;margin-bottom:8px}.contact-form fieldset{border:0;padding:0;margin:0}.contact-form legend{font-size:.71rem;color:#b7c5b5;letter-spacing:.13em;text-transform:uppercase;padding:0;margin-bottom:23px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:18px}.field label{display:block;font-size:.74rem;margin-bottom:7px;color:#edf0e8}.field input,.field textarea,.field select{width:100%;border:1px solid #667782;border-radius:0;background:#1d3443;color:var(--paper);padding:11px 12px;min-height:47px}.field textarea{min-height:128px;resize:vertical;line-height:1.55}.field input::placeholder,.field textarea::placeholder{color:#b1c0c6;opacity:1}.field select{color-scheme:dark}.field [aria-invalid="true"]{border-color:#edb980}.field-hint{display:block;font-size:.68rem;color:#c0ccce;margin-top:6px}.field-error{font-size:.72rem;color:#ffc58e;display:block;margin-top:5px}.field-error:empty{display:none}.form-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:6px}.contact .button{background:var(--sage);color:var(--ink);border-color:var(--sage);font-weight:500}.contact .button:hover{background:#edf0e8}.reset-button{font-size:.73rem;color:#d2ddd7;border:0;background:none;padding:9px 0;border-bottom:1px solid #6e8088}.form-disclaimer{font-size:.7rem;color:#b9c6c6;margin:15px 0 0;max-width:520px}.form-status{margin-top:18px;padding:14px 16px;border:1px solid #8a9d90;font-size:.79rem;color:#f0f2ec;display:none}.form-status.visible{display:block}.footer{padding:29px 0}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer .brand{font-size:1.15rem}.footer-meta{font-size:.67rem;color:var(--muted);text-align:right}.footer-bottom{margin-top:25px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;color:var(--muted);font-size:.66rem}.footer-bottom p:first-child{max-width:660px}.no-js{padding:12px;background:#eee0cc;color:var(--ink);font-size:.8rem}.contact a:focus-visible,.contact button:focus-visible,.contact input:focus-visible,.contact select:focus-visible,.contact textarea:focus-visible{outline-color:#e3b37b}
    @media(min-width:1500px){.hero{padding-top:88px;padding-bottom:90px}.hero-grid{gap:55px}h1{font-size:5.9rem}}
    @media(max-width:1100px){.wrap{width:calc(100% - 64px)}.nav{gap:21px}.hero-grid{gap:10px;grid-template-columns:1.25fr 1fr}.hero{padding-top:52px}h1{font-size:clamp(3.25rem,5.65vw,5.2rem)}.section-top,.method-layout,.contact-grid{gap:45px}.about-grid{grid-template-columns:.6fr 1.1fr 1.25fr;gap:30px}.service{grid-template-columns:50px 1fr 1.1fr 20px;gap:16px}.hero-art{margin-right:-18px}.hero-art figcaption{font-size:.6rem}.project-row{gap:45px}}
    @media(max-width:800px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 44px)}.header{padding:20px 0}.brand{font-size:1.23rem}.js .menu-toggle{display:block}.js .nav{display:none;position:absolute;top:68px;left:22px;right:22px;flex-direction:column;align-items:stretch;gap:0;padding:10px 22px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 22px #172c3c12}.nav.is-open{display:flex}.nav a{padding:12px 0;border-bottom:1px solid #d6d9d0}.nav a:last-child{border-bottom:0}.nav .nav-cta{margin:0}.hero{padding:49px 0 42px}.hero-grid{grid-template-columns:1fr}.hero .eyebrow{font-size:.59rem;margin-bottom:25px}.hero-copy{font-size:.95rem;max-width:540px}.hero-art{max-width:450px;width:100%;margin:8px auto -8px}.hero-art figcaption{font-size:.63rem;margin-top:-20px}.hero-actions{margin-top:25px}.intro-line{padding:18px 0;align-items:flex-start}.intro-line p{font-size:.68rem}.intro-line .serial{white-space:nowrap;font-size:.8rem}.section{padding:63px 0}.section-top{grid-template-columns:1fr;gap:20px;margin-bottom:35px}.section-top .eyebrow{margin-bottom:17px}.section-top .lead{padding-top:0;max-width:590px;font-size:.9rem}.service{grid-template-columns:34px 1fr 24px;gap:13px;padding:24px 0}.service h3{font-size:1.5rem}.service p{grid-column:2;max-width:none;font-size:.8rem;margin-top:0}.service .arrow-link{grid-column:3;grid-row:1 / 3}.service .number{grid-row:1 / 3}.service .small-label{font-size:.57rem}.method-layout{grid-template-columns:1fr;gap:30px}.method-intro{padding:0}.method-intro p{max-width:none}.method-intro .method-note{margin-top:22px}.method .section-top{margin-bottom:29px}.project-row{grid-template-columns:1fr;gap:5px}.featured-project{padding:29px 0}.featured-project p{max-width:none}.project-mini{margin-top:21px;padding-top:21px}.forest-art svg{max-height:145px}.about{padding:52px 0}.about-grid{grid-template-columns:1fr 1.4fr;gap:25px}.about-grid>.eyebrow{grid-column:1 / -1;margin:0}.about-name{font-size:2.3rem}.about p{font-size:.81rem}.contact{padding:59px 0}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-intro>p{max-width:580px;font-size:.83rem;margin-top:22px}.contact-intro .contact-aside{margin-top:24px;max-width:none}.contact h2{max-width:550px}.footer-bottom{flex-direction:column;gap:10px}.footer-meta{font-size:.63rem}.demo-note{font-size:.62rem;padding:8px 18px}.five-c li{gap:10px}.five-c span:last-child{font-size:.72rem}}
    @media(max-width:500px){.wrap{width:calc(100% - 36px)}h1{font-size:clamp(2.9rem,12.3vw,4.2rem)}h2{font-size:2.55rem}.hero .eyebrow{line-height:1.7;max-width:300px}.hero{padding-top:34px}.hero-actions{gap:20px}.button{padding:12px 18px;gap:22px}.hero-art{margin-top:11px;width:calc(100% + 10px);max-width:380px}.hero-art figcaption{margin-top:-23px}.intro-line{gap:20px}.intro-line p{max-width:240px}.intro-line .serial{padding-top:2px}.about-grid{grid-template-columns:1fr;gap:24px}.about-role{margin-top:10px}.about-name{font-size:2.4rem}.price-table thead{display:none}.price-table tbody tr{display:grid;grid-template-columns:1fr auto;gap:12px;padding:22px 0}.price-table td{display:block!important;width:auto!important;padding:0!important}.price-table td:first-child{grid-column:1;grid-row:1;font-size:1.25rem}.price-table td:nth-child(2){grid-column:1 / -1;grid-row:2;font-size:.77rem}.price-table td:last-child{grid-column:2;grid-row:1;min-width:112px}.amount{font-size:1.4rem}.price-caption{font-size:.58rem}.field-row{grid-template-columns:1fr;gap:0}.footer-top{align-items:flex-start}.footer-meta{max-width:175px}.five-c li{grid-template-columns:25px 1fr}.five-c span:last-child{grid-column:2;text-align:left;margin-top:-9px}.project-label{font-size:.59rem}.featured-project h3{font-size:1.9rem}.proposal-note{font-size:.7rem}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
    @media print{.demo-note{display:block}.header nav,.menu-toggle,.hero-actions,.contact-form,.skip{display:none}.wrap{width:100%}.section{padding:35px 0}.contact{color:var(--body);background:var(--paper)}.contact h2,.contact .eyebrow,.contact-intro .contact-aside,.contact-aside strong{color:var(--ink)}.contact-grid{display:block}.footer{padding:15px 0}}
/* v0.2: programme routes and local question composer. */
.nav{gap:22px}.launch-note{padding:9px 22px;background:#e8ecdf;border-bottom:1px solid var(--line);color:var(--body);font-size:.72rem;text-align:center}
.section-top .lead .status-text{display:block;margin-top:16px;font-size:.76rem;color:var(--muted)}
.programme-section{background:var(--white);border-block:1px solid var(--line)}.programme-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.programme-card{padding:30px 0;border-top:1px solid var(--line)}.programme-card h3{font-family:var(--display);font-size:1.8rem;letter-spacing:-.025em;margin-bottom:15px}.programme-card p{font-size:.85rem}.programme-card .text-link{display:inline-block;margin-top:20px}.programme-card .project-label{margin-bottom:16px}.topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px}.topic-item{border-top:1px solid var(--line);padding-top:27px}.topic-item h3{font-family:var(--display);font-size:1.8rem;letter-spacing:-.025em;margin-bottom:14px}.topic-item p{font-size:.85rem}.topic-item p+p{margin-top:15px}.topic-item .text-link{display:inline-block;margin-top:22px}.topic-keywords{font-size:.72rem!important;color:var(--muted)}
.amount.flexible{font-size:1.3rem;white-space:normal}.contact-state{border:1px solid #667782;padding:17px 19px;margin-top:28px;max-width:455px;font-size:.78rem}.contact-state strong{display:block;color:var(--paper);font-weight:500;margin-bottom:7px}.composer-note{font-size:.72rem;color:#c0ccce;margin-bottom:22px}.copy-preview{margin-top:24px}.copy-preview label{display:block;color:#edf0e8;font-size:.74rem;margin-bottom:7px}.copy-preview textarea{width:100%;min-height:200px;background:#142836;color:var(--paper);border:1px solid #667782;border-radius:0;padding:12px;resize:vertical;font:inherit;font-size:.78rem;line-height:1.6}.copy-preview .field-hint{font-size:.67rem}.form-status.error{border-color:#edb980;color:#ffc58e}.contact-form input[aria-invalid="true"],.contact-form textarea[aria-invalid="true"]{border-color:#edb980}.contact-form button:disabled{opacity:.65;cursor:wait}.contact-form [hidden]{display:none!important}.no-js{margin-top:20px}.footer-bottom{align-items:flex-start}
@media(max-width:1100px){.nav{gap:18px}.nav .nav-cta{margin-left:0}.programme-grid{gap:0 40px}.topic-list{gap:35px}}
@media(max-width:800px){.header-inner{flex-wrap:wrap;gap:16px}.js .header-inner{flex-wrap:nowrap}.nav{width:100%;flex-wrap:wrap;gap:0 19px}.js .nav{width:auto;flex-wrap:nowrap;gap:0}.js .nav.is-open{display:flex}.programme-grid,.topic-list{grid-template-columns:1fr;gap:0}.topic-item{margin-bottom:32px}.topic-item:last-child{margin-bottom:0}.programme-card{padding:25px 0}.topic-item h3,.programme-card h3{font-size:1.7rem}.contact-state{max-width:none}.launch-note{font-size:.65rem;line-height:1.55}.nav a{font-size:.78rem}}
@media(max-width:500px){.programme-card p,.topic-item p{font-size:.8rem}.price-table td:last-child{max-width:138px}.amount.flexible{font-size:1.05rem}.copy-preview textarea{font-size:.75rem}}
@media print{.launch-note,.copy-preview,.contact-state{display:none}.programme-section{background:var(--paper)}}
.contact-form .form-actions{display:none}.js .contact-form .form-actions{display:flex}#character-count{display:none}.js #character-count{display:inline}
