*{box-sizing:border-box}:root{--navy:#0a1938;--teal:#3d8285;--muted:#47556d;--line:#d9e0e5}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:white;color:var(--navy);font:17px/1.6 Arial,Helvetica,sans-serif}.wrap{max-width:1320px;margin:auto;padding-left:4.2%;padding-right:4.2%}a{color:inherit;text-underline-offset:4px}header{position:sticky;top:0;background:#fffffff5;z-index:10;border-bottom:1px solid var(--line)}nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-weight:bold;font-size:23px;text-decoration:none}nav div{display:flex;gap:28px;font-size:14px}nav div a{text-decoration:none}.eyebrow{font-size:12px;letter-spacing:1.8px;color:var(--teal);font-weight:600;margin:0 0 22px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(40px,4.8vw,67px);line-height:1.07;letter-spacing:-1.7px;font-weight:500;margin-bottom:27px}h2{font-size:clamp(32px,3.5vw,47px);font-weight:500;line-height:1.16;letter-spacing:-1px;margin-bottom:22px}h3{font-size:23px;font-weight:500;line-height:1.3;margin-bottom:14px}p{color:var(--muted)}.hero{display:grid;grid-template-columns:1.13fr 1fr;gap:6%;padding:35px 0 55px;align-items:stretch}.hero>div{padding-top:28px}.hero img{width:100%;height:100%;max-height:650px;object-fit:cover;object-position:center}.lead{font-size:21px;line-height:1.55}.background{border-top:1px solid var(--line);padding-top:24px;margin-top:30px}.background h3{color:var(--teal)}.background p{font-size:17px}.button{display:inline-block;border:1px solid var(--teal);background:var(--teal);color:white;padding:12px 21px;font-size:15px;text-decoration:none;margin-top:10px}.work-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;display:flex;justify-content:space-between;gap:30px;align-items:start}.work-nav .eyebrow{margin:0}.work-nav details{max-width:600px;font-size:14px}.work-nav summary{cursor:pointer;color:var(--muted)}.work-nav ol{padding-left:25px;margin-bottom:0}.work-nav li{padding:5px 0}.case{padding:65px 0 26px;border-bottom:1px solid var(--line)}.case-top{display:grid;grid-template-columns:1.11fr 1fr;gap:5%;align-items:center}.case-top img{width:100%;height:280px;object-fit:cover}.case-top.image-first{grid-template-columns:1fr 1.11fr}.image-first img{grid-column:1;grid-row:1}.image-first .intro{grid-column:2;grid-row:1}.summary{margin-bottom:0;font-size:17px;line-height:1.6}.metrics{display:flex;gap:5%;padding:32px 0 20px;border-bottom:1px solid var(--line)}.metrics>div{flex:1}.metrics strong{font-weight:500;font-size:48px;line-height:1.2;letter-spacing:-1px}.metrics>div:nth-child(even) strong{color:var(--teal)}.metrics p{font-size:14px;margin:10px 0 0}.body-cols{display:grid;grid-template-columns:1fr 1fr;gap:5%;padding-top:28px}.body-cols p{font-size:17px;margin-bottom:18px}.folio{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;color:var(--muted);padding-top:20px}#contact{padding:75px 0 60px}#contact h2{font-size:clamp(36px,4.5vw,60px)}#contact>.lead{max-width:880px}.contact-cols{display:grid;grid-template-columns:1fr 1fr;gap:6%;padding-top:30px}.contact-cols a{color:var(--teal)}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding-top:24px;padding-bottom:24px;font-size:12px;color:var(--muted)}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:15px;background:white;padding:10px;z-index:30}a:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:5px}@media(max-width:800px){.hero{grid-template-columns:1fr;gap:30px}.hero img{height:360px;object-position:center 43%}.hero>div{padding-top:0}h1 br{display:none}h1{max-width:550px;font-size:50px}.case-top,.case-top.image-first{grid-template-columns:1fr;gap:26px}.image-first img,.image-first .intro{grid-column:auto;grid-row:auto}.case-top img{height:270px}.body-cols{grid-template-columns:1fr;gap:8px}.case{padding-top:45px}.metrics{gap:20px;flex-wrap:wrap}.metrics>div{min-width:130px}.metrics strong{font-size:38px}.contact-cols{grid-template-columns:1fr;gap:20px}.brand{font-size:19px}nav div{font-size:12px;gap:15px}nav{min-height:70px}.work-nav{display:block}.work-nav details{margin-top:15px}footer{flex-wrap:wrap}.lead{font-size:19px}}@media(max-width:420px){nav div a:first-child{display:none}h1{font-size:42px}.hero img{height:290px}.metrics strong{font-size:34px}.case-top img{height:220px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}/* Landscape layouts for laptop and desktop viewing. */
@media(min-width:801px){
 .wrap{max-width:1800px;width:94%;padding-left:0;padding-right:0}
 .hero{grid-template-columns:1fr 1.12fr;gap:5%;align-items:center;padding:32px 0 40px}
 .hero>div{padding-top:0}
 .hero img{height:clamp(360px,31vw,510px);max-height:none;object-position:center;aspect-ratio:4/3}
 h1{font-size:clamp(42px,4.1vw,68px);line-height:1.06;margin-bottom:22px}
 h1 br{display:none}
 .hero .lead{font-size:clamp(18px,1.5vw,23px);margin-bottom:20px}
 .background{margin-top:20px;padding-top:18px}
 .background h3{margin-bottom:10px}
 .background p{margin-bottom:10px}
 .case-top,.case-top.image-first{grid-template-columns:1fr 1fr;gap:5%}
 .case-top img{height:auto;aspect-ratio:2.05/1;object-fit:cover}
 h2{font-size:clamp(32px,3vw,52px)}
 .summary,.body-cols p{font-size:clamp(17px,1.15vw,21px)}
 .case{padding-top:48px}
}
@media(min-width:1600px){.wrap{width:90%}.hero{padding-top:40px;padding-bottom:48px}.case-top img{aspect-ratio:2.1/1}.metrics{padding-top:28px}.body-cols p{max-width:70ch}}
/* Page navigation keeps each overview separate from the home page. */
.top-links{align-items:center}.top-links [aria-current=page]{color:var(--teal);font-weight:600}.case-menu{position:relative}.case-menu summary{cursor:pointer;list-style:none;white-space:nowrap}.case-menu summary:after{content:' ▾';color:var(--teal)}.case-menu ol{position:absolute;right:0;top:32px;width:390px;max-width:85vw;max-height:70vh;overflow:auto;background:white;border:1px solid var(--line);box-shadow:0 12px 32px #0a193814;margin:0;padding:12px 12px 12px 40px;z-index:20}.case-menu li{padding:7px 4px;color:var(--muted)}.case-menu li a{display:block;line-height:1.4}.case-menu li a:hover{color:var(--teal)}.case-position{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.5px;color:var(--teal);padding:20px 0 0}.paged .case{padding-top:18px;border-bottom:0;padding-bottom:14px}.case-pagination{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:18px 0 22px;font-size:14px}.case-pagination a{text-decoration:none;color:var(--teal)}.secondary{color:var(--teal);background:white;margin-left:10px}.paged #contact{min-height:calc(100svh - 145px)}.paged .hero{min-height:calc(100svh - 145px)}
@media(min-width:1000px) and (min-height:650px){.paged .case-top img{height:clamp(200px,28vh,310px);aspect-ratio:auto}.paged .case-top h2{font-size:clamp(30px,2.9vw,48px);margin-bottom:14px}.paged .case-top .eyebrow{margin-bottom:14px}.paged .case .metrics{padding:18px 0 16px}.paged .case .metrics strong{font-size:40px}.paged .case .metrics p{margin-top:5px}.paged .case .body-cols{padding-top:20px}.paged .case .body-cols h3{font-size:21px;margin-bottom:10px}.paged .case .body-cols p{font-size:clamp(16px,1.1vw,20px);line-height:1.55;margin-bottom:10px}}
@media(max-width:800px){.top-links{gap:16px}.case-menu ol{right:-90px}.paged .hero{min-height:0}.paged .case-top{gap:20px}.case-position{padding-top:18px}.case-pagination{gap:15px}.secondary{margin-left:0}.button{margin-right:8px}}
@media(max-width:420px){.paged nav div a:first-child{display:block}.brand{font-size:16px}.top-links{font-size:11px;gap:12px}.top-links>a:last-child{max-width:70px;line-height:1.3}.case-menu ol{right:-80px}}
.detail-cta{padding:0 0 20px}.detail-cta .button{margin-top:0}.detail-return{display:flex;justify-content:space-between;gap:24px;padding:24px 0;font-size:13px;color:var(--teal)}.detail-return a{text-decoration:none}.detail-return span{font-size:11px;letter-spacing:1px}.detail-heading{max-width:1050px;padding:32px 0 40px}.detail-heading h1{font-size:clamp(36px,4.3vw,64px);line-height:1.12}.detail-heading .lead{max-width:850px}.detail-layout{display:grid;grid-template-columns:250px minmax(0,850px);gap:7%;padding-bottom:60px}.detail-index{position:sticky;top:110px;align-self:start;border-top:1px solid var(--line);padding-top:24px}.detail-index a{display:block;margin-bottom:15px;font-size:14px;text-decoration:none;color:var(--muted)}.detail-index a:hover{color:var(--teal)}.detail-index .detail-contact{color:var(--teal);border-top:1px solid var(--line);padding-top:20px;margin-top:26px}.detail-copy section{padding:25px 0;border-top:1px solid var(--line);scroll-margin-top:105px}.detail-copy h2{font-size:30px;margin-bottom:20px}.detail-copy p,.detail-copy li{font-size:19px;line-height:1.75}.detail-copy li{margin-bottom:16px;color:var(--muted)}.detail-copy ul{padding-left:24px}.detail-copy .detail-note{font-size:14px;border-left:3px solid var(--teal);padding-left:18px}.detail-end{padding:20px 0}.detail-page .top-links a{white-space:normal}@media(max-width:800px){.detail-layout{grid-template-columns:1fr;gap:25px}.detail-index{position:static}.detail-index a{display:inline-block;margin-right:22px}.detail-index .detail-contact{display:none}.detail-heading{padding:15px 0 20px}.detail-copy p,.detail-copy li{font-size:17px}.detail-return{font-size:12px}.detail-return span{font-size:9px}}
@media(min-width:801px){.detail-index{max-height:calc(100svh - 135px);overflow-y:auto;padding-right:12px}}
.enquiry-heading{max-width:850px}.enquiry-heading h1{font-size:clamp(36px,4vw,58px)}.enquiry-layout{display:grid;grid-template-columns:minmax(0,780px) minmax(240px,1fr);gap:8%;padding-top:22px}.enquiry-layout fieldset{border:0;padding:0;margin:0 0 30px}.enquiry-layout legend{font-size:23px;margin-bottom:4px}.work-choice{display:block;margin:10px 0;cursor:pointer;color:var(--muted)}.work-choice input{accent-color:var(--teal);margin-right:8px;width:17px;height:17px;vertical-align:middle}.field-label{display:block;font-size:15px;margin:22px 0 8px;font-weight:600}.field-label span{font-weight:400;color:var(--muted);font-size:13px}.enquiry-layout input:not([type=radio]):not([type=hidden]),.enquiry-layout textarea{width:100%;font:inherit;color:var(--navy);background:white;border:1px solid #a8b5c1;border-radius:0;padding:12px}.enquiry-layout textarea{resize:vertical;min-height:150px}.enquiry-layout input[type=file]{font-size:14px!important}.enquiry-layout input:focus-visible,.enquiry-layout textarea:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field-hint,.form-privacy{font-size:13px;line-height:1.6}.field-hint{margin-top:8px}.form-privacy{margin:25px 0 12px}.enquiry-layout .button{font:inherit;cursor:pointer}.enquiry-aside{border-top:1px solid var(--line);padding-top:25px}.enquiry-aside h2{font-size:30px}.enquiry-aside h3{margin-top:32px;font-size:21px}.enquiry-aside p{font-size:16px}.enquiry-aside a{color:var(--teal);overflow-wrap:anywhere}.bot-field{position:absolute;left:-10000px}.form-error{color:#a62424;font-size:14px}.enquiry-thanks{padding:80px 0;min-height:70vh;max-width:850px}@media(max-width:800px){.enquiry-layout{grid-template-columns:1fr;gap:40px}.form-row{grid-template-columns:1fr;gap:0}.enquiry-heading h1{font-size:40px}}
#contact .enquiry-aside h2{font-size:30px;line-height:1.2}
header>nav.category-bar{min-height:0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-top:13px;padding-bottom:13px;border-top:1px solid var(--line);font-size:15px}.category-bar a{color:var(--teal);text-decoration:none;text-align:center;line-height:1.4;padding:3px 0}.category-bar a:hover{text-decoration:underline;text-underline-offset:5px}.category-bar a[aria-current=page]{font-weight:700;text-decoration:underline;text-underline-offset:6px}.group-heading{padding:48px 0 28px;max-width:1000px}.group-heading h1{font-size:clamp(36px,4vw,60px);margin-bottom:20px}.group-count{font-size:13px;margin-bottom:0}.group-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding-bottom:60px}.group-case{border:1px solid var(--line);display:flex;flex-direction:column}.group-image{display:block;overflow:hidden}.group-image img{display:block;width:100%;aspect-ratio:2.25/1;object-fit:cover}.group-case-copy{padding:26px;display:flex;flex-direction:column;flex:1}.group-case-copy .eyebrow{font-size:11px;margin-bottom:14px}.group-case-copy h2{font-size:28px;line-height:1.2;letter-spacing:-.4px}.group-case-copy h2 a{text-decoration:none}.group-case-copy h2 a:hover{color:var(--teal)}.group-case-copy>p:not(.eyebrow){font-size:16px}.group-open{margin-top:auto;color:var(--teal);font-size:14px}.paged .hero{min-height:calc(100svh - 198px)}html{scroll-padding-top:155px}.detail-index{top:165px;max-height:calc(100svh - 190px)}.detail-copy section{scroll-margin-top:160px}
@media(max-width:800px){header>nav.category-bar{font-size:12px;gap:12px;padding-top:10px;padding-bottom:10px}.group-grid{grid-template-columns:1fr;gap:24px}.group-heading{padding-top:30px}.group-case-copy{padding:22px}.detail-index{max-height:none}.paged .hero{min-height:0}}
@media(max-width:420px){header>nav.category-bar{font-size:11px;gap:8px}.group-heading h1{font-size:36px}}

/* Personal introduction and assignment routes */
.availability{margin:22px 0 18px}.availability h2{font-size:21px;line-height:1.35;font-weight:600;letter-spacing:0;color:var(--teal);margin-bottom:9px}.availability p{font-size:17px;line-height:1.55;margin-bottom:0}.hero .background{margin-top:22px;padding-top:19px}.about-section{display:grid;grid-template-columns:minmax(230px,.65fr) 1.35fr;gap:7%;padding:66px 0;border-top:1px solid var(--line);align-items:start;scroll-margin-top:150px}.portrait{display:block;width:100%;height:auto;max-height:500px;aspect-ratio:4/5;object-fit:cover;object-position:50% 65%}.about-copy{max-width:760px}.about-copy h2{margin-bottom:22px}.about-copy p{font-size:18px;line-height:1.65}.about-copy .ai-note{font-size:15px;line-height:1.6;border-top:1px solid var(--line);padding-top:20px;margin-top:23px}.text-link{color:var(--teal);font-size:17px}.assignment-section{border-top:1px solid var(--line);padding:48px 0 65px}.assignment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.assignment-card{display:block;text-decoration:none;border-top:2px solid var(--teal);padding:22px 0}.assignment-card h3{font-size:24px}.assignment-card p{font-size:17px}.assignment-card span{color:var(--teal);font-size:15px}.assignment-card:hover h3{text-decoration:underline}.assignment-intro{max-width:760px;font-size:17px}.illustration-note{font-size:12px;margin:8px 0 0;color:var(--muted)}
@media(max-width:800px){.about-section{grid-template-columns:1fr;padding:40px 0;gap:30px}.portrait{max-width:320px;max-height:400px}.assignment-grid{grid-template-columns:1fr;gap:8px}.top-links{gap:12px;flex-wrap:wrap;justify-content:flex-end}.top-links a{white-space:nowrap}.about-copy p{font-size:17px}.availability h2{font-size:20px}.hero .background{margin-top:20px}.brand{flex-shrink:0}.assignment-section{padding-top:35px}.about-section{scroll-margin-top:160px}}
@media(max-width:480px){nav.wrap{gap:12px;align-items:flex-start;padding-top:16px;padding-bottom:15px}.brand{font-size:17px}.top-links{font-size:11px;column-gap:13px;row-gap:9px}.category-bar.wrap{align-items:center;padding-top:8px;padding-bottom:8px}.hero h1{font-size:42px}}
html{scroll-padding-top:150px}.about-section{scroll-margin-top:0}header{background:#fff}
@media(max-width:480px){html{scroll-padding-top:175px}.about-section{scroll-margin-top:0}}

/* Two-column introduction and About me */
.compact-home{padding-top:28px;padding-bottom:25px}.home-split{display:grid;grid-template-columns:1.2fr 1fr;gap:5%;align-items:start}.home-intro{min-width:0}.home-group-photo{display:block;width:100%;height:clamp(170px,19vw,250px);object-fit:cover;object-position:50% 48%;margin-bottom:20px}.home-intro .eyebrow{margin-bottom:12px}.home-intro h1{font-size:clamp(34px,3.3vw,52px);line-height:1.12;letter-spacing:-1px;margin-bottom:16px}.home-lead{font-size:18px;line-height:1.55;margin-bottom:20px}.home-availability h2{font-size:20px;line-height:1.35;color:var(--teal);font-weight:600;letter-spacing:0;margin-bottom:8px}.home-availability p{font-size:16px;line-height:1.5;margin-bottom:12px}.home-actions{display:flex;flex-wrap:wrap;gap:12px}.home-actions .button{margin-left:0;margin-right:0}.home-about{border-left:1px solid var(--line);padding-left:30px;scroll-margin-top:0}.home-about>.eyebrow{margin-bottom:18px}.home-profile{display:grid;grid-template-columns:132px 1fr;gap:24px;align-items:start;margin-bottom:22px}.home-profile img{width:132px;height:172px;object-fit:cover;object-position:50% 43%;display:block}.home-profile h2{font-size:28px;font-weight:600;letter-spacing:-.5px;line-height:1.2;margin:12px 0}.home-profile p{color:var(--teal);font-size:20px;line-height:1.35;font-weight:600;margin:0}.home-about h3{font-size:25px;font-weight:600;margin-bottom:12px}.home-about>p:not(.eyebrow){font-size:17px;line-height:1.55;margin-bottom:18px}.home-about>.home-ai-note{font-size:14px!important;line-height:1.55;border-top:1px solid var(--line);padding-top:16px;margin-top:21px;margin-bottom:0}.home-routes{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:30px;padding:18px 0}.home-routes>a{position:relative;display:block;text-decoration:none;padding:0 30px 0 20px;border-left:1px solid var(--line)}.home-routes>a:first-child{padding-left:0;border-left:0}.home-routes h2{font-size:21px;letter-spacing:0;line-height:1.25;font-weight:600;color:var(--teal);margin-bottom:8px}.home-routes p{font-size:15px;line-height:1.45;margin-bottom:0}.home-routes span{position:absolute;right:10px;top:15px;color:var(--teal);font-size:24px}.home-routes a:hover h2{text-decoration:underline}
@media(min-width:1000px) and (max-height:820px){.compact-home{padding-top:20px}.home-group-photo{height:175px;margin-bottom:14px}.home-intro h1{font-size:39px;margin-bottom:12px}.home-lead{font-size:16px;margin-bottom:14px}.home-availability h2{font-size:18px}.home-profile{margin-bottom:16px}.home-profile img{height:145px;width:115px}.home-profile{grid-template-columns:115px 1fr;gap:18px}.home-profile h2{font-size:26px}.home-profile p{font-size:18px}.home-about>p:not(.eyebrow){font-size:16px;margin-bottom:14px}.home-about>.home-ai-note{font-size:13px!important;margin-top:15px;padding-top:13px}.home-routes{margin-top:22px;padding:15px 0}.home-routes h2{font-size:19px}}
@media(max-width:999px){.home-split{grid-template-columns:1fr;gap:35px}.home-intro h1{font-size:44px}.home-group-photo{height:250px;object-position:50% 43%}.home-about{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.home-profile{grid-template-columns:130px 1fr;max-width:600px}.home-about{max-width:760px}.home-routes{grid-template-columns:1fr;gap:20px}.home-routes>a{padding:0 28px 18px 0;border-left:0;border-bottom:1px solid var(--line)}.home-routes>a:last-child{border-bottom:0;padding-bottom:0}}
@media(max-width:480px){.compact-home{padding-top:22px}.home-intro h1{font-size:36px}.home-intro h1 br{display:none}.home-group-photo{height:180px}.home-lead{font-size:17px}.home-profile{grid-template-columns:105px 1fr;gap:18px}.home-profile img{width:105px;height:145px}.home-profile h2{font-size:25px;margin-top:0}.home-profile p{font-size:18px}.home-about>p:not(.eyebrow){font-size:16px}.home-actions .button{font-size:14px;padding:11px 15px}}

.home-intro h1 br{display:initial}.home-group-photo{object-position:50% 15%}.home-portrait{width:132px;height:172px;overflow:hidden}.home-profile .home-portrait img{width:100%;height:100%;max-width:none;object-fit:cover;transform:scale(1.5);transform-origin:50% 40%}
@media(min-width:1000px) and (max-height:820px){.home-portrait{width:115px;height:145px}}
@media(max-width:480px){.home-portrait{width:105px;height:145px}.home-intro h1 br{display:none}}
