/* The complete desktop profile shares one screen. Narrow or zoomed layouts may
   grow naturally; no text is clipped to manufacture a one-screen result. */
html[data-page=profile] #website{height:auto;min-height:100svh;grid-template-rows:var(--header) minmax(0,1fr) var(--footer)}
html[data-page=profile] #website>.slide-profile{height:auto;min-height:calc(100svh - var(--header) - var(--footer));padding:14px var(--gutter);display:block;container-type:normal;overflow:visible}
.site-profile{width:100%;max-width:1560px;margin:auto;min-height:calc(100svh - var(--header) - var(--footer) - 28px);display:flex;flex-direction:column;justify-content:center;gap:16px}
.profile-hero{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.profile-hero>div,.profile-summary,.profile-detail{min-width:0}
.profile-eyebrow{display:block;color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
html[data-preview=true] .profile-hero h1{font-size:clamp(38px,4.8vw,68px);line-height:1.02;letter-spacing:-.06em;font-weight:450;white-space:normal;overflow-wrap:break-word}
.profile-specialism{font-size:clamp(21px,2.1vw,30px);line-height:1.2;letter-spacing:-.035em;color:var(--accent);margin-top:9px}
.profile-summary{font-size:clamp(14px,1.2vw,18px);line-height:1.45;color:var(--muted);margin:0;text-wrap:pretty}
.profile-details{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'companies roles' 'qualifications qualifications';gap:12px 32px;align-items:start}
.profile-experience{grid-area:companies}.profile-roles{grid-area:roles}.profile-qualifications{grid-area:qualifications;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px}
.profile-detail{border-top:1px solid var(--line);padding-top:10px}
.profile-section-title{list-style:none;display:flex;align-items:center;gap:10px;margin-bottom:10px;cursor:pointer}
.profile-section-title::-webkit-details-marker{display:none}.profile-section-title::marker{content:''}
.profile-section-title:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.profile-details h2{font-size:11px;line-height:1.4;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--cyan);margin:0}
.profile-count{display:none;line-height:1}.profile-qualifications .profile-count{display:block;font-size:12px;color:var(--accent)}
.profile-companies,.profile-roles-list,.profile-credentials{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 18px}
.profile-companies li,.profile-roles-list li{font-size:clamp(13px,1.04vw,16px);line-height:1.35;overflow-wrap:break-word;word-break:normal;hyphens:none}
.profile-qualifications .profile-section-title{margin-bottom:6px}.profile-qualifications h2{color:var(--muted);font-size:10px}
.profile-credentials{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 12px}.profile-credentials li{max-width:100%}
.profile-credentials li{font-size:clamp(12px,1vw,15px);line-height:1.35;overflow-wrap:break-word}
.profile-back{font-size:11px;min-height:44px}
@media(min-width:901px) and (max-width:1100px){.main-nav{gap:20px}.main-nav a{display:inline-flex;align-items:center;justify-content:center;font-size:12px;min-width:44px;min-height:44px}}
/* A portrait tablet retains both blocks, with wide, readable individual rows. */
@media(min-width:701px) and (max-width:900px){
 .profile-hero{gap:24px}.profile-summary{font-size:14px}.profile-details{gap:12px 26px}
 .profile-companies,.profile-roles-list{grid-template-columns:1fr;gap:3px}.profile-companies li,.profile-roles-list li{font-size:14px;line-height:1.3}
 .profile-credentials li{font-size:12px}.site-profile{gap:14px}
}
/* Short landscape screens retain four list columns and compact vertical space. */
@media(min-width:701px) and (max-height:720px),(min-width:701px) and (max-width:900px) and (max-height:900px){
 html[data-page=profile] #website>.slide-profile{padding-block:10px}.site-profile{min-height:calc(100svh - var(--header) - var(--footer) - 20px);gap:10px}
 .profile-hero{gap:24px}.profile-eyebrow{margin-bottom:4px}html[data-preview=true] .profile-hero h1{font-size:clamp(36px,4.3vw,54px)}.profile-specialism{font-size:21px;margin-top:7px}.profile-summary{font-size:13px;line-height:1.35}
 .profile-details{gap:10px 24px}.profile-detail{padding-top:8px}.profile-section-title{margin-bottom:8px}.profile-details h2{font-size:10px}
 .profile-companies,.profile-roles-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px}.profile-companies li,.profile-roles-list li{font-size:13px;line-height:1.3}.profile-credentials li{font-size:12px}
}
@media(min-width:901px) and (max-height:640px){
 html[data-page=profile] #website>.slide-profile{padding-block:6px}.profile-eyebrow{display:none}.site-profile{min-height:calc(100svh - var(--header) - var(--footer) - 12px);gap:4px}.profile-summary{font-size:12.5px;line-height:1.3}.profile-specialism{font-size:20px}.profile-detail{padding-top:6px}.profile-companies li,.profile-roles-list li{font-size:12px;line-height:1.28}.profile-companies,.profile-roles-list{gap:2px 14px}.profile-credentials li{font-size:11.5px}.profile-section-title{margin-bottom:4px}.profile-details{gap:6px 24px}
}
@media(min-width:901px) and (max-width:1000px) and (max-height:640px){
 html[data-page=profile] #website>.slide-profile{padding-block:2px}.site-profile{min-height:calc(100svh - var(--header) - var(--footer) - 4px)}
}
@media(min-width:701px) and (max-width:900px) and (max-height:900px){
 html[data-page=profile] #website>.slide-profile{padding-block:8px}.site-profile{min-height:calc(100svh - var(--header) - var(--footer) - 16px)}
}
/* Larger touch targets apply to the shared navigation on every page. */
@media(max-width:900px){
 .main-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:calc(100svh - var(--header));overflow-y:auto;overscroll-behavior:contain}
 .main-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 8px;font-size:14px;line-height:1.4;text-align:center}.main-nav a:last-child{grid-column:1/-1}
 .menu-button{min-width:44px;min-height:44px;justify-content:center}.motion-button{min-width:44px;min-height:44px}
}
/* Native disclosures keep the phone overview short. All facts remain in the
   static HTML and are expanded without JavaScript and at wider viewports. */
@media(max-width:700px){
 html[data-page=profile] #website>.slide-profile{padding-block:18px}.site-profile{min-height:calc(100svh - var(--header) - var(--footer) - 36px);gap:18px}
 .profile-hero{grid-template-columns:1fr;gap:14px}.profile-eyebrow{font-size:10px;margin-bottom:5px}html[data-preview=true] .profile-hero h1{font-size:clamp(38px,10vw,56px)}
 .profile-specialism{font-size:23px;line-height:1.25;margin-top:7px}.profile-summary{font-size:15px;line-height:1.5}
 .profile-qualifications{display:contents}.profile-details{display:flex;flex-direction:column;gap:0}.profile-detail{width:100%;padding-top:0}.profile-section-title,.profile-qualifications .profile-section-title{position:relative;min-height:48px;margin:0;padding:10px 25px 10px 0;gap:12px}
 .profile-details h2,.profile-qualifications h2{font-size:11px;line-height:1.45;letter-spacing:.06em;color:var(--cyan)}.profile-count{display:block;margin-left:auto;font-size:12px;color:var(--muted)}
 .profile-section-title::after{content:'+';position:absolute;right:0;font-size:20px;color:var(--accent)}.profile-detail[open]>.profile-section-title::after{content:'−'}
 .profile-companies,.profile-roles-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;padding-bottom:16px}.profile-companies li,.profile-roles-list li{font-size:14px;line-height:1.4}
 .profile-credentials{grid-template-columns:1fr;gap:6px;padding-bottom:16px}.profile-credentials li{font-size:13px;line-height:1.5}.profile-back{font-size:12px}
}
/* Compact the short, narrow phone overview without clipping content or
   shrinking body text. Open sections and enlarged text still grow naturally. */
@media screen and (max-width:340px) and (max-height:650px){
 html[data-page=profile]{--gutter:16px}
 html[data-page=profile] #website>.slide-profile{padding-block:6px}
 html[data-page=profile] .site-profile{min-height:calc(100svh - var(--header) - var(--footer) - 12px);gap:8px}
 html[data-page=profile] .profile-hero{gap:6px}
 html[data-page=profile] .profile-eyebrow{display:none}
 html[data-page=profile][data-preview=true] .profile-hero h1{font-size:32px;line-height:1.05}
 html[data-page=profile] .profile-specialism{font-size:20px;line-height:1.2;margin-top:4px}
 html[data-page=profile] .profile-summary{font-size:15px;line-height:1.4;text-wrap:wrap}
 html[data-page=profile] .profile-section-title,html[data-page=profile] .profile-qualifications .profile-section-title{min-height:44px;padding-block:7px;gap:8px}
 html[data-page=profile] .profile-details h2{letter-spacing:.04em}
 html[data-page=profile] .profile-companies li,html[data-page=profile] .profile-roles-list li,html[data-page=profile] .profile-credentials li{font-size:15px;line-height:1.4}
}
@media print{
 html[data-page=profile],html[data-page=profile] body{background:#fff;color:#061723}
 html[data-page=profile] #website{display:block;height:auto;min-height:0}html[data-page=profile] #website>.slide-profile{min-height:0;padding:12mm}
 .site-profile{--muted:#40515d;--cyan:#12616a;--accent:#826015;--line:#06172340;color:#061723;min-height:0;gap:5mm}
 .profile-hero{grid-template-columns:1fr 1fr}.profile-details{display:grid;grid-template-columns:1fr 1fr;gap:3mm 8mm}.profile-qualifications{display:grid;gap:4mm}.profile-detail:not([open])>ul{display:grid!important}.profile-section-title{padding:0;min-height:0;margin-bottom:3mm}.profile-section-title::after,.profile-count{display:none;line-height:1}.profile-qualifications .profile-count{display:block;font-size:12px;color:var(--accent)}
 .profile-companies,.profile-roles-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1mm 4mm}.profile-companies li,.profile-roles-list li,.profile-credentials li{font-size:9pt}
 .profile-hero h1{font-size:36pt!important}.profile-summary{font-size:11pt}.profile-specialism{font-size:18pt}
}
