*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#17352f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#faf7f0;min-width:320px;min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}a{color:inherit}p{text-wrap:pretty}::selection{color:#fff;background:#b54b30}#root{min-height:100vh}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--ink:#17352f;--ink-dark:#102722;--paper:#f3eee4;--paper-light:#faf7f0;--accent:#b54b30;--accent-dark:#a8432a;--line:#17352f2e}.site{background:var(--paper-light);min-height:100vh;color:var(--ink)}.skip-link{z-index:20;background:var(--ink-dark);color:#fff;border-radius:.4rem;padding:.75rem 1rem;font-weight:750;text-decoration:none;transition:transform .15s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--accent-dark);outline-offset:4px}.approach :focus-visible,.contact :focus-visible,.footer :focus-visible{outline-color:#fff}section{scroll-margin-top:6rem}.header{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#faf7f0eb;justify-content:space-between;align-items:center;gap:2rem;max-width:1400px;margin:0 auto;padding:1.25rem 5vw;display:flex;position:sticky;top:0}.brand{color:var(--ink-dark);font-weight:750;line-height:1.05;text-decoration:none}.brand span{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin-top:.3rem;font-size:.72rem;font-weight:700;display:block}.navigation{gap:2rem;display:flex}.navigation a,.text-link{color:var(--ink);font-weight:650;text-decoration:none}.navigation a:hover,.text-link:hover{color:var(--accent)}.button{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;padding:.9rem 1.3rem;font-weight:750;text-decoration:none;transition:transform .18s,background .18s;display:inline-flex}.button:hover{background:var(--accent-dark);transform:translateY(-2px)}.button-small{padding:.7rem 1rem;font-size:.9rem}.hero{grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);align-items:end;gap:5rem;max-width:1400px;min-height:76vh;margin:0 auto;padding:8rem 5vw 6rem;display:grid}.hero-content{max-width:900px}.eyebrow{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin:0 0 1.25rem;font-size:.78rem;font-weight:800}.hero h1{max-width:900px;color:var(--ink-dark);letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.4rem,7.5vw,7.4rem);font-weight:500;line-height:.94}.hero h1 span{color:var(--accent)}.hero-description{max-width:690px;margin:2rem 0 0;font-size:clamp(1.1rem,1.8vw,1.4rem);line-height:1.65}.hero-actions{align-items:center;gap:1.5rem;margin-top:2.5rem;display:flex}.hero-note{border-top:4px solid var(--accent);border-left:1px solid var(--line);padding:1.8rem 0 0 1.8rem;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-style:italic;line-height:1.65}.services,.approach,.about{max-width:1400px;margin:0 auto;padding:7rem 5vw}.services{background:var(--paper)}.section-heading{max-width:720px;margin-bottom:3.5rem}.section-heading h2,.about h2,.contact h2{color:var(--ink-dark);letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.5rem,5vw,4.8rem);font-weight:500;line-height:1.05}.cards{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.card{border-right:1px solid var(--line);min-height:270px;padding:2rem}.card:last-child{border-right:0}.card-number{color:var(--accent);letter-spacing:.12em;font-size:.78rem;font-weight:800}.card h3{margin:3.5rem 0 1rem;font-size:1.5rem}.card p,.approach-grid p,.about-copy p{line-height:1.75}.approach{background:var(--ink);color:var(--paper-light)}.approach .section-heading h2{color:var(--paper-light)}.approach-grid{background:#fff3;grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.approach-grid article{background:var(--ink);min-height:220px;padding:2rem}.approach-grid strong{color:#e98b6f;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:500}.about{grid-template-columns:.8fr 1.2fr;align-items:center;gap:6rem;display:grid}.about-copy{max-width:700px;font-size:1.12rem}.about-portrait{aspect-ratio:4/5;border-top:4px solid var(--accent);margin:3rem 0 0;overflow:hidden}.about-portrait img{object-fit:cover;object-position:center 38%;width:100%;height:100%;display:block}.about-copy p:first-child{margin-top:0}.professional-background{border-top:1px solid var(--line);margin-top:2.25rem;padding-top:2rem}.professional-background>p:first-child{margin-top:0}.professional-registration{border-left:4px solid var(--accent);color:var(--ink-dark);margin:1.5rem 0 0;padding-left:1rem;font-size:.95rem;font-weight:750;line-height:1.55}.contact{background:var(--accent);color:#fff;flex-direction:column;align-items:flex-start;padding:7rem max(5vw,50vw - 630px);display:flex}.contact .eyebrow{color:#fff;opacity:.8}.contact h2{color:#fff;max-width:900px}.contact>p:not(.eyebrow){max-width:650px;margin:1.5rem 0 2rem;font-size:1.15rem;line-height:1.7}.button-light{color:var(--accent-dark);background:#fff;border-color:#fff}.button-light:hover{background:var(--paper-light)}.contact small{opacity:.78;margin-top:1.25rem}.footer{background:var(--ink-dark);color:#ffffffb8;justify-content:space-between;gap:2rem;padding:2rem 5vw;font-size:.88rem;display:flex}.faq{background:var(--paper-light);max-width:1400px;margin:0 auto;padding:7rem 5vw}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{color:var(--ink-dark);cursor:pointer;padding:1.7rem 3rem 1.7rem 0;font-size:1.15rem;font-weight:750;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:"+";color:var(--accent);font-size:1.8rem;font-weight:400;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}.faq-list details[open] summary:after{content:"−"}.faq-list details p{max-width:720px;margin:0;padding:0 3rem 1.7rem 0;line-height:1.7}@media (width<=850px){.navigation{display:none}.hero{grid-template-columns:1fr;gap:3rem;padding-top:5rem}.cards,.approach-grid{grid-template-columns:1fr}.card{border-right:0;border-bottom:1px solid var(--line);min-height:auto}.card:last-child{border-bottom:0}.about{grid-template-columns:1fr;align-items:stretch;gap:2.5rem}.about-portrait{max-width:560px}.approach-grid article{min-height:auto}}@media (width<=560px){.header{gap:.75rem;padding:1rem 5vw}.brand{min-width:0;font-size:.9rem}.brand span{letter-spacing:.14em;font-size:.65rem}.button-small{flex-shrink:0;min-height:44px;padding:.65rem .8rem;font-size:.75rem}.hero{gap:2.5rem;min-height:auto;padding-top:4rem;padding-bottom:3.5rem}.hero h1{font-size:clamp(2.8rem,14vw,4rem);line-height:.98}.hero h1 span{display:block}.eyebrow{letter-spacing:.13em;margin-bottom:1rem;font-size:.72rem;line-height:1.45}.hero-description{margin-top:1.5rem;font-size:1.05rem;line-height:1.6}.hero-actions{flex-direction:column;align-items:flex-start;gap:1.25rem;width:100%;margin-top:2rem}.hero-actions .button,.contact .button{width:100%;min-height:50px}.hero-note{padding:1.4rem 0 0 1.25rem;font-size:1.05rem}.services,.approach,.about,.faq,.contact{padding-top:4rem;padding-bottom:4rem}.section-heading{margin-bottom:2.5rem}.section-heading h2,.about h2,.contact h2{font-size:clamp(2.25rem,11vw,3.2rem);line-height:1.08}.card,.approach-grid article{padding:1.5rem .25rem}.card h3{margin-top:2.25rem}.about{gap:2rem}.about-portrait{aspect-ratio:4/5;margin-top:2rem}.about-copy{font-size:1.05rem}.professional-background{margin-top:2rem;padding-top:1.75rem}.faq-list summary{padding:1.4rem 2.5rem 1.4rem 0;font-size:1.05rem;line-height:1.45}.faq-list details p{padding-right:1.5rem}.contact>p:not(.eyebrow){font-size:1.05rem}.footer{flex-direction:column;gap:.5rem;padding-top:1.75rem;padding-bottom:1.75rem}.footer p{margin:0}}@media (width<=360px){.header{padding-left:4vw;padding-right:4vw}.button-small{padding-left:.7rem;padding-right:.7rem;font-size:.7rem}.hero h1{font-size:2.75rem}}
