:root{--paper:#f7f7f2;--ink:#1a1a18;--muted:#5e5e56;--line:#d8d8d0;--sans:'DM Sans',Arial,sans-serif;--serif:'Instrument Serif',Georgia,serif;--gutter:clamp(22px,4.45vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:20px;line-height:1.6;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{background:none;border:0;padding:0}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}figure,p,h1,h2,h3{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:.98;letter-spacing:-.04em}em{font-family:var(--serif);font-weight:400}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,pre:focus-visible{outline:2px solid currentColor;outline-offset:6px}button:disabled{cursor:default}.page-width{width:100%;max-width:1800px;margin-inline:auto;padding-inline:var(--gutter)}.section-space{margin-top:144px}.eyebrow{font-size:16px;line-height:1.4;font-weight:500;letter-spacing:.1em}.small-note{font-size:16px;line-height:1.7;color:var(--muted)}.tiny-cross{font-size:18px;line-height:12px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;border-bottom:1px solid var(--ink);padding:0 0 10px;font-size:18px;font-weight:500}.text-link span{font-size:21px;line-height:1;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.inline-link{font-size:18px;border-bottom:1px solid currentColor;padding-bottom:2px;line-height:1.6}.inline-link:hover{opacity:.6}.image-button{display:block;position:relative;overflow:hidden;width:100%;text-align:left}.image-button img{transition:transform .7s cubic-bezier(.2,.65,.3,1)}.image-button:hover img{transform:scale(1.025)}.skip-link{position:fixed;top:8px;left:20px;background:var(--ink);color:var(--paper);padding:8px 16px;z-index:30;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.header{height:106px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:1800px;margin:auto;position:relative;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:21px}.wordmark{font-size:43px;font-weight:700;letter-spacing:-.085em;line-height:1}.brand-dot{margin-left:1px}.brand-descriptor{font-size:16px;letter-spacing:.11em;line-height:1.5;border-left:1px solid var(--line);padding-left:19px;font-weight:500}.desktop-nav{display:flex;gap:31px;align-items:center;font-size:16px;margin-left:auto;margin-right:30px}.desktop-nav a{position:relative}.desktop-nav a:after{position:absolute;bottom:-4px;left:0;width:100%;height:1px;background:var(--ink);content:'';transform:scaleX(0);transform-origin:left;transition:transform .2s}.desktop-nav a:hover:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center}.header-plan{display:flex;align-items:center;gap:36px;border:1px solid var(--ink);padding:11px 16px;font-size:16px;transition:background .2s,color .2s}.header-plan span{font-size:19px;line-height:1}.header-plan:hover{background:var(--ink);color:var(--paper)}.menu-toggle,.mobile-nav{display:none}
.hero{display:grid;grid-template-columns:1fr 1.03fr;gap:60px;padding-top:56px}.hero-copy{padding-top:24px;display:flex;align-items:flex-start;flex-direction:column}.hero .eyebrow{display:flex;gap:10px;align-items:center}.hero h1{font-size:clamp(75px,7.9vw,140px);margin-top:39px;white-space:nowrap;letter-spacing:-.045em;line-height:.95}.hero-intro{font-size:18px;line-height:1.8;margin-top:28px;max-width:355px;color:#55554f}.hero-explore{margin-top:29px;min-width:178px}.hero-note{display:flex;align-items:center;gap:22px;margin-top:auto;padding-top:56px;padding-bottom:24px}.hero-thumbnail{width:103px;height:124px;flex:none}.hero-thumbnail img{object-position:50% 25%}.hero-note .eyebrow{font-size:16px;letter-spacing:.1em;color:var(--muted)}.hero-note p{font-size:18px;line-height:1.6;margin-top:10px}.hero-note em{font-size:22px;line-height:1.8}.hero-figure{min-width:0}.hero-image{aspect-ratio:1/1.19;background:#b8b8b1}.hero-image img{object-position:44% center}.photo-expand{position:absolute;bottom:22px;right:24px;width:37px;height:37px;display:grid;place-items:center;border:1px solid #ffffff80;color:white;font-size:23px;line-height:1;background:#0001;backdrop-filter:blur(4px)}.image-vertical{position:absolute;right:17px;top:20px;color:#fff;font-size:16px;letter-spacing:.2em;writing-mode:vertical-rl;text-shadow:0 1px 8px #0005}.hero-figure figcaption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:16px;line-height:1.5}.hero-figure figcaption span:last-child{color:var(--muted);font-size:16px;letter-spacing:.08em}.specialties{margin-top:49px;display:grid;grid-template-columns:repeat(4,1fr)}.specialties a{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:21px 27px 21px 0;display:flex;justify-content:space-between;gap:15px;font-size:16px}.specialties a:not(:first-child){padding-left:27px}.specialties a span{color:var(--muted)}.specialties a:hover{border-bottom-color:var(--ink)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.section-number{margin-bottom:25px;color:var(--muted)}.section-heading h2{font-size:clamp(55px,5.4vw,94px)}.section-aside{padding-bottom:5px;min-width:250px}.section-aside p{font-size:18px;line-height:1.8}.section-aside .small-note{display:block;margin-top:20px}.filter-bar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-top:51px}.filters{display:flex;gap:30px}.filter{color:var(--muted);font-size:16px;line-height:1;padding:18px 0 20px;border-bottom:1px solid transparent;white-space:nowrap;margin-bottom:-1px}.filter sup{font-size:16px;margin-left:4px;top:-.4em;position:relative}.filter.active{border-color:var(--ink);color:var(--ink)}.filter:hover{color:var(--ink)}.gallery-mark{font-size:18px;letter-spacing:.15em}.portrait-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 26px;align-items:start;margin-top:34px}.portrait{min-width:0;animation:arrive .45s ease both}.portrait:nth-child(3n+2){margin-top:65px}.portrait-image{aspect-ratio:4/5;background:#ddddd6}.portrait:nth-child(3n) .portrait-image{aspect-ratio:4/4.8}.portrait .portrait-expand{position:absolute;bottom:14px;right:15px;color:white;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s;font-size:22px;text-shadow:0 1px 6px #000}.portrait-image:hover .portrait-expand,.portrait-image:focus-visible .portrait-expand{opacity:1;transform:translateY(0)}.portrait-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:13px}.portrait-caption h3{font-size:16px;font-weight:500;line-height:1.4}.portrait-caption span{font-size:16px;line-height:1.4;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.portfolio-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:40px}.portfolio-bottom .inline-link{font-size:16px;color:var(--ink);margin-top:2px}.more-button{font-size:16px;border:1px solid var(--line);padding:13px 20px;display:flex;gap:22px;align-items:center}.more-button>span:first-child{color:var(--muted);font-size:16px}.more-button>span:last-child{font-size:22px}.more-button:hover{border-color:var(--ink)}.more-button[hidden]{display:none}.portrait-grid.filtered{grid-template-columns:repeat(3,minmax(0,1fr))}.portrait-grid.filtered .portrait:nth-child(2){margin-top:65px}.portrait-grid.filtered .portrait:nth-child(3n+2){margin-top:65px}
.approach{background:#20211e;color:var(--paper)}.approach-inner{padding-block:77px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,140px);align-items:center}.approach-photo{align-self:stretch;position:relative}.approach-photo>img{min-height:650px;height:100%;max-height:790px;object-position:50% 40%;filter:brightness(.86)}.approach-photo>p{position:absolute;bottom:20px;left:22px;right:22px;display:flex;justify-content:space-between;gap:10px;font-size:16px;letter-spacing:.1em;text-shadow:0 1px 5px #000}.approach-copy{padding-block:18px}.approach-copy>.eyebrow{color:#b0b1a7}.approach h2{font-size:clamp(65px,6.1vw,104px);margin-top:34px}.approach-intro{font-size:20px;margin-top:29px}.approach-text{font-size:18px;line-height:1.9;color:#b8b9b1;max-width:350px;margin-top:10px}.craft-points{margin-top:30px}.craft-points>div{display:flex;gap:22px;border-top:1px solid #ffffff26;padding:17px 0}.craft-points>div>span{font-size:16px;color:#9a9c91;padding-top:3px}.craft-points p{font-size:16px;line-height:1.8;color:#b8b9b1}.craft-points strong{font-weight:500;font-size:18px;color:var(--paper)}.light-link{color:var(--paper);border-color:#ffffff80;margin-top:22px;min-width:175px}
.session-list{margin-top:52px;border-top:1px solid var(--ink)}.session{border-bottom:1px solid var(--line)}.session summary{display:flex;align-items:center;gap:32px;padding-block:29px;cursor:pointer;list-style:none}.session summary::-webkit-details-marker{display:none}.session-index{font-size:16px;color:var(--muted);width:34px;flex:none}.session h3{font-size:clamp(23px,2.5vw,40px);font-weight:400;letter-spacing:-.045em;line-height:1.1}.session-tag{margin-left:auto;font-size:16px;letter-spacing:.08em;color:var(--muted)}.session-plus{width:21px;height:21px;position:relative;margin-left:25px;flex:none}.session-plus:before,.session-plus:after{content:'';position:absolute;width:15px;height:1px;left:3px;top:10px;background:var(--ink);transition:transform .2s}.session-plus:after{transform:rotate(90deg)}.session[open] .session-plus:after{transform:rotate(0)}.session-content{display:grid;grid-template-columns:1fr 1fr;gap:72px;padding:1px 58px 35px 66px;font-size:18px;line-height:1.9;color:#5d5d56}.session-content>p{max-width:370px}.session-content ul{list-style:none;margin:0 0 17px;padding:0}.session-content li:before{content:'—';margin-right:10px;color:#8b8b82}.session-content .inline-link{color:var(--ink)}.session-footnote{display:flex;align-items:center;gap:20px;padding-top:30px}.session-footnote p{font-size:16px;line-height:1.7;color:var(--muted)}.session-footnote .text-link{margin-left:auto;font-size:16px;gap:40px;padding-bottom:7px}
.closing{padding-top:58px;padding-bottom:70px;border-top:1px solid var(--line)}.closing>.eyebrow{color:var(--muted)}.closing-row{display:flex;justify-content:space-between;align-items:flex-end;margin-top:32px;gap:30px}.closing h2{font-size:clamp(100px,13vw,220px);line-height:.91}.closing-action{margin-right:5.5%;padding-bottom:10px}.round-arrow{height:100px;width:100px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:44px;line-height:1;transition:background .25s,color .25s,transform .25s}.round-arrow:hover{background:var(--ink);color:var(--paper);transform:rotate(8deg)}.closing-action p{font-size:18px;line-height:1.8;margin-top:35px;margin-bottom:16px}.footer{border-top:1px solid var(--line)}.footer-top{display:flex;align-items:center;gap:40px;padding-block:36px}.footer-logo{font-size:51px;font-weight:700;letter-spacing:-.085em;line-height:1}.footer-top p{font-size:16px;line-height:1.7;letter-spacing:.08em}.back-top{margin-left:auto;font-size:16px;display:flex;align-items:center;gap:30px}.back-top span{font-size:18px}.footer-bottom{border-top:1px solid var(--line);padding-block:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:16px;color:var(--muted)}.footer-links{display:flex;gap:22px}.footer-links button{font-size:16px}.footer-links button:hover{color:var(--ink)}.footer-bottom>span:last-child{font-size:16px;letter-spacing:.07em}
[hidden]{display:none!important}dialog{border:0;color:var(--ink);background:var(--paper);margin:auto;max-width:calc(100% - 32px);max-height:calc(100dvh - 32px);padding:34px 38px;box-shadow:0 12px 80px #0003}dialog::backdrop{background:#13140fd6;backdrop-filter:blur(5px)}dialog[open]{animation:arrive .2s ease}.modal-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.modal-top .eyebrow{font-size:16px;color:var(--muted)}.close-button{font-size:33px;line-height:1;width:32px;height:32px;flex:none;font-weight:400}.close-button:hover{transform:rotate(90deg)}.planner{width:640px}.planner h2,.info-dialog h2{font-size:68px;letter-spacing:-.04em}.planner-description{font-size:18px;line-height:1.8;color:var(--muted);margin-top:20px;max-width:470px}form{margin-top:26px}form>label,.form-row>label{display:flex;flex-direction:column;font-size:16px;font-weight:500;gap:7px;margin-bottom:17px}label>span{font-weight:400;color:var(--muted);font-size:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:0;background:transparent;padding:11px 12px;font-size:18px;outline-offset:1px!important}input::placeholder,textarea::placeholder{color:#8c8c83}textarea{resize:vertical;min-height:85px}select{min-height:43px}.setting-fieldset{border:0;padding:0;margin:1px 0 18px}.setting-fieldset legend{font-size:16px;font-weight:500;margin-bottom:10px}.setting-options{display:flex;gap:8px}.setting-options label{position:relative;flex:1;cursor:pointer}.setting-options input{position:absolute;opacity:0;width:1px;height:1px}.setting-options span{font-size:16px;padding:10px 7px;border:1px solid var(--line);display:block;text-align:center;color:var(--muted)}.setting-options input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}.setting-options input:focus-visible+span{outline:2px solid var(--ink);outline-offset:3px}.solid-button,.outline-button{display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:16px;padding:14px 18px;min-height:47px}.solid-button{background:var(--ink);color:var(--paper);border:1px solid var(--ink)}.solid-button:hover{background:#44443d}.solid-button span,.outline-button span{font-size:19px;line-height:1}.outline-button{border:1px solid var(--ink)}.outline-button:hover{background:#e9e9e1}form .solid-button{width:100%;margin-top:22px}.form-note{font-size:16px;line-height:1.7;color:var(--muted);margin-top:12px}.planner-result-view h2{margin-top:16px}#brief-output{white-space:pre-wrap;word-break:break-word;font:17px/1.8 var(--sans);padding:20px;background:#eaeae3;margin:25px 0;max-height:37vh;overflow:auto}.result-actions{display:flex;gap:12px}.result-actions>button{flex:1}.edit-brief{margin-top:25px}.copy-status{font-size:16px;min-height:20px;margin-top:10px}.info-dialog{width:580px}.info-dialog>p{font-size:18px;line-height:1.9;color:#64645d;margin-top:22px}.info-dialog>p a{border-bottom:1px solid var(--line)}.credit-list{padding:0;list-style:none;margin-top:28px}.credit-list li{padding:12px 0;border-top:1px solid var(--line);display:flex;gap:20px;align-items:center;justify-content:space-between;font-size:16px}.credit-list li span{font-size:16px;color:var(--muted)}.credit-list a:hover{text-decoration:underline}.lightbox{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;padding:24px 40px;background:#171815;color:var(--paper);overflow:hidden}.lightbox-top{display:flex;align-items:center;gap:30px;height:35px}.lightbox-top>.eyebrow{font-size:16px;margin-right:auto}.lightbox-top>#lightbox-counter{font-size:16px;color:#b5b6ac}.lightbox-stage{height:calc(100% - 136px);display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:20px}.lightbox-stage img{max-width:calc(100% - 110px);max-height:100%;width:auto;object-fit:contain;min-width:0}.lightbox-stage>button{font-size:28px;padding:10px;flex:none}.lightbox-stage>button:hover{opacity:.6}.lightbox-caption{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;height:77px;border-top:1px solid #ffffff30;padding-top:12px}.lightbox-caption h2{font-size:28px;letter-spacing:-.02em;line-height:1.1}.lightbox-caption p{font-size:16px;text-transform:uppercase;letter-spacing:.1em;margin-top:7px;color:#b5b6ac}.lightbox-credit{font-size:16px;line-height:1.8;text-align:right;color:#b5b6ac}.lightbox-credit a{display:block;color:var(--paper);text-decoration:underline;text-underline-offset:3px}@keyframes arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1650px){.hero{gap:90px}.hero-copy{padding-top:40px}.hero-note{padding-top:75px}.hero-intro{font-size:20px}.hero-note p{font-size:18px}}
@media(max-width:1100px){.header{height:92px}.desktop-nav{gap:20px;margin-right:0}.brand-descriptor{display:none}.hero{gap:35px;padding-top:40px}.hero-copy{padding-top:12px}.hero h1{font-size:8.2vw;margin-top:30px}.hero-intro{font-size:18px}.hero-note{padding-top:35px;padding-bottom:0;gap:15px}.hero-thumbnail{width:80px;height:100px}.hero-note .eyebrow{font-size:16px}.hero-note p{font-size:16px}.hero .eyebrow{font-size:16px}.hero-explore{margin-top:20px}.specialties{margin-top:35px}.section-space{margin-top:110px}.approach-inner{gap:50px;padding-block:55px}.approach-photo>img{min-height:620px}.approach h2{font-size:70px}.approach-copy{padding-block:0}.session-content{gap:40px}.session-tag{font-size:16px}.closing h2{font-size:14vw}.closing-action{margin-right:0}.portfolio-bottom{margin-top:33px}.portrait-caption{flex-wrap:wrap}.portrait-caption span{font-size:16px}}
@media(max-width:760px){:root{--gutter:22px}.header{height:78px;gap:15px}.wordmark{font-size:36px}.desktop-nav{display:none}.header-actions{gap:22px}.header-plan{padding:8px 11px;font-size:16px;gap:20px}.header-plan span{font-size:22px}.menu-toggle{display:block;width:23px;height:30px;position:relative}.menu-toggle span{width:22px;height:1px;background:var(--ink);position:absolute;left:0;top:11px;transition:transform .2s}.menu-toggle span:last-child{top:18px}.menu-toggle[aria-expanded=true] span{top:15px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:rotate(-45deg)}.mobile-nav:not([hidden]){position:absolute;display:block;left:0;right:0;top:77px;padding:20px var(--gutter) 27px;background:var(--paper);border-bottom:1px solid var(--ink);z-index:10;box-shadow:0 12px 20px #00000009}.mobile-nav>a,.mobile-nav>button{display:flex;align-items:center;justify-content:space-between;width:100%;padding-block:16px;font-size:19px;border-bottom:1px solid var(--line)}.mobile-nav span{font-size:16px;color:var(--muted)}.mobile-nav>button{font-size:18px;border:0;padding-top:24px}.hero{grid-template-columns:1fr;gap:33px;padding-top:29px}.hero-copy{padding-top:0}.hero .eyebrow{font-size:16px;gap:8px}.hero h1{font-size:clamp(64px,15.6vw,105px);margin-top:25px;line-height:.96;letter-spacing:-.04em}.hero-intro{font-size:18px;line-height:1.85;margin-top:24px;max-width:320px}.desktop-break{display:none}.hero-explore{font-size:16px;min-width:155px;gap:30px;margin-top:22px;padding-bottom:8px}.hero-note{display:none}.hero-image{aspect-ratio:4/4.7}.hero-figure figcaption{margin-top:10px;font-size:16px}.hero-figure figcaption span:last-child{font-size:16px}.photo-expand{bottom:16px;right:16px;width:33px;height:33px}.image-vertical{font-size:16px;right:12px}.specialties{margin-top:30px;grid-template-columns:1fr 1fr;column-gap:22px}.specialties a{font-size:16px;padding:15px 0!important}.specialties a:nth-child(3),.specialties a:nth-child(4){border-top:0}.section-space{margin-top:83px}.section-heading{display:block}.section-number{font-size:16px;margin-bottom:23px}.section-heading h2{font-size:clamp(51px,11.8vw,76px);line-height:1}.section-aside{padding:0;margin-top:25px}.section-aside p{font-size:16px;line-height:1.85}.section-aside .small-note{margin-top:12px;font-size:16px}.filter-bar{margin-top:25px}.filters{overflow-x:auto;gap:23px;scrollbar-width:none;margin-right:-22px;padding-right:22px;width:calc(100% + 22px)}.filters::-webkit-scrollbar{display:none}.filter{font-size:16px;padding:16px 0}.filter sup{font-size:16px}.gallery-mark{display:none}.portrait-grid,.portrait-grid.filtered{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 14px;margin-top:25px}.portrait:nth-child(3n+2),.portrait-grid.filtered .portrait:nth-child(3n+2){margin-top:0}.portrait:nth-child(even),.portrait-grid.filtered .portrait:nth-child(2){margin-top:35px}.portrait-image,.portrait:nth-child(3n) .portrait-image{aspect-ratio:3/4}.portrait-caption{display:block;margin-top:8px}.portrait-caption h3{font-size:16px;line-height:1.5}.portrait-caption span{display:block;font-size:16px;margin-top:3px}.portrait .portrait-expand{font-size:18px;bottom:8px;right:10px;opacity:1;transform:none}.portfolio-bottom{margin-top:31px;flex-direction:column-reverse;align-items:flex-start;gap:24px}.more-button{width:100%;justify-content:space-between;font-size:16px;padding:12px 15px}.portfolio-bottom .small-note{font-size:16px;line-height:1.8}.portfolio-bottom .inline-link{font-size:16px}.approach-inner{grid-template-columns:1fr;padding-block:33px 42px;gap:37px}.approach-photo{height:400px}.approach-photo>img{min-height:0;max-height:none;height:100%;object-position:50% 39%}.approach-photo>p{font-size:16px;left:15px;right:15px;bottom:15px}.approach-copy{padding:0}.approach-copy>.eyebrow{font-size:16px}.approach h2{font-size:70px;margin-top:24px}.approach-intro{font-size:18px;margin-top:25px}.approach-text{font-size:16px;line-height:1.9;max-width:100%}.craft-points{margin-top:25px}.craft-points>div{padding:15px 0;gap:19px}.craft-points strong{font-size:16px}.craft-points p{font-size:16px;line-height:1.9}.light-link{font-size:16px;margin-top:23px}.session-list{margin-top:31px}.session summary{gap:13px;padding-block:24px}.session-index{font-size:16px;width:20px}.session h3{font-size:24px;letter-spacing:-.05em}.session-tag{display:none}.session-plus{margin-left:auto;width:18px}.session-content{grid-template-columns:1fr;gap:18px;padding:0 0 25px 33px;font-size:16px;line-height:1.85}.session-content ul{margin-bottom:15px}.session-content .inline-link{font-size:16px}.session-footnote{align-items:flex-start;gap:13px;padding-top:23px;flex-wrap:wrap}.session-footnote p{font-size:16px}.session-footnote .tiny-cross{padding-top:4px}.session-footnote .text-link{font-size:16px;gap:40px;margin-top:10px;margin-left:25px}.closing{padding-top:33px;padding-bottom:43px}.closing>.eyebrow{font-size:16px;letter-spacing:.07em}.closing-row{margin-top:28px;display:block}.closing h2{font-size:clamp(86px,20.9vw,136px)}.closing-action{display:grid;grid-template-columns:63px 1fr;column-gap:25px;align-items:center;margin-top:36px;padding:0}.round-arrow{width:63px;height:63px;font-size:29px;grid-row:1/3}.closing-action p{font-size:16px;margin:0;align-self:end}.closing-action .inline-link{justify-self:start;font-size:16px;margin-top:6px;align-self:start}.footer-top{gap:23px;padding-block:28px}.footer-logo{font-size:39px}.footer-top p{font-size:16px}.back-top{font-size:0;gap:0}.back-top span{font-size:20px}.footer-bottom{display:grid;grid-template-columns:1fr auto;gap:16px;padding-block:20px;font-size:16px}.footer-links{gap:16px}.footer-links button{font-size:16px}.footer-bottom>span:last-child{font-size:16px;grid-column:1/-1;letter-spacing:.07em}dialog{padding:25px 23px;max-width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.planner h2,.info-dialog h2{font-size:59px}.modal-top{margin-bottom:26px}.modal-top .eyebrow{font-size:16px}.close-button{font-size:30px;width:28px;height:28px}.planner-description{font-size:16px;margin-top:18px}.planner form{margin-top:22px}.form-row{grid-template-columns:1fr;gap:0}form>label,.form-row>label{font-size:16px;margin-bottom:15px;gap:5px}.setting-options{gap:6px}.setting-options span{font-size:16px;padding-inline:4px}.solid-button,.outline-button{font-size:16px;padding-inline:13px}.form-note{font-size:16px}.result-actions{gap:8px}.result-actions>button{gap:8px}.info-dialog>p{font-size:16px}.credit-list li{font-size:16px;gap:12px}.credit-list li span{font-size:16px}.lightbox{max-width:100vw;max-height:100dvh;padding:18px 18px 23px}.lightbox-top{gap:17px}.lightbox-top>.eyebrow{font-size:16px}.lightbox-top>#lightbox-counter{font-size:16px}.lightbox-stage{height:calc(100% - 131px);position:relative;padding-block:22px;gap:0;justify-content:center}.lightbox-stage img{max-width:100%;width:100%;height:100%;object-fit:contain}.lightbox-stage>button{position:absolute;bottom:26px;z-index:1;background:#171815c9;color:var(--paper);font-size:22px;width:40px;height:40px;line-height:1;border:1px solid #ffffff50;padding:0}.lightbox-prev{left:6px}.lightbox-next{right:6px}.lightbox-caption{height:96px;padding-top:16px;align-items:flex-start}.lightbox-caption h2{font-size:24px}.lightbox-caption p{font-size:16px;max-width:170px}.lightbox-credit{font-size:16px;max-width:130px;align-self:end}}
@media(max-width:360px){:root{--gutter:18px}.header-actions{gap:16px}.header-plan{font-size:16px;gap:12px}.hero h1{font-size:60px}.hero .eyebrow{font-size:16px}.hero-intro{font-size:16px}.session h3{font-size:21px}.portrait-caption h3{font-size:16px}.closing h2{font-size:79px}.footer-top{gap:18px}.footer-top p{font-size:16px}.setting-options span{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

@media(max-width:760px){.header-plan{min-height:44px}.menu-toggle{width:32px;height:44px}.menu-toggle span{top:18px;left:5px}.menu-toggle span:last-child{top:25px}.menu-toggle[aria-expanded=true] span,.menu-toggle[aria-expanded=true] span:last-child{top:22px}.filter{min-height:44px}.hero-intro{font-size:18px}.approach-text,.session-content{font-size:18px}.session-content .inline-link{min-height:40px;display:inline-flex;align-items:center}.close-button{width:40px;height:40px}.setting-options span{min-height:40px;display:flex;align-items:center;justify-content:center}.info-dialog>p{font-size:18px}}
@media(max-width:360px){.closing h2{font-size:70px}}

.field-label{font-size:16px;color:var(--ink);font-weight:500}.field-label>span{font-weight:400;font-size:16px;color:var(--muted)}
@media(max-width:760px){.filters{margin-right:calc(-1 * var(--gutter));padding-right:var(--gutter);width:calc(100% + var(--gutter))}.field-label{font-size:16px}input,select,textarea{font-size:20px}input::placeholder,textarea::placeholder{font-size:18px}}

/* Readable type throughout, with room for larger labels and controls. */
body{font-size:18px;line-height:1.7}
.desktop-nav,.header-plan,.text-link,.inline-link,.more-button,.filter,.solid-button,.outline-button{font-size:18px}
.brand-descriptor{font-size:16px;letter-spacing:.04em}
.eyebrow{letter-spacing:.06em;line-height:1.55}
.hero-intro{font-size:18px;max-width:440px;line-height:1.75}
.hero-intro .desktop-break{display:none}
.hero-note p{font-size:18px}.hero-note .eyebrow{line-height:1.5}
.hero-figure figcaption{flex-wrap:wrap;gap:6px 20px;line-height:1.55}
.specialties a{font-size:18px;align-items:center;line-height:1.5}
.specialties a span{flex:none;font-size:22px}
.section-aside{min-width:280px;max-width:380px}.section-aside p{font-size:18px;line-height:1.75}
.filters{gap:30px}.filter{line-height:1.35;min-height:56px}.filter sup{font-size:16px;top:-.25em}
.portrait-caption{flex-direction:column;align-items:flex-start;gap:4px}
.portrait-caption h3{font-size:18px;line-height:1.5}.portrait-caption span{font-size:16px;white-space:normal;line-height:1.5;letter-spacing:.02em}
.portfolio-bottom .small-note,.portfolio-bottom .inline-link{font-size:16px}
.more-button{white-space:nowrap;min-height:54px}.more-button>span:first-child{font-size:16px}
.approach-text{font-size:18px;line-height:1.75;max-width:480px}
.approach-intro{font-size:20px}.approach-photo>img{max-height:none}
.approach-photo>p{flex-wrap:wrap;gap:8px 24px;font-size:16px;letter-spacing:.03em}
.craft-points p{font-size:18px;line-height:1.65}.craft-points strong{font-size:18px}.craft-points>div>span{font-size:16px;min-width:24px}
.session summary{gap:24px}.session-tag{font-size:16px;letter-spacing:.03em}
.session-content{font-size:18px;line-height:1.75;gap:48px}.session-content>p{max-width:460px}
.session-content .inline-link{font-size:18px}.session-footnote{flex-wrap:wrap}
.session-footnote p{font-size:16px}.session-footnote .text-link{font-size:18px;white-space:nowrap}
.closing-action p,.closing-action .inline-link{font-size:18px}
.footer-top p,.footer-bottom,.footer-bottom>span:last-child,.footer-links button{font-size:16px;letter-spacing:.01em}
.footer-bottom{flex-wrap:wrap;row-gap:16px}.back-top{font-size:16px}
.planner{width:720px}.planner-description{font-size:18px;max-width:580px;line-height:1.75}
form>label,.form-row>label,.field-label,.setting-fieldset legend{font-size:16px;line-height:1.6}
.field-label>span,label>span{font-size:16px}.field-label{font-weight:500;color:var(--ink)}
input,select,textarea{font-size:18px;line-height:1.5}input::placeholder,textarea::placeholder{font-size:18px;color:#68685f}
.setting-options span{font-size:16px;min-height:54px;display:flex;align-items:center;justify-content:center;line-height:1.4}
.form-note{font-size:16px;line-height:1.6}#brief-output{font-size:17px;line-height:1.75}
.info-dialog{width:680px}.info-dialog>p{font-size:18px;line-height:1.75}
.credit-list li{font-size:18px;align-items:flex-start}.credit-list li span{font-size:16px;text-align:right}
.modal-top .eyebrow{font-size:16px;line-height:1.5}.close-button{width:44px;height:44px}
.lightbox[open]{display:flex;flex-direction:column}.lightbox-top{height:auto;min-height:44px;flex:none}
.lightbox-top>.eyebrow,.lightbox-top>#lightbox-counter{font-size:16px}.lightbox-top>#lightbox-counter{white-space:nowrap}
.lightbox-stage{flex:1;min-height:0;height:auto}.lightbox-stage img{height:100%;max-height:100%}
.lightbox-caption{height:auto;min-height:112px;flex:none;align-items:flex-start;padding-top:18px;gap:30px}
.lightbox-caption h2{font-size:34px}.lightbox-caption p,.lightbox-credit{font-size:16px;letter-spacing:.03em}
.lightbox-credit{max-width:300px;line-height:1.6}
@media(max-width:1100px){
 .specialties{grid-template-columns:repeat(2,minmax(0,1fr))}.specialties a:nth-child(3),.specialties a:nth-child(4){border-top:0}
 .specialties a:nth-child(3){padding-left:0}.specialties a:nth-child(even){padding-left:27px}
 .session-tag{display:none}.session-plus{margin-left:auto}.session-content{padding-right:0;gap:32px}
 .approach-inner{gap:40px}.approach-copy{min-width:0}
}
@media(min-width:761px) and (max-width:1000px){
 .desktop-nav{display:none}.header-actions{gap:22px}.header-plan{font-size:18px}
 .menu-toggle{display:block;width:44px;height:44px;position:relative}
 .menu-toggle span{width:24px;height:1px;background:var(--ink);position:absolute;left:10px;top:17px;transition:transform .2s}
 .menu-toggle span:last-child{top:25px}.menu-toggle[aria-expanded=true] span{top:21px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{top:21px;transform:rotate(-45deg)}
 .mobile-nav:not([hidden]){position:absolute;display:block;left:0;right:0;top:91px;padding:20px var(--gutter) 27px;background:var(--paper);border-bottom:1px solid var(--ink);z-index:10;box-shadow:0 12px 20px #00000009}
 .mobile-nav>a,.mobile-nav>button{display:flex;align-items:center;justify-content:space-between;width:100%;padding-block:16px;font-size:22px;border-bottom:1px solid var(--line)}
 .mobile-nav span{font-size:16px;color:var(--muted)}.mobile-nav>button{font-size:18px;border:0;padding-top:24px}
 .hero-note{flex-direction:column;align-items:flex-start;padding-top:32px}.hero-thumbnail{display:none}
}
@media(max-width:760px){
 .header{height:90px;gap:12px}.header-actions{gap:10px}.header-plan{font-size:16px;padding:8px 10px;gap:10px;white-space:nowrap}
 .header-plan span{display:none}.menu-toggle{width:32px;flex:none}.mobile-nav:not([hidden]){top:89px}
 .mobile-nav>a{font-size:24px}.mobile-nav>button{font-size:18px}.mobile-nav span{font-size:16px}
 .hero .eyebrow{font-size:16px;line-height:1.5;align-items:baseline}.hero-intro{font-size:18px;line-height:1.75;max-width:100%}
 .hero-explore{font-size:18px;min-height:44px}.hero-figure figcaption,.hero-figure figcaption span:last-child{font-size:16px}
 .image-vertical{font-size:16px;letter-spacing:.08em}.photo-expand{width:44px;height:44px}
 .specialties{gap:0 20px}.specialties a{font-size:18px;min-height:76px;padding:16px 0!important;gap:12px}
 .section-aside{min-width:0;max-width:none}.section-aside p{font-size:18px}.section-aside .small-note{font-size:16px}
 .filters{gap:25px}.filter{font-size:18px;min-height:56px}.filter sup{font-size:16px}
 .portrait-caption h3{font-size:18px}.portrait-caption span{font-size:16px}
 .portrait-grid,.portrait-grid.filtered{gap:32px 16px}.portfolio-bottom .small-note,.portfolio-bottom .inline-link{font-size:16px}
 .more-button{font-size:18px;gap:12px}.more-button>span:first-child{font-size:16px}
 .approach-photo>p{font-size:16px;flex-direction:column;gap:4px}.approach h2{font-size:70px}
 .approach-intro{font-size:20px}.approach-text,.craft-points p,.craft-points strong{font-size:18px;line-height:1.75}
 .craft-points>div{gap:16px}.craft-points>div>span{font-size:16px}.light-link{font-size:18px}
 .session summary{gap:13px}.session-index{font-size:16px;width:24px}.session h3{font-size:28px;letter-spacing:-.04em}
 .session-content{font-size:18px;padding-left:0;gap:20px}.session-content .inline-link{font-size:18px}
 .session-footnote p{font-size:16px;flex:1;min-width:200px}.session-footnote .text-link{font-size:18px;margin-left:0;gap:24px}
 .closing>.eyebrow{font-size:16px;line-height:1.6}.closing-action p,.closing-action .inline-link{font-size:18px}
 .footer-top{display:grid;grid-template-columns:1fr auto;gap:23px 16px}.footer-logo{grid-column:1;grid-row:1}
 .footer-top p{grid-column:1/-1;grid-row:2;font-size:16px}.back-top{grid-column:2;grid-row:1;font-size:16px;gap:14px}
 .footer-bottom{display:flex;align-items:flex-start;flex-direction:column;gap:18px;font-size:16px}.footer-bottom>span:last-child,.footer-links button{font-size:16px}
 .footer-links{gap:26px}.footer-links button{min-height:44px}
 dialog{padding:24px 20px}.planner h2,.info-dialog h2{font-size:56px}.planner-description,.info-dialog>p{font-size:18px}
 .modal-top .eyebrow{font-size:16px}.form-row>label,form>label,.field-label,.field-label>span{font-size:16px}
 .setting-options{flex-direction:column;gap:8px}.setting-options span{font-size:18px;min-height:48px}
 input,select,textarea,input::placeholder,textarea::placeholder{font-size:18px}.solid-button,.outline-button{font-size:18px;gap:12px}
 .form-note{font-size:16px}.credit-list li{flex-direction:column;gap:5px}.credit-list li span{text-align:left;font-size:16px}
 .result-actions{flex-direction:column}.result-actions>button{flex:auto;min-height:52px}.copy-status{font-size:16px}
 .lightbox{padding:18px}.lightbox-top{gap:14px}.lightbox-top>.eyebrow{font-size:16px;max-width:185px}
 .lightbox-top>#lightbox-counter{font-size:16px}.lightbox-stage{height:auto;padding-block:20px}
 .lightbox-caption{display:block;height:auto;min-height:0;padding-top:16px}.lightbox-caption h2{font-size:32px}
 .lightbox-caption p{font-size:16px;max-width:none}.lightbox-credit{font-size:16px;max-width:none;text-align:left;margin-top:12px}
}
@media(max-width:360px){
 .header{gap:8px}.header-plan{padding:8px;font-size:16px}.header-actions{gap:6px}
 .hero .eyebrow{font-size:16px}.hero-intro{font-size:18px}.session h3{font-size:26px}
 .portrait-grid,.portrait-grid.filtered{grid-template-columns:1fr}.portrait:nth-child(even),.portrait-grid.filtered .portrait:nth-child(2),.portrait-grid.filtered .portrait:nth-child(3n+2){margin-top:0}
 .more-button{flex-wrap:wrap;justify-content:flex-start;gap:8px 16px}
 .planner h2,.info-dialog h2{font-size:48px}.lightbox-top>.eyebrow{max-width:120px}
}
