/* TP-034 */
:root{
 --primary-color:#33a35e;--primary-light:#d9ece1;--secondary-color:#71a886;--accent-color:#ce27a1;
 --dark-color:#111d16;--text-color:#24382c;--muted-color:#6d8375;--bg-color:#f4f6f5;--surface-color:#ffffff;
 --surface-alt-color:#e6efec;--border-color:#becfc5;--radius-sm:2px 18px 2px 18px;--radius-md:6px 28px 6px 28px;--radius-lg:12px 48px 12px 48px;
 --shadow-soft:0 12px 30px rgba(0,0,0,.10);--shadow-strong:0 25px 60px rgba(0,0,0,.16);--content-width:1280px;--text-column-width:56rem;
 --section-space:clamp(3rem,5vw,5rem);--heading-weight:900;--body-weight:450;--body-line-height:1.42;
 --heading-font:Verdana, Arial, sans-serif;--body-font:"Century Gothic", Arial, sans-serif;--display-size:clamp(3.8rem,10vw,10rem);--density:.86;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text-color);font-family:var(--body-font);font-weight:var(--body-weight);line-height:var(--body-line-height);background-color:var(--bg-color);background-image:radial-gradient(var(--border-color) 1.2px,transparent 1.2px);background-size:22px 22px;}
img,svg{max-width:100%;height:auto}a{color:inherit;text-decoration-thickness:.08em;text-underline-offset:.2em}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:999;background:var(--dark-color);color:white;padding:.75rem 1rem}.skip-link:focus{top:1rem}
.site-shell{min-height:100vh;position:relative;overflow:hidden}main{position:relative}
h1,h2,h3{font-family:var(--heading-font);font-weight:var(--heading-weight);text-transform:lowercase;letter-spacing:.09em;line-height:.98;margin:0 0 .75em}
h1{font-size:var(--display-size);max-width:24ch}h2{font-size:clamp(2rem,5vw,5.4rem)}h3{font-size:clamp(1.05rem,2vw,1.55rem);line-height:1.15}
p{max-width:var(--text-column-width);margin:0 0 1.1rem}small{color:var(--muted-color)}ul,ol{margin:0;padding:0}li{list-style:none}
.site-header{z-index:50;color:var(--text-color)}.brand-mark{display:flex;align-items:center;gap:.75rem;font-family:var(--heading-font);font-weight:var(--heading-weight);text-decoration:none}
.brand-mark img{width:42px;height:42px}.menu-toggle{display:none;background:var(--dark-color);color:white;border:0;padding:.7rem 1rem;border-radius:var(--radius-sm)}
.band-header,.header-main{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem clamp(1rem,4vw,4rem);background:color-mix(in srgb,var(--surface-color) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--border-color)}
.site-header nav{display:flex;align-items:center;gap:clamp(.6rem,2vw,1.6rem);flex-wrap:wrap}.site-header nav a{text-decoration:none;font-size:.88rem;font-weight:650}
.utility-line{display:flex;justify-content:space-between;padding:.4rem clamp(1rem,4vw,4rem);background:var(--dark-color);color:white;font-size:.76rem;letter-spacing:.04em}
.floating-header{position:fixed;inset:1rem 1rem auto 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;pointer-events:none}.floating-header>*{pointer-events:auto}
.floating-header .brand-mark,.nav-island{background:var(--surface-color);padding:.7rem 1rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}
.vertical-header{position:fixed;inset:0 auto 0 0;width:clamp(13rem,18vw,19rem);display:flex;flex-direction:column;gap:2rem;padding:2rem 1.2rem;background:var(--surface-color);border-right:1px solid var(--border-color)}
[data-navigation-pattern="right-vertical-rail"] .vertical-header{left:auto;right:0;border-right:0;border-left:1px solid var(--border-color)}.vertical-header nav{flex-direction:column;align-items:flex-start}
.domain-chip{margin-top:auto;font-family:monospace;font-size:.75rem;color:var(--muted-color)}.centered-header{padding:1.2rem;text-align:center;background:var(--surface-color);border-bottom:1px solid var(--border-color)}
.centered-header .brand-mark{justify-content:center;font-size:1.35rem}.centered-header nav{justify-content:center;margin-top:.8rem}
[data-navigation-pattern="left-vertical-rail"] .site-shell,[data-navigation-pattern="sidebar-directory"] .site-shell,[data-navigation-pattern="document-table-of-contents"] .site-shell,[data-navigation-pattern="sticky-section-index"] .site-shell{padding-left:clamp(13rem,18vw,19rem)}
[data-navigation-pattern="right-vertical-rail"] .site-shell{padding-right:clamp(13rem,18vw,19rem)}
.site-section{position:relative;padding-block:calc(var(--section-space) * var(--density));isolation:isolate}.section-frame{width:min(92vw,var(--content-width));margin-inline:auto;gap:clamp(1.2rem,4vw,5rem);position:relative;align-items:center}
.section-heading{position:relative;z-index:2}.section-heading>p{font-size:clamp(1rem,1.6vw,1.25rem);color:var(--muted-color)}.section-kicker{display:block;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1rem;color:var(--primary-color);font-weight:700}
.section-components{min-width:0;position:relative;z-index:2}.component-set{display:grid;gap:clamp(.75rem,2vw,1.5rem)}
[data-component-item]{position:relative;background:var(--surface-color);padding:clamp(1rem,2.5vw,2rem);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);box-shadow:inset 0 0 0 2px var(--border-color);}
[data-component-item] p{color:var(--muted-color);font-size:.94rem}[data-component-item] a{font-weight:700;color:var(--primary-color)}
.pattern-text-cards,.pattern-outlined-panels,.pattern-borderless-panels,.pattern-note-cards,.pattern-callout-stack,.pattern-stacked-sheets,.pattern-editorial-columns,.pattern-mini-dashboard{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.pattern-borderless-panels [data-component-item]{background:transparent;box-shadow:none;border:0;border-bottom:1px solid var(--border-color);border-radius:0}
.pattern-stacked-sheets [data-component-item]{box-shadow:6px 6px 0 var(--primary-light),var(--shadow-soft)}.panel-mark,.item-index,.badge{display:inline-grid;place-items:center;min-width:2.4rem;height:2.4rem;border-radius:var(--radius-sm);background:var(--dark-color);color:white;font-family:monospace;margin-bottom:1rem}
.pattern-numbered-list,.pattern-stepper,.pattern-timeline,.pattern-checklist,.pattern-icon-list,.pattern-badge-list{display:grid;gap:0}.pattern-numbered-list li,.pattern-stepper li,.pattern-timeline li,.pattern-checklist li,.pattern-icon-list li,.pattern-badge-list li{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;border-bottom:1px solid var(--border-color);padding:1.2rem 0;background:transparent;box-shadow:none;border-radius:0}
.pattern-timeline{border-left:3px solid var(--primary-color);padding-left:1.4rem}.pattern-checklist .checkmark{font-size:1.5rem;color:var(--primary-color)}.mini-icon{width:1.6rem;height:1.6rem;fill:none;stroke:currentColor;stroke-width:1.8}
.pattern-accordion{display:block}details{border-bottom:1px solid var(--border-color);padding:1rem 0}summary{cursor:pointer;font-family:var(--heading-font);font-weight:700}details>div{padding:1rem 0 0}
.tab-list{display:flex;gap:.5rem;overflow:auto;padding-bottom:.8rem}.tab-list button{border:1px solid var(--border-color);background:var(--surface-color);padding:.7rem 1rem;border-radius:var(--radius-sm);white-space:nowrap}.tab-list button[aria-selected="true"]{background:var(--dark-color);color:white}
.tab-panels [role="tabpanel"]{min-height:12rem}.pattern-structured-table{overflow:auto}table{border-collapse:collapse;width:100%;min-width:46rem;background:var(--surface-color)}th,td{padding:1rem;border:1px solid var(--border-color);text-align:left;vertical-align:top}th{font-family:var(--heading-font)}
.pattern-definition-list>div{display:grid;grid-template-columns:minmax(10rem,.35fr) minmax(0,.65fr);gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border-color)}dt{font-weight:800}dd{margin:0;color:var(--muted-color)}
.pattern-link-directory,.pattern-document-index,.pattern-anchor-menu,.pattern-navigation-map{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}.directory-link{display:grid;grid-template-columns:auto 1fr;gap:.6rem;padding:1rem;text-decoration:none;background:var(--surface-color);box-shadow:inset 0 0 0 2px var(--border-color);}.directory-link small{grid-column:2}
.pattern-tag-cloud{display:flex;flex-wrap:wrap}.tag{display:inline-block;padding:.55rem .85rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius-lg)}
.hero-visual{margin:0;position:relative;z-index:1}.hero-visual img{width:100%;display:block;filter:saturate(.85);border-radius:var(--radius-lg);box-shadow:var(--shadow-strong)}.compact-visual{max-width:34rem}
.visual-anchor{position:relative;min-height:8rem}.number-anchor{font-family:var(--heading-font);font-size:clamp(6rem,18vw,18rem);line-height:.7;color:var(--primary-light);font-weight:900}
.document-anchor{display:grid;place-items:center}.document-anchor i{position:absolute;width:55%;height:75%;background:var(--surface-color);border:1px solid var(--border-color);box-shadow:var(--shadow-soft)}.document-anchor i:nth-child(1){transform:rotate(-8deg)}.document-anchor i:nth-child(3){transform:rotate(8deg)}
.interface-anchor{display:grid;grid-template-columns:1fr 1.5fr;gap:.5rem;padding:1rem;background:var(--dark-color);border-radius:var(--radius-md)}.interface-anchor span{min-height:4rem;background:var(--primary-light);border-radius:var(--radius-sm)}.interface-anchor span:last-child{grid-column:1/-1}
.table-anchor{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.table-anchor span{height:2.5rem;background:var(--primary-light);border:1px solid var(--border-color)}
.line-anchor{display:flex;align-items:center;gap:0}.line-anchor span{height:4px;flex:1;background:var(--primary-color)}.line-anchor span:before{content:"";display:block;width:16px;height:16px;border-radius:50%;background:var(--accent-color);transform:translateY(-6px)}
.icon-anchor{display:flex;gap:.75rem;align-items:center;justify-content:center}.icon-anchor .mini-icon{width:3.5rem;height:3.5rem;padding:.8rem;background:var(--primary-light);border-radius:50%}
.geometric-anchor{display:grid;place-items:center;min-height:12rem;background:var(--primary-light);clip-path:polygon(12% 0,100% 0,88% 100%,0 82%)}.geometric-anchor span{font-family:var(--heading-font);font-size:clamp(3rem,8vw,8rem);font-weight:900;color:var(--primary-color)}
.cta-group{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1.5rem}.cta-group small{flex-basis:100%}.button{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 1.2rem;border-radius:var(--radius-md);text-decoration:none;font-weight:750}
.button.primary{background:var(--primary-color);color:white}.button.secondary{border:1px solid var(--dark-color);background:transparent}.cta-group.compact{margin:1rem 0}
.statistics-panel{margin-top:clamp(1.5rem,4vw,4rem);padding:clamp(1rem,3vw,2.5rem);background:var(--dark-color);color:white;border-radius:var(--radius-md)}.statistics-panel h3{font-size:1rem;text-transform:uppercase;letter-spacing:.12em}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:1rem}
.metric{display:flex;flex-direction:column}.metric-value{font-family:var(--heading-font);font-size:clamp(2.2rem,5vw,5rem);line-height:1}.metric span{font-size:.8rem;opacity:.75}
.trust-block{margin-top:clamp(2rem,5vw,5rem);padding:clamp(1.2rem,3vw,3rem);background:var(--surface-alt-color);border-left:6px solid var(--accent-color)}.trust-block ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem;margin:1rem 0}.trust-block li{display:flex;gap:.65rem;align-items:center}.trust-block p{font-size:.88rem;color:var(--muted-color)}
.bg-base{background:var(--bg-color)}.bg-muted{background:var(--surface-alt-color)}.bg-accent{background:var(--primary-light)}.bg-contrast,.bg-dark{background:var(--dark-color);color:white}.bg-paper{background:var(--surface-color)}.bg-transparent{background:transparent}
.bg-gradient-soft{background:linear-gradient(135deg,var(--primary-light),var(--bg-color))}.bg-patterned-subtle{background-color:var(--bg-color);background-image:radial-gradient(var(--border-color) 1px,transparent 1px);background-size:18px 18px}.bg-outlined-surface{background:var(--surface-color);box-shadow:inset 0 0 0 1px var(--border-color)}
.bg-contrast p,.bg-dark p{color:color-mix(in srgb,white 74%,transparent)}.bg-contrast a,.bg-dark a{color:white}.width-full-bleed,.width-edge-to-edge{overflow:visible}.width-full-bleed .section-frame,.width-edge-to-edge .section-frame{width:100%;padding-inline:clamp(1rem,4vw,5rem)}
.page-main{padding:clamp(3rem,8vw,8rem) clamp(1rem,5vw,6rem);min-height:70vh}.page-hero{display:grid;grid-template-columns:minmax(0,.58fr) minmax(16rem,.42fr);gap:clamp(2rem,6vw,7rem);align-items:center;margin-bottom:clamp(3rem,7vw,7rem)}
.page-panel{padding:clamp(1.2rem,3vw,3rem);background:var(--surface-color);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);margin:1rem 0}.page-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}
.demo-form{display:grid;gap:1rem;max-width:42rem}.demo-form label{display:grid;gap:.4rem;font-weight:700}.demo-form input,.demo-form textarea{width:100%;padding:.9rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--surface-color)}.demo-form button{justify-self:start;border:0;background:var(--primary-color);color:white;padding:.9rem 1.2rem;border-radius:var(--radius-sm)}.demo-result{padding:1rem;background:var(--primary-light);border-left:4px solid var(--primary-color)}
.site-footer{padding:clamp(2rem,6vw,6rem);background:var(--dark-color);color:white;display:grid;gap:2rem}.site-footer a{color:white}.site-footer nav{display:flex;flex-wrap:wrap;gap:.65rem 1.2rem}.footer-brand{display:flex;flex-direction:column;gap:.3rem}.footer-brand.oversized strong{font-family:var(--heading-font);font-size:clamp(3rem,10vw,10rem);line-height:.85}.footer-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.site-footer p{font-size:.84rem;opacity:.72}
.footer-compact-single-row,.footer-compact-utility-footer,.footer-light-minimal-footer,.footer-no-traditional-footer{grid-template-columns:auto 1fr;align-items:end}.footer-light-minimal-footer{background:var(--surface-color);color:var(--text-color);border-top:1px solid var(--border-color)}.footer-light-minimal-footer a{color:var(--text-color)}
.footer-document-reference-footer,.footer-legal-first-footer{background:var(--surface-alt-color);color:var(--text-color);border-top:3px solid var(--dark-color)}.footer-document-reference-footer a,.footer-legal-first-footer a{color:var(--text-color)}

.layout-alternating-row .section-frame{display:grid;grid-template-columns:repeat(12,1fr);}
.layout-full-bleed-panel .section-frame{display:grid;grid-template-columns:minmax(0,1fr);}
.layout-horizontal-strip .section-frame{display:flex;align-items:stretch;overflow:hidden;}
.layout-offset-right-grid .section-frame{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(12rem,.7fr);padding-right:clamp(1rem,8vw,10rem);}
.layout-split-7-5 .section-frame{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);}
.section-1 .section-frame{width:100vw;min-height:32vh;text-align:left}.section-1{margin-top:clamp(1rem,3vw,3rem)}
.section-2 .section-frame{width:100%;min-height:72vh;text-align:left}.section-2{border-top:4px solid var(--accent-color)}
.section-3 .section-frame{width:100vw;min-height:0;align-items:baseline}.section-3{border-top:clamp(2rem,5vw,5rem) solid var(--primary-light)}
.section-4 .section-frame{width:min(94vw, 1440px);min-height:32vh;text-align:right}.section-4{border-top:2px dotted var(--border-color)}
.section-5 .section-frame{width:min(88vw, 1180px);min-height:72vh;align-items:end}.section-5{border-left:3px solid var(--primary-color)}
.section-frame{max-width:none}
.site-section:first-of-type .section-frame{padding-top:clamp(5rem,10vw,10rem)}
.dominant-mechanic{filter:grayscale(.72);}.dominant-mechanic h1,.dominant-mechanic h2{font-size:clamp(4rem,12vw,12rem);line-height:.82;}
[data-component-item]{border-radius:0;border-left:4px solid var(--primary-color);box-shadow:none}.site-section:has(h1){background:var(--primary-color);color:white}.site-section:has(h1) .section-heading p{color:white}.site-section:nth-of-type(3n+1),.site-section:nth-of-type(3n){padding-block:9rem}.site-section:nth-of-type(3n+2){padding-block:2rem}.site-section:nth-of-type(3n){background:var(--surface-alt-color)}.site-section:nth-of-type(5n){background:var(--primary-light)}.cta-group{background:var(--primary-light);padding:1rem;border-radius:var(--radius-md)}.section-heading>p,.component-item p,.page-main p{max-width:68rem}.metric-value,.stat-number{font-family:Consolas,Monaco,monospace}h1{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.site-section{padding-block:8rem}.section-1{min-height:0;background:var(--surface-color);box-shadow:inset 0 0 0 1px var(--border-color);}.section-1 .section-frame{max-width:100vw;margin-left:4vw;margin-right:auto}.section-2{min-height:32vh;background:var(--bg-color);}.section-2 .section-frame{max-width:1120px;text-align:center}.section-3{min-height:52vh;background:var(--primary-light);}.section-3 .section-frame{max-width:720px;text-align:left}.section-4{min-height:72vh;background:var(--dark-color);color:white;}.section-4 .section-frame{max-width:980px;text-align:left}.section-5{min-height:100vh;background:var(--surface-color);box-shadow:inset 0 0 0 1px var(--border-color);}.section-5 .section-frame{max-width:1280px;text-align:left}
.motion-ready .site-section,.motion-ready .page-panel{opacity:0;transition:opacity .55s ease,transform .55s ease}.motion-ready .is-visible{opacity:1;transform:none}.motion-ready .site-section{transform:translateY(24px) rotate(.15deg)}