/* Curated portfolio components. */
.wordmark{font-size:clamp(1.15rem,2.1vw,1.55rem);letter-spacing:-.045em;line-height:1.2}
.header-area .wordmark{min-height:38px;display:inline-flex;align-items:center}
.hero-content h1 .name{overflow-wrap:anywhere;letter-spacing:-.04em}
.hero-intro{max-width:630px;line-height:1.8}
.curated-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.curated-work-grid .case-card{min-width:0}
.curated-work-grid .case-card h3{font-size:1.5rem;line-height:1.25}
.curated-work-grid .card-link{margin-top:auto;align-self:flex-start;padding-top:24px}
.curated-work-grid .work-focus-tags{margin:0 0 8px;gap:6px}
.curated-work-grid .work-focus-tags li{font-size:.8125rem;padding:5px 8px}
.status-label.focus{color:#c3e5e3;border-color:#496c74}
.curated-focus-grid{grid-template-columns:1fr}
.curated-focus-grid .sr-box-about p{max-width:none}
.case-field p,.detail-sidebar,.contact-block a{overflow-wrap:anywhere}
.about-bio-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:64px;align-items:start}
.about-bio-copy p{max-width:720px;line-height:1.8;margin-bottom:24px}
.about-bio-copy strong,.about-approach strong{font-weight:600}
.about-photo{margin:0;min-width:0}
.about-photo-link{display:block}
.about-photo-link:focus-visible{outline:3px solid #a43528;outline-offset:5px}
.about-portrait-frame{aspect-ratio:4/5;overflow:hidden;background:#d4dfdf}
.about-portrait-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.about-photo figcaption{font-size:.875rem;line-height:1.5;padding-top:16px;color:var(--light-ink)}
.about-recognition{margin-top:72px;padding-top:48px;border-top:1px solid #bcc9cb}
.about-recognition-gallery{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px}
.about-award-media{height:clamp(300px,35vw,480px);background:var(--surface-deep)}
.about-award-media img{display:block;width:100%;height:100%;object-fit:contain}
.about-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.about-project{min-width:0;padding:36px;border:1px solid var(--line);background:var(--surface)}
.about-project h3{font-size:clamp(1.4rem,2vw,1.85rem);font-weight:500;line-height:1.3;letter-spacing:-.025em;margin-bottom:24px}
.about-project p{line-height:1.8;color:var(--muted);margin-bottom:18px}
.about-project p:last-child{margin-bottom:0}
.about-approach-copy{max-width:1000px}
.about-approach-copy p{line-height:1.8;margin-bottom:26px}
.about-security-focus{padding:24px 28px;background:#dce5e4;border-left:3px solid #a43528}
.about-methodology{font-size:clamp(1.125rem,1.8vw,1.4rem);line-height:1.8}
.about-goal{padding-top:28px;border-top:1px solid #bcc9cb}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:64px;align-items:start}
.contact-area3 .contact-copy{max-width:none;min-width:0}
.contact-details{font-style:normal;max-width:100%;margin:32px 0}
.contact-details .contact-name{font-size:1.25rem;font-weight:600;margin-bottom:20px}
.contact-details dl{margin:0}
.contact-details dl div{padding:15px 0;border-top:1px solid #753b32}
.contact-details dt{font-size:.875rem;font-weight:500;margin-bottom:4px}
.contact-details dd{margin:0;overflow-wrap:anywhere}
.contact-details a,.contact-area3 .contact-copy>.text-link{color:var(--surface-deep);text-decoration:underline;text-underline-offset:4px}
.contact-details a{display:inline-flex;align-items:center;min-height:44px}
.contact-area3 a:focus-visible{outline-color:var(--surface-deep)}
.contact-form-panel{min-width:0;background:var(--light);color:var(--light-ink);padding:36px}
.contact-form-panel h3{font-size:1.75rem;line-height:1.2;margin:0 0 12px}
.contact-form-help{font-size:.875rem;margin-bottom:24px}
.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}
.contact-field{min-width:0}
.contact-field-wide{grid-column:1 / -1}
.contact-field label{display:block;margin:0 0 8px;font-size:.9375rem;font-weight:500}
.contact-field input,.contact-field textarea{display:block;width:100%;min-height:48px;padding:12px 14px;border:1px solid #6a7c80;border-radius:0;background:#fff;color:var(--surface-deep);font:inherit;line-height:1.5}
.contact-field textarea{resize:vertical;min-height:150px}
.contact-field input:focus-visible,.contact-field textarea:focus-visible,.contact-form-panel a:focus-visible,.contact-form-panel .btn:focus-visible{outline:3px solid #a43528;outline-offset:3px}
.contact-form-provider{font-size:.8125rem;margin:18px 0 0;line-height:1.6}
.contact-form-provider a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.footer-links a{overflow-wrap:anywhere}
@media(max-width:1199px){.curated-work-grid .case-card header{margin-bottom:24px}.curated-work-grid .case-card h3{font-size:1.5rem}}
@media(max-width:991px){.contact-layout{grid-template-columns:minmax(0,1fr);gap:32px}}
@media(max-width:479px){.contact-form-panel{padding:24px 20px}.contact-form-grid{grid-template-columns:minmax(0,1fr);gap:18px}.contact-form .btn{width:100%}}
@media(max-width:991px){.curated-work-grid{grid-template-columns:1fr}.about-bio-grid{gap:32px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.about-project{padding:28px}.about-recognition-gallery{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}}
@media(max-width:767px){.curated-work-grid .case-card h3{font-size:1.5rem}}
@media(max-width:767px){.about-bio-grid,.about-project-grid,.about-recognition-gallery{grid-template-columns:minmax(0,1fr)}.about-bio-grid{gap:30px}.about-portrait{width:100%;max-width:420px}.about-portrait-frame{aspect-ratio:4/3}.about-recognition{margin-top:48px;padding-top:35px}.about-award-media{height:auto}.about-award-media img{height:auto}.about-project{padding:26px 22px}.about-security-focus{padding:20px}.about-approach-copy p{margin-bottom:24px}}

/* Optional teaching proposal pages: retain existing visual language. */
.training-teaser{background:#e9eeee;color:#102126}
.training-teaser-inner{display:grid;grid-template-columns:2fr 1fr;gap:44px;align-items:center}
.training-teaser h2{font-size:clamp(1.8rem,3.2vw,2.8rem)}
.training-teaser-links{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.training-page{background:#f5f7f6;color:#102126}
.training-page .container{max-width:1130px}
.training-page h2{font-size:clamp(1.65rem,3vw,2.5rem)}
.training-page h3{font-size:1.35rem}
.training-page a:not(.btn){text-decoration:underline;text-underline-offset:3px}
.training-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:35px 0}
.training-cards article{background:#fff;border:1px solid #c4d0cf;padding:28px;min-width:0}
.training-status{font-size:.78rem;text-transform:uppercase;font-weight:700;letter-spacing:.07em;color:#963d2f}
.training-action{margin-top:30px;background:#e8eeee;border-left:4px solid #963d2f;padding:30px}
.training-action .btn{margin:8px 15px 8px 0}
.training-note{margin-top:28px}
.training-sheet{background:white;max-width:850px!important;padding:42px!important;border:1px solid #d1dbd9}
.training-sheet-top{display:flex;justify-content:space-between;gap:20px;align-items:start;border-bottom:2px solid #963d2f;padding-bottom:25px;margin-bottom:25px}
.training-sheet-top h2{font-size:2rem}
.training-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}
.training-disclosure{padding:18px 22px;background:#eef2f1}
.training-page li{margin-bottom:7px}
.print-control{white-space:nowrap;cursor:pointer}
.training-page a:focus-visible,.training-teaser a:focus-visible,.print-control:focus-visible{outline:3px solid #963d2f;outline-offset:3px}
@media(max-width:990px){.training-teaser-inner{grid-template-columns:1fr}.training-cards{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.training-cards,.training-columns{grid-template-columns:1fr}.training-sheet{padding:23px!important}.training-sheet-top{flex-direction:column}}
@media print{@page{size:A4;margin:14mm}.header-area,.footer-bg,#preloader,.back-to-top,.page-intro,.print-control,.skip-link{display:none!important}.section-space{padding:0!important}.training-page{background:#fff!important}.training-sheet{padding:0!important;border:0!important;max-width:none!important}.training-sheet section{break-inside:avoid}.training-sheet h2{font-size:22pt}.training-sheet p,.training-sheet li{font-size:10pt;line-height:1.4}.training-disclosure{background:#eee!important}}
