@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Playfair+Display:ital,wght@0,400;0,600;1,400;1,600&display=swap');
:root{--color-bg:#FCF8EB;--color-fg:#1C1C1C;--color-card:#F0EBE4;--color-accent:#FF6819;--color-blue:#010C8C;--color-accent-light:#FDE8D8;--color-muted:#6B6560;--color-border:#D8D2C8}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--color-bg);color:var(--color-fg);font-family:Inter,system-ui,sans-serif;font-weight:300;font-size:16px;-webkit-font-smoothing:antialiased}::selection{background:var(--color-blue);color:var(--color-bg)}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border)}[hidden]{display:none!important}img{display:block;max-width:100%;height:auto}button,input,textarea,select{font:inherit;color:inherit}a{color:inherit;text-underline-offset:4px;transition:color .2s,background .2s}button,a,input,textarea,select,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--color-blue);outline-offset:4px}p{font-size:14px;line-height:1.625;margin:0 0 20px;max-width:60ch}p:last-child{margin-bottom:0}h1,h2,h3,h4{margin:0;color:var(--color-fg)}h1{font-size:60px;font-weight:900;line-height:.95;letter-spacing:-.03em;margin-bottom:24px}h2{font-size:36px;font-weight:800;line-height:1.1;letter-spacing:-.03em;max-width:22ch;margin-bottom:16px}h3{font-size:20px;font-weight:700;line-height:1.375;letter-spacing:-.02em;margin-bottom:16px}h4{font-size:16px;font-weight:600;line-height:1.375;margin-bottom:16px}h1 em,h2 em{font-family:inherit;font-style:normal;font-weight:inherit}ul{list-style:none;padding:0;margin:16px 0}ul>li{position:relative;padding-left:18px;font-size:14px;line-height:1.375;margin:6px 0}ul>li:before{content:'';position:absolute;left:0;top:.7em;width:10px;height:1px;background:var(--color-accent)}.site-container,body:not(.case-study) main>section,.site-header{max-width:1024px;margin:0 auto;padding-left:24px;padding-right:24px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;border-bottom:1px solid var(--color-border);font-size:14px}.brand{font-weight:700;text-decoration:none;white-space:nowrap}.site-header nav{display:flex;gap:24px;align-items:center}.site-header nav a{text-decoration:none;color:var(--color-muted)}.site-header nav a.active{color:var(--color-blue)}.site-header nav a:hover{color:var(--color-fg)}.contact-link{font-size:14px;text-decoration:none}.ui-icon{display:inline-block;width:16px;height:16px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.5;margin-left:8px}.menu-toggle,.mobile-menu-link{display:none}.skip-link{position:fixed;top:-100px;left:16px;background:var(--color-bg);padding:12px;z-index:100}.skip-link:focus{top:8px}.eyebrow,.micro-label,.case-tag,.product-type{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.15em;line-height:1.5;margin:0 0 24px;color:var(--color-fg)}body:not(.case-study) main>section{padding-top:56px;padding-bottom:56px;border-bottom:1px solid var(--color-border)}body:not(.case-study) main>section:first-child{padding-top:64px;padding-bottom:48px}body:not(.case-study) main>section:last-child{border-bottom:0;padding-bottom:40px}.page-hero>p:last-child,.about-lead,.hero-copy{max-width:60ch}.home-hero h1{max-width:22ch}.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin:32px 0}.button,.secondary-action,.product-button,.build-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;line-height:1.625;border:1px solid var(--color-fg);text-decoration:none;background:transparent;color:var(--color-fg);cursor:pointer;transition:color .2s,background .2s}.button:hover,.secondary-action:hover,.product-button:hover,.build-button:hover{background:var(--color-fg);color:var(--color-bg)}.hero-facts{display:flex;flex-wrap:wrap;gap:24px;margin-top:40px;font-size:12px}.hero-facts>span{display:flex;gap:8px;align-items:center}.hero-facts b{font-weight:500}.hero-fact-icon img,.fact-icon img{width:20px;height:20px}.section-heading,.resource-section-heading{display:grid;grid-template-columns:5fr 7fr;gap:40px;margin-bottom:40px}.section-lead{align-self:end}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.principles article{padding:32px;border:1px solid var(--color-border)}.principle-icon img{width:32px;height:32px;margin-bottom:32px}.principle-cta{display:inline-flex;align-items:center;margin-top:24px;font-size:14px}.contact-section{display:grid;grid-template-columns:5fr 7fr;gap:40px}.footer-links{border-left:1px solid var(--color-border);padding-left:32px;display:flex;flex-direction:column;gap:20px;justify-content:center;font-size:14px}.footer-links span{font-size:12px}.site-footer{border-top:1px solid var(--color-border)}.footer-inner{padding-top:20px;padding-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-inner>strong{font-size:14px;font-weight:600}.footer-inner>div{display:flex;gap:24px;font-size:12px;color:var(--color-muted)}.footer-inner a:hover{color:var(--color-fg)}.case-row{display:grid;grid-template-columns:3fr 9fr;gap:40px;align-items:start;padding:40px 0;border-bottom:1px solid var(--color-border);text-decoration:none}.case-row:first-child{padding-top:0}.case-row:last-child{border-bottom:0}.case-row:hover{background:var(--color-card)}.case-row h2{font-size:20px;font-weight:700;line-height:1.375;letter-spacing:-.02em;max-width:none}.case-row .case-tag{margin-bottom:16px}.case-no{font-size:12px;font-variant-numeric:tabular-nums;color:var(--color-muted)}.bio-section{display:grid;grid-template-columns:7fr 5fr;gap:40px}.bio-copy h2{max-width:none}.bio-profile{border-left:1px solid var(--color-border);padding-left:32px}.bio-portrait{width:100%;aspect-ratio:4/5;object-fit:cover}.bio-facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:32px;border-top:1px solid var(--color-border)}.bio-facts>div{display:flex;align-items:start;gap:12px}.bio-facts p span{display:block;font-size:12px;margin-bottom:4px}.bio-facts strong{font-size:14px;font-weight:500}.timeline article{display:grid;grid-template-columns:3fr 9fr;gap:40px;border-bottom:1px solid var(--color-border);padding:40px 0}.timeline article:last-child{border-bottom:0}.timeline article>span{font-size:12px;font-variant-numeric:tabular-nums}.timeline article h2{font-size:24px;line-height:1.375}.timeline article h3{font-size:20px}.experience-resume{margin-top:32px}.resource-catalog{display:grid;grid-template-columns:1fr 1fr;gap:24px}.resource-product{padding:32px;border:1px solid var(--color-border);display:flex;align-items:start;flex-direction:column}.resource-product:hover{background:var(--color-card)}.product-topline{display:flex;justify-content:space-between;width:100%;gap:16px;margin-bottom:24px}.product-type{margin:0}.product-price{font-size:12px;white-space:nowrap}.resource-product .product-button{margin-top:auto}.resource-product p{margin-bottom:32px}.local-pricing-note{margin-top:32px}
/* Shared interactive tools. Existing field IDs and calculation scripts are preserved. */
.tool-disclosure{border-bottom:1px solid var(--color-border)}.tool-disclosure:last-child{border:0}.tool-disclosure>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 0;cursor:pointer}.tool-disclosure>summary::-webkit-details-marker{display:none}.tool-disclosure>summary:hover{background:var(--color-card)}.tool-disclosure>summary h2{font-size:24px;line-height:1.375;max-width:none;margin:0}.tool-toggle{font-size:24px;font-weight:300}.tool-disclosure[open] .tool-toggle{transform:rotate(45deg)}.tool-panel{padding:0 0 40px}.tool-layout{display:grid;grid-template-columns:3fr 9fr;gap:40px}.tool-intro{padding-right:24px;border-right:1px solid var(--color-border)}.tool-intro h3{font-size:20px}.tool-surface{min-width:0}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:24px}.field label{font-size:14px;font-weight:600}.field small,.method-note,.tool-feedback,.question-instruction,.result-label{font-size:12px;line-height:1.625}.field textarea,.field input,.field select{background:var(--color-bg);border:1px solid var(--color-border);border-radius:0;padding:12px;font-size:16px;width:100%;min-height:44px}.field textarea{min-height:88px;resize:vertical}.field input[type=checkbox]{width:18px;min-height:18px}.criterion-control{display:flex;align-items:center;gap:8px;margin:12px 0}.criterion-control label{font-size:14px;font-weight:300}.field-error,.question-error{border-left:2px solid var(--color-accent);padding-left:12px}.hypothesis-output,.sample-output,.method-results{margin:32px 0;padding-top:24px;border-top:1px solid var(--color-border)}.hypothesis-output section+section{margin-top:24px}.hypothesis-output h3{font-size:20px}.tool-feedback{margin-top:24px}.mode-tabs{display:flex;gap:16px;margin-bottom:32px;border-bottom:1px solid var(--color-border)}.mode-tabs button,.back-button,.example-toggle{padding:10px 0;background:transparent;border:0;font-size:14px;cursor:pointer}.mode-tabs button.active{border-bottom:2px solid var(--color-blue)}.sample-primary{padding:0 24px;border-left:1px solid var(--color-blue);border-right:1px solid var(--color-blue);margin-bottom:24px}.sample-primary strong{display:block;font-size:48px;font-weight:900;letter-spacing:-.04em}.sample-primary span{font-size:12px;text-transform:uppercase}.sample-output dl>div{display:flex;justify-content:space-between;gap:24px;padding:12px 0;border-bottom:1px solid var(--color-border);font-size:12px}.sample-output dd{margin:0}.caution-box{background:var(--color-card);padding:24px;border-left:3px solid var(--color-blue);margin-top:24px}.caution-box p{font-size:12px}.method-question{border-bottom:1px solid var(--color-border);padding:24px 0}.method-question-heading{display:flex;align-items:start;gap:12px}.method-question-number{font-size:12px;min-width:20px}.method-question-toggle{width:100%;border:0;text-align:left;cursor:pointer;background:none;font-size:16px;font-weight:600;padding:0}.method-question-body{padding-top:20px}.method-options{display:grid;gap:12px}.method-option{padding:16px;border:1px solid var(--color-border)}.method-choice{display:flex;align-items:start;gap:12px;font-size:14px}.method-choice input{width:18px;height:18px;flex-shrink:0;accent-color:var(--color-blue)}.method-option:has(input:checked){background:var(--color-card);border-color:var(--color-blue)}.example-toggle{font-size:12px;text-decoration:underline;margin-left:30px}.option-example{font-size:12px;padding:12px 0 0 30px}.method-card{border-bottom:1px solid var(--color-border);padding:24px 0}.method-card-header{display:flex;gap:16px;align-items:start}.method-card-header h3{font-size:20px}.method-rank{font-size:12px}.method-sources{font-size:12px}.method-summary{font-size:14px}.ruled-out{text-decoration:line-through}.method-note{margin-top:20px}.tool-surface button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:900px){.site-header nav{display:none}.site-header .contact-link{display:none}.site-header{position:relative;flex-wrap:wrap;padding-top:16px;padding-bottom:16px;min-height:64px}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:transparent;padding:12px;margin-left:auto}.menu-toggle span{width:20px;height:1px;background:var(--color-fg)}.site-header.menu-open nav{display:flex;order:3;flex-basis:100%;flex-direction:column;align-items:start;padding:16px 0}.site-header.menu-open nav .mobile-menu-link{display:block}.tool-layout{grid-template-columns:1fr;gap:24px}.tool-intro{border:0;padding:0}.bio-facts{grid-template-columns:1fr 1fr}}
@media(max-width:767px){h1{font-size:48px;overflow-wrap:break-word}h2{font-size:30px}.section-heading,.resource-section-heading,.contact-section,.bio-section,.principles,.resource-catalog{grid-template-columns:1fr;gap:24px}.bio-profile,.footer-links{border-left:0;padding-left:0}.bio-portrait{max-width:320px}.case-row,.timeline article{grid-template-columns:1fr;gap:24px}.hero-facts{flex-direction:column}.footer-inner{align-items:start;flex-direction:column;gap:16px}.footer-inner>div{flex-wrap:wrap;gap:16px}.tool-disclosure>summary h2{font-size:20px}.mode-tabs{gap:16px}.mode-tabs button{font-size:14px}.resource-product,.principles article{padding:32px}.hero-actions{flex-direction:column;align-items:start}.bio-facts{gap:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(min-width:768px){.section-heading,.resource-section-heading{gap:0}.section-heading>:first-child,.resource-section-heading>:first-child{padding-right:32px;border-right:1px solid var(--color-border)}.section-heading>:last-child,.resource-section-heading>:last-child{padding-left:32px}}
/* Shared header color treatment; retain content and controls. */
.site-header{max-width:none;padding-left:max(24px,calc((100% - 976px)/2));padding-right:max(24px,calc((100% - 976px)/2));background:var(--color-blue);color:var(--color-bg);border-bottom-color:var(--color-bg)}
.site-header nav a,.site-header nav a:hover,.site-header nav a.active{color:var(--color-bg)}
.site-header nav a.active{text-decoration:underline;text-underline-offset:6px}
.site-header .menu-toggle span{background:var(--color-bg)}
body:not(.case-study) main>.page-hero,body:not(.case-study) main>.about-hero{max-width:none;background:var(--color-blue);color:var(--color-bg);padding-left:max(24px,calc((100% - 976px)/2));padding-right:max(24px,calc((100% - 976px)/2));border-bottom:0}
.page-hero h1,.page-hero .eyebrow,.about-hero h1,.about-hero .eyebrow{color:var(--color-bg)}
/* Restore the original project buttons: bordered cards, offset shadow and hover movement. */
.cases-list{display:grid;gap:16px}
.cases-list .case-row{grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:center;padding:32px;border:2px solid var(--color-fg);background:var(--color-card);box-shadow:5px 5px 0 var(--color-fg);transition:transform .2s,box-shadow .2s,background .2s}
.cases-list .case-row:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--color-fg);background:var(--color-bg)}
.cases-list .case-row .case-no{align-self:start;color:var(--color-fg)}
.cases-list .case-row>div{padding:0}
@media(max-width:767px){.cases-list .case-row{grid-template-columns:40px minmax(0,1fr);padding:24px}.site-header{padding-left:24px;padding-right:24px}}
/* Navigation is distinct from each page's hero. */
.site-header{background:var(--color-fg);color:var(--color-bg);border-bottom:0}
body.projects:not(.case-study) main>.page-hero{background:var(--color-accent);color:var(--color-fg)}
body.projects .page-hero h1,body.projects .page-hero .eyebrow{color:var(--color-fg)}
/* Compact shared navigation with a more prominent name. */
.site-header{min-height:56px;padding-top:0;padding-bottom:0}
.site-header .brand{font-size:20px;line-height:1.2}
@media(max-width:900px){.site-header{padding-top:6px;padding-bottom:6px}.site-header .menu-toggle{min-width:44px;min-height:44px;justify-content:center}}

/* Project descriptions fill the existing card content area. */
.cases-list .case-row>div{min-width:0}
.cases-list .case-row p{max-width:none}

/* Resume download is a text-only button, without a decorative caret. */
.experience-resume .secondary-action{white-space:nowrap;border:1px solid var(--color-fg);padding:12px 20px;min-height:44px}
.experience-resume .secondary-action:hover{background:var(--color-blue);color:var(--color-bg);border-color:var(--color-blue)}
.experience-resume{display:flex;justify-content:flex-end}

/* Kit library introduction follows a full-width reading order. */
.resources .resource-section-heading{display:block}
.resources .resource-section-heading>div,.resources .resource-section-heading>p{padding:0;border:0;max-width:none}
.resources .resource-section-heading h2{max-width:none}
.resources .kit-step{font:inherit;letter-spacing:inherit;margin-right:8px}
.resources .product-button:hover{background:var(--color-blue);color:var(--color-bg);border-color:var(--color-blue)}
