@import "https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500;600;700&display=swap";
:root{--font-serif:"EB Garamond", Georgia, "Times New Roman", serif;--paper:beige;--ink:#8b7355;--ink-deep:#6b5b45;--focus:#423522;--container:1280px}*{box-sizing:border-box;cursor:none!important}.custom-cursor{background:var(--ink);pointer-events:none;z-index:9999;will-change:transform;border-radius:50%;width:10px;height:10px;transition:width .18s,height .18s,background .18s,opacity .18s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.custom-cursor.is-hovering{outline:1.5px solid var(--ink);background:0 0;width:22px;height:22px}.custom-cursor.is-clicking{background:var(--ink-deep);width:8px;height:8px}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;color:var(--ink);font-family:var(--font-serif);margin:0;line-height:1.5}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:4px}svg{display:block}.page-shell{background:var(--paper);min-height:100vh;overflow:hidden}.container{width:min(100% - 48px, var(--container));margin:0 auto}.site-header{justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.brand{align-items:center;min-width:40px;display:inline-flex}.desktop-nav{align-items:center;gap:32px;display:flex}.desktop-nav a,.mobile-nav a,.scroll-cue,.social-links a{transition:color .18s,transform .18s}.desktop-nav a:hover,.mobile-nav a:hover,.scroll-cue:hover,.social-links a:hover{color:var(--ink-deep)}.header-actions{align-items:center;gap:16px;display:flex}.button{background:var(--ink);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:12px 24px;font-weight:500;transition:background .18s,transform .18s;display:inline-flex}.button:hover{background:var(--ink-deep);transform:translateY(-1px)}.button-small{min-height:40px;padding:8px 16px}.menu-button{background:var(--ink);color:#fff;cursor:pointer;border:0;place-items:center;width:42px;height:42px;transition:background .18s;display:none}.menu-button:hover{background:var(--ink-deep)}.menu-button svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.mobile-nav{display:none}.hero{grid-template-columns:minmax(0,1fr) minmax(420px,1fr);align-items:center;gap:48px;max-height:calc(100vh - 88px);padding-top:32px;padding-bottom:32px;display:grid}.hero-copy{align-content:center;gap:32px;display:grid}h1,h2,h3,p{margin:0}h1{letter-spacing:0;min-height:.92em;font-size:clamp(60px,6.5vw,98px);font-weight:300;line-height:.92}.hero-copy.typing h1:after{content:"";background:currentColor;width:2px;height:.72em;margin-left:6px;animation:.76s step-end infinite caret-blink;display:inline-block;transform:translateY(8px)}.type-intro{gap:2px;max-width:420px;font-size:18px;line-height:1.35;display:grid}.type-intro span{min-height:1.35em}.hero-copy.typing .type-intro span:last-child:after{content:"";background:currentColor;width:1px;height:.92em;margin-left:3px;animation:.76s step-end infinite caret-blink;display:inline-block;transform:translateY(2px)}.scroll-cue{width:max-content;animation:1.8s ease-in-out infinite pulse}.portrait-wrap{background:#0f0f0f;border-radius:16px;height:calc(100vh - 152px);max-height:820px;position:relative;overflow:hidden}.portrait-wrap img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.about-hero{text-align:center;justify-items:center;padding-top:64px;padding-bottom:48px;display:grid}.about-lede{gap:18px;max-width:900px;display:grid}.about-lede h1{font-size:clamp(56px,5.6vw,86px)}.about-kicker{font-size:clamp(23px,2.4vw,32px);line-height:1.12}.about-lede p:not(.about-kicker),.about-section p,.expertise-list{font-size:19px}.about-content{gap:44px;max-width:980px;padding-top:44px;padding-bottom:40px;display:grid}.about-section{gap:18px;display:grid}.about-section h2{font-size:clamp(36px,4vw,50px);font-weight:300;line-height:1.08}.about-section p{line-height:1.52}.expertise-list{gap:12px;margin:0;padding-left:28px;line-height:1.4;display:grid}.expertise-list li::marker{color:var(--ink-deep)}.about-cta{padding-top:88px}.portfolio-page{padding-top:72px;padding-bottom:88px}.portfolio-page .section-heading{margin-bottom:56px}.portfolio-page h1{font-size:clamp(58px,5.8vw,86px)}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}a.portfolio-tile{text-decoration:none;display:grid}.portfolio-tile{border:1px solid color-mix(in srgb, var(--ink) 48%, transparent);border-radius:8px;align-content:start;gap:14px;min-height:260px;padding:28px;transition:transform .18s,border-color .18s,background .18s;display:grid}.portfolio-tile:hover{border-color:var(--ink);background:color-mix(in srgb, var(--ink) 5%, transparent);transform:translateY(-3px)}.portfolio-type{border:1px solid color-mix(in srgb, var(--ink) 50%, transparent);border-radius:999px;width:max-content;padding:4px 12px;font-size:16px;line-height:1.1}.portfolio-tile h2{font-size:clamp(25px,2.6vw,34px);font-weight:500;line-height:1.02}.portfolio-tile p{font-size:18px;line-height:1.42}.site-social-links{justify-content:center;gap:44px;padding-bottom:80px;display:flex}.site-social-links a{width:52px;height:52px;color:var(--ink);place-items:center;transition:color .18s,transform .18s;display:grid}.site-social-links a:hover{color:var(--ink-deep);transform:translateY(-2px)}.site-social-links svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:34px;height:34px}.site-social-links a:first-child svg,.site-social-links a:nth-child(2) svg,.site-social-links a:nth-child(3) svg,.site-social-links a:nth-child(4) svg{fill:currentColor;stroke:none}.services-page{padding-top:72px;padding-bottom:72px}.services-page .section-heading{margin-bottom:64px}.services-page h1{font-size:clamp(58px,5.8vw,86px)}.services-list{gap:28px;display:grid}.service-detail{border-top:1px solid color-mix(in srgb, var(--ink) 48%, transparent);gap:28px;padding-top:32px;display:grid}.service-detail h2{font-size:clamp(30px,3.4vw,44px);font-weight:400;line-height:1.05}.service-summary{margin-top:8px;font-size:20px;line-height:1.25}.service-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;display:grid}.service-detail h3{margin:0 0 12px;font-size:20px}.service-detail ul{gap:10px;margin:0;padding-left:24px;font-size:18px;line-height:1.35;display:grid}.service-detail li::marker{color:var(--ink-deep)}.services-cta{padding-top:72px}.service-flip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding-bottom:88px;display:grid}.svc-flip-wrap{perspective:1000px;height:320px}.svc-flip{width:100%;height:100%;transform-style:preserve-3d;transition:transform .52s;position:relative}.svc-flip-wrap:hover .svc-flip{transform:rotateY(180deg)}.svc-front,.svc-back{border:1px solid color-mix(in srgb, var(--ink) 28%, transparent);backface-visibility:hidden;border-radius:8px;flex-direction:column;justify-content:center;gap:16px;padding:36px 40px;display:flex;position:absolute;inset:0;overflow:hidden}.svc-front{background:var(--paper)}.svc-back{background:var(--ink);color:var(--paper);transform:rotateY(180deg)}.svc-front h2{margin:0;font-size:clamp(22px,2.2vw,30px);font-weight:400;line-height:1.1}.svc-summary{opacity:.72;margin:0;font-size:16px}.svc-front ul,.svc-back ul{gap:6px;margin:0;padding-left:20px;font-size:16px;line-height:1.4;display:grid}.svc-back h3{margin:0;font-size:20px;font-weight:500}@media (max-width:760px){.service-flip-grid{grid-template-columns:1fr}.svc-flip-wrap{height:auto;min-height:280px}}.services-cta p{font-size:20px}.bookshelf-page{grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:32px;min-height:calc(100vh - 96px);padding-top:48px;padding-bottom:72px;display:grid}.bookshelf-shelf,.book-notes-panel{border:1px solid color-mix(in srgb, var(--ink) 32%, transparent);background:color-mix(in srgb, var(--paper) 94%, #fff);border-radius:8px}.bookshelf-shelf{align-content:start;gap:22px;padding:26px;display:grid;position:sticky;top:24px}.bookshelf-intro{gap:10px;display:grid}.bookshelf-intro h1{font-size:clamp(46px,4.8vw,68px)}.bookshelf-intro p{font-size:18px;line-height:1.25}.book-stack{gap:14px;display:grid}.book-spine{border:1px solid color-mix(in srgb, var(--ink) 26%, transparent);border-radius:8px;gap:6px;padding:18px;transition:background .18s,border-color .18s,transform .18s;display:grid}.book-spine:hover,.book-spine.is-selected{border-color:var(--ink);background:color-mix(in srgb, var(--ink) 6%, transparent);transform:translate(2px)}.book-status,.book-meta span{border:1px solid color-mix(in srgb, var(--ink) 44%, transparent);border-radius:999px;width:max-content;padding:4px 10px;font-size:15px;line-height:1}.book-spine h2{font-size:24px;font-weight:500;line-height:1.04}.book-spine p{font-size:16px}.book-notes-panel{align-content:start;gap:22px;min-width:0;padding:clamp(24px,4vw,42px);display:grid;overflow:hidden}.book-meta{flex-wrap:wrap;gap:10px;display:flex}.book-notes-panel h2{font-size:clamp(42px,4.8vw,68px);font-weight:300;line-height:.98}.book-subtitle{max-width:700px;font-size:23px;line-height:1.18}.book-note-section{gap:12px;max-width:760px;display:grid}.book-note-section h3{font-size:28px;line-height:1.08}.book-note-section p,.book-note-section li{font-size:18px;line-height:1.45}.book-note-section ul{gap:8px;margin:0;padding-left:24px;display:grid}.notes-page{grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr)}.notes-intro-panel{min-height:420px}.notes-filter-stack{flex-wrap:wrap;gap:10px;display:flex}.notes-list-panel{align-content:start;gap:0;padding-top:8px;display:grid}.note-row{border-bottom:1px solid color-mix(in srgb, var(--ink) 24%, transparent);grid-template-columns:minmax(0,1fr) auto minmax(92px,auto);align-items:baseline;gap:18px;padding:24px 0;transition:color .18s,padding-left .18s;display:grid}.note-row:first-child{border-top:1px solid color-mix(in srgb, var(--ink) 24%, transparent)}.note-row:hover{color:var(--focus);padding-left:10px}.note-title{font-size:clamp(28px,3.2vw,42px);font-weight:400;line-height:1}.note-arrow{font-size:20px;line-height:1}.note-row time{color:color-mix(in srgb, var(--ink) 76%, transparent);justify-self:end;font-size:16px;line-height:1}.note-article{gap:28px;max-width:880px;padding-top:56px;padding-bottom:88px;display:grid}.note-back-link{border-bottom:1px solid;width:max-content;font-size:19px;line-height:1.1}.note-article-header{border-bottom:1px solid color-mix(in srgb, var(--ink) 26%, transparent);gap:16px;padding-bottom:30px;display:grid}.note-article-header time{color:color-mix(in srgb, var(--ink) 76%, transparent);font-size:18px}.note-article-header h1{max-width:820px;font-size:clamp(46px,5.8vw,78px);font-weight:300;line-height:.98}.note-title-link{display:inline}.note-title-link span{margin-left:.16em;font-size:.56em;line-height:1;display:inline-block;transform:translateY(-.16em)}.note-article-header p{font-size:20px;line-height:1.2}.note-article-body{gap:24px;max-width:760px;display:grid}.note-article-body p{font-size:clamp(20px,2vw,26px);line-height:1.36}.note-link-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.note-link-list a{border-bottom:1px solid;font-size:clamp(24px,3vw,36px);line-height:1.1;display:inline-block}.note-viewer{max-height:calc(100vh - 96px);position:sticky;top:24px;overflow-y:auto}.note-viewer-empty{opacity:.45;place-items:center;min-height:300px;font-size:18px;display:grid}.note-viewer-toolbar{justify-content:flex-end;align-items:center;min-height:36px;margin-bottom:10px;display:flex}.note-viewer-close{border:1px solid color-mix(in srgb, var(--ink) 36%, transparent);width:32px;height:32px;color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;place-items:center;font-size:20px;line-height:1;transition:border-color .18s,background .18s;display:grid}.note-viewer-close:hover{border-color:var(--ink);background:color-mix(in srgb, var(--ink) 8%, transparent)}.book-cover{width:96px;height:auto;box-shadow:0 4px 12px color-mix(in srgb, var(--ink) 18%, transparent);border-radius:4px;margin-bottom:20px;display:block}button.book-spine{text-align:left;border:1px solid color-mix(in srgb, var(--ink) 26%, transparent);width:100%;font-family:var(--font-serif);color:var(--ink);cursor:pointer;background:0 0}.note-article-body h2{font-size:clamp(26px,2.8vw,34px);font-weight:400;line-height:1.1}.note-img{border-radius:8px;width:100%;height:auto}.embed-video{aspect-ratio:16/9;position:relative}.embed-video iframe{border:0;border-radius:8px;width:100%;height:100%;position:absolute;inset:0}.contact-page{gap:24px;width:min(100% - 64px,760px);margin:0 auto 0 clamp(24px,6vw,88px);padding-top:20px;padding-bottom:96px;display:grid}.contact-copy{gap:18px;display:grid}.contact-copy h1{font-size:clamp(44px,4.6vw,58px);font-weight:300;line-height:1.04}.contact-copy p{font-size:18px;line-height:1.34}.contact-form{gap:10px;display:grid}.contact-form label{font-size:18px;font-weight:500}.contact-form input,.contact-form textarea{border:1px solid color-mix(in srgb, var(--ink) 16%, transparent);background:color-mix(in srgb, #fff 78%, var(--paper));width:100%;color:var(--ink-deep);font:inherit;border-radius:6px;padding:10px 16px;font-size:18px}.contact-form textarea{resize:vertical;min-height:104px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:color-mix(in srgb, var(--ink) 52%, #aaa)}.contact-submit{cursor:pointer;width:100%;font-family:var(--font-serif);border:0;margin-top:14px;font-size:18px}.contact-submit:disabled{opacity:.6;cursor:not-allowed}.contact-field-error{color:sienna;min-height:1.2em;font-size:15px}.contact-success{border:1px solid color-mix(in srgb, var(--ink) 40%, transparent);border-radius:8px;padding:16px 20px;font-size:18px}.contact-error{color:sienna;border:1px solid sienna;border-radius:8px;padding:16px 20px;font-size:18px}.memory-grid-section{--memory-card-width:clamp(240px, 32vw, 340px);--memory-side-space:max(24px, calc((100% - var(--memory-card-width)) / 2));padding-top:48px;padding-bottom:48px}.memory-carousel-shell{width:min(100%,1040px);margin:0 auto;position:relative}.memory-carousel-button{z-index:2;border:1px solid color-mix(in srgb, var(--ink) 22%, transparent);background:color-mix(in srgb, var(--paper) 88%, #fff);width:46px;height:46px;color:var(--ink);cursor:pointer;border-radius:999px;place-items:center;transition:background .18s,border-color .18s,transform .18s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.memory-carousel-button:hover{background:color-mix(in srgb, var(--ink) 9%, var(--paper));border-color:color-mix(in srgb, var(--ink) 38%, transparent);transform:translateY(-50%)scale(1.04)}.memory-carousel-button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.memory-carousel-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:22px;height:22px}.memory-carousel-button-prev{left:12px}.memory-carousel-button-next{right:12px}.memory-grid{scroll-snap-type:x mandatory;width:100%;scroll-padding-inline:var(--memory-side-space);padding:22px var(--memory-side-space) 42px;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;gap:clamp(22px,4vw,46px);margin:28px auto 0;display:flex;overflow-x:scroll;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.memory-grid::-webkit-scrollbar{display:none}.photo-flip-wrap{width:var(--memory-card-width);perspective:900px;scroll-snap-align:center;opacity:.38;transform-style:preserve-3d;flex-shrink:0;transition:opacity .4s,transform .4s;transform:scale(.82)}.photo-flip-wrap.is-active{opacity:1;transform:translateY(-8px)scale(1)}.photo-flip{border:1px solid color-mix(in srgb, var(--ink) 16%, transparent);background:color-mix(in srgb, var(--paper) 92%, #fff);width:100%;min-height:100%;box-shadow:0 18px 46px color-mix(in srgb, var(--ink) 12%, transparent);transform-style:preserve-3d;border-radius:8px;padding:10px;position:relative}.photo-front,.photo-back{backface-visibility:hidden;border-radius:5px;position:relative;overflow:hidden}.photo-front{aspect-ratio:3/4}.photo-front img{object-fit:cover;width:100%;height:100%;display:block}.photo-placeholder{background:color-mix(in srgb, var(--ink) 8%, var(--paper));border:1px dashed color-mix(in srgb, var(--ink) 30%, transparent);color:color-mix(in srgb, var(--ink) 50%, transparent);place-items:center;font-size:15px;display:grid}.photo-back{color:color-mix(in srgb, var(--ink) 88%, #444);background:0 0;min-height:42px;padding:10px 2px 0;display:block}.photo-back p{margin:0;font-size:15px;font-style:italic;line-height:1.3}@media (max-width:960px){.memory-grid-section{--memory-card-width:clamp(230px, 64vw, 300px)}}@media (max-width:640px){.memory-grid-section{--memory-card-width:min(74vw, 270px)}.memory-carousel-shell{width:calc(100% + 32px);margin-inline:-16px}.memory-carousel-button{width:38px;height:38px;top:calc(50% + 8px)}.memory-carousel-button-prev{left:8px}.memory-carousel-button-next{right:8px}.memory-carousel-button svg{width:19px;height:19px}.memory-grid{gap:18px;-webkit-mask-image:none;mask-image:none}}.other-page{padding-top:48px;padding-bottom:88px;display:grid}.other-copy{text-align:left;gap:22px;max-width:920px;margin:0;display:grid}.other-copy p{font-size:clamp(23px,2.4vw,32px);line-height:1.14}.other-list{text-align:left;gap:16px;max-width:760px;margin:0;padding-left:28px;font-size:20px;line-height:1.35;display:grid}.other-list li::marker{color:var(--ink-deep)}.other-list a{color:var(--ink-deep);border-bottom:1px solid;transition:color .18s,border-color .18s}.other-list a:hover{color:var(--focus);border-color:var(--focus)}.client-slide{padding-top:32px;padding-bottom:96px}.client-slide-heading{text-align:center;gap:10px;margin-bottom:36px;display:grid}.client-slide-heading h2{font-size:clamp(38px,4.2vw,58px);font-weight:300;line-height:1.04}.client-slide-heading p{font-size:18px}.client-logo-track{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.client-logo-card{border:1px solid color-mix(in srgb, var(--ink) 34%, transparent);background:color-mix(in srgb, var(--paper) 94%, #fff);border-radius:8px;place-items:center;min-height:138px;padding:24px;transition:transform .18s,border-color .18s,background .18s;display:grid}.client-logo-card:hover{border-color:var(--ink);background:color-mix(in srgb, var(--ink) 5%, var(--paper));transform:translateY(-3px)}.logo-mark{max-width:100%;color:color-mix(in srgb, var(--ink) 88%, #111);text-align:center;overflow-wrap:anywhere;font-size:clamp(23px,2.5vw,32px);font-weight:600;line-height:1;display:block}.logo-conoco{letter-spacing:.02em;font-size:clamp(24px,2.4vw,34px)}.logo-moneygram{font-weight:700}.logo-desjardins{font-style:italic}.logo-salesforce{border:2px solid;border-radius:999px;padding:10px 18px 12px;font-size:clamp(24px,2.6vw,36px)}.logo-paloalto{text-transform:uppercase;letter-spacing:.04em;font-size:clamp(22px,2.3vw,32px)}.client-logo-empty{opacity:.68;border-style:dashed}.client-logo-img{object-fit:contain;width:120px;height:120px;display:block}.memory-carousel-heading{text-align:center;gap:10px;max-width:680px;margin:0 auto 28px;display:grid}.memory-carousel-heading h2{font-size:clamp(38px,4.2vw,56px);font-weight:300;line-height:1.04}.memory-carousel-heading p{font-size:18px}.services,.contact{padding-top:72px;padding-bottom:72px}.section-heading{text-align:center;gap:16px;margin-bottom:32px;display:grid}.section-heading h2{letter-spacing:0;max-width:1040px;margin:0 auto;font-size:clamp(36px,4.5vw,56px);font-weight:300;line-height:1.08}.section-heading p{font-size:18px}.service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;display:grid}.service-item{perspective:900px;min-width:0;height:220px}.service-flip{width:100%;height:100%;transform-style:preserve-3d;transition:transform .48s;position:relative}.service-item:hover .service-flip{transform:rotateY(180deg)}.service-front,.service-back{border:1px solid color-mix(in srgb, var(--ink) 28%, transparent);backface-visibility:hidden;border-radius:8px;flex-direction:column;justify-content:center;gap:16px;padding:28px 24px;display:flex;position:absolute;inset:0}.service-front{background:var(--paper)}.service-back{background:var(--ink);color:var(--paper);transform:rotateY(180deg)}.service-item svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:48px;height:48px}.service-item h3{font-size:24px;line-height:1.2}.service-back p{margin:0;font-size:20px;line-height:1.4}.contact{text-align:center;justify-items:center;gap:28px;display:grid}.handshake-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:64px;height:64px}.contact h2{letter-spacing:0;font-size:clamp(32px,3.6vw,46px);font-weight:300;line-height:1.12}.social-links{justify-content:center;align-items:center;gap:24px;padding-top:4px;display:flex}.social-links a:hover{transform:translateY(-1px)}.social-links svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.site-footer{border-top:1px solid var(--ink);padding:32px 0}.site-footer p{font-size:14px}.reveal{opacity:0;animation:.64s forwards rise-in;transform:translateY(18px)}.reveal-delay{animation-delay:.12s}@keyframes rise-in{to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.48}}@keyframes caret-blink{50%{opacity:0}}@media (max-width:960px){.desktop-nav,.desktop-contact{display:none}.menu-button{display:grid}.mobile-nav{opacity:0;grid-template-columns:1fr;gap:16px;max-height:0;padding:0 24px;transition:max-height .24s,opacity .18s,padding .24s;display:grid;overflow:hidden}.mobile-nav.open{opacity:1;max-height:360px;padding:6px 24px 24px}.hero{grid-template-columns:1fr}.portrait-wrap{min-height:58vh}.about-hero{padding-top:72px}.service-grid,.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-columns{grid-template-columns:1fr;gap:24px}.bookshelf-page{grid-template-columns:1fr}.bookshelf-shelf{position:static}.notes-intro-panel{min-height:auto}.client-logo-track{scroll-snap-type:x mandatory;gap:16px;margin-inline:-24px;padding:0 24px 10px;display:flex;overflow-x:auto}.client-logo-card{scroll-snap-align:center;flex:0 0 min(78vw,360px)}.carousel-shell{grid-template-columns:44px minmax(0,1fr) 44px;gap:12px}.carousel-stage{min-height:430px}.carousel-card{width:min(360px,72vw)}}@media (max-width:640px){.container{width:min(100% - 32px, var(--container))}.site-header{padding:24px 16px}.hero{gap:40px;padding-top:32px}.about-hero{padding-top:32px;padding-bottom:56px}.about-lede p:not(.about-kicker),.about-section p,.expertise-list{font-size:18px}.about-content{gap:40px;padding-top:40px}.portfolio-page{padding-top:72px;padding-bottom:88px}.portfolio-page .section-heading{margin-bottom:40px}.portfolio-grid{grid-template-columns:1fr}.portfolio-tile{min-height:220px;padding:24px}.site-social-links{gap:28px;padding-bottom:64px}.services-page{padding-top:72px;padding-bottom:64px}.services-page .section-heading{margin-bottom:44px}.service-detail{gap:22px;padding-top:28px}.service-summary{font-size:19px}.service-detail ul{font-size:18px}.other-page{min-height:auto;padding-top:72px;padding-bottom:88px}.bookshelf-page{padding-top:52px;padding-bottom:80px}.bookshelf-shelf,.book-notes-panel{padding:24px}.note-row{grid-template-columns:minmax(0,1fr) auto;gap:10px 14px}.note-row time{grid-column:1/-1;justify-self:start}.note-article{padding-top:40px;padding-bottom:72px}.note-article-header h1{font-size:clamp(40px,13vw,54px)}.note-article-body p,.book-subtitle{font-size:20px}.contact-page{width:min(100% - 32px,760px);margin:0 auto;padding-top:32px;padding-bottom:80px}.other-list{font-size:18px}.client-slide{padding-top:16px;padding-bottom:76px}.client-slide-heading{margin-bottom:28px}.memory-carousel-heading{margin-bottom:24px}.hero-copy{gap:28px}h1{font-size:clamp(52px,18vw,72px)}.section-heading h2{font-size:clamp(34px,12vw,46px)}.service-grid{grid-template-columns:1fr;gap:40px}.service-item p{max-width:100%}.services,.contact{padding-top:80px;padding-bottom:80px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
