:root{--ink:#182c32;--muted:#626969;--paper:#fff;--soft:#f2f4f3;--line:#dfe4e2;--accent:#b39360;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:6px}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input,textarea,select,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08}h1{font-size:clamp(3.1rem,5.4vw,6rem);letter-spacing:-.045em}h2{font-size:clamp(2.5rem,4vw,4.4rem);letter-spacing:-.04em}h3{font-size:2rem;letter-spacing:-.025em}em{font-weight:400}p{margin-bottom:1.2rem}.wrap{width:min(1320px,90%);margin:auto}.eyebrow{font:500 .76rem/1.7 var(--sans);text-transform:uppercase;letter-spacing:.19em;color:var(--accent);margin-bottom:1.8rem}.muted{color:var(--muted)}.skip{position:absolute;left:1rem;top:-200px;z-index:50;background:#fff;padding:1rem}.skip:focus{top:1rem}.header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:20}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:105px}.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1.1;flex-shrink:0}.brand strong{font:400 2.35rem/1.15 var(--serif);letter-spacing:-.05em}.brand-dot{color:var(--accent)}.brand>span{font-size:.75rem;letter-spacing:.2em;margin-top:.35rem}.nav{display:flex;align-items:center;gap:2.2rem;font-size:.875rem}.nav a{text-decoration:none;padding:.75rem 0}.nav a:hover,.nav a[aria-current]{color:#8b6b39}.nav .nav-contact{border:1px solid var(--ink);padding:.75rem 1.15rem;transition:background .2s,color .2s}.nav .nav-contact:hover{background:var(--ink);color:white}.mobile-menu{display:none}.hero{display:grid;grid-template-columns:44% 56%;min-height:660px;background:var(--ink);color:white}.hero-copy{padding:76px 8% 60px max(7.1vw,calc((100vw - 1320px)/2));display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero h1{font-size:clamp(3.1rem,5.1vw,5.7rem);margin-bottom:1.7rem;line-height:1.09;white-space:nowrap}.hero h1 em{color:#d9bd8e}.hero-description{font-size:1rem;color:#d5dedc;line-height:1.75}.actions{display:flex;align-items:center;gap:1.75rem;flex-wrap:wrap;margin-top:1.1rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:.85rem 1.5rem;border:1px solid var(--ink);background:var(--ink);color:white;text-decoration:none;font-size:.875rem;font-weight:500;transition:background .2s,color .2s}.button:hover{background:#2f474d}.button.light{background:white;color:var(--ink);border-color:white}.button.light:hover{background:#e8eeeb}.button.secondary{background:transparent;color:var(--ink)}.button.secondary:hover{background:var(--ink);color:white}.quiet-link{font-size:.875rem;text-decoration:none;border-bottom:1px solid #8c9b9e;padding:.4rem 0}.hero-signoff{display:flex;align-items:center;gap:13px;margin-top:3rem;font-size:.75rem;letter-spacing:.025em;color:#c4cfcb}.fine-rule{height:1px;width:30px;background:#a58d67}.hero-art{position:relative;min-width:0;overflow:hidden}.hero-main{width:100%;height:100%;object-fit:cover;object-position:center}.hero-art:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#14232790);pointer-events:none}.hero-photo-label{position:absolute;z-index:1;left:35px;right:35px;bottom:30px;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.75rem;letter-spacing:.1em}.hero-photo-label a{font-size:.85rem;letter-spacing:0}.trust-strip{border-bottom:1px solid var(--line);background:#f7f8f7}.trust-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:100px;font-size:.8rem}.trust-inner p{margin:0}.trust-large{font:italic 2.2rem var(--serif);color:var(--ink);vertical-align:middle;margin-right:8px}.trust-divider{height:24px;width:1px;background:var(--line)}.section{padding:95px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;margin-bottom:45px}.section-heading h2{margin:0}.section-heading>p{max-width:330px;color:var(--muted);font-size:.95rem;margin-bottom:.3rem}.text-link{font-size:.875rem;text-decoration:none;border-bottom:1px solid #a8b2ae;padding-bottom:5px;display:inline-block}.text-link:hover{border-color:var(--ink)}.cta{padding:80px 0;background:var(--ink);color:#fff}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:3rem}.cta h2{margin-bottom:0}.cta h2 em{color:#d9bd8e}.cta .eyebrow{color:#d9bd8e}.cta-side p{font-size:.9rem;color:#d4dfda;margin-bottom:1.8rem}.footer{background:#f6f8f6;padding:65px 0 0}.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1.3fr 1fr;gap:3rem;padding-bottom:55px}.footer h3{font:600 .75rem var(--sans);letter-spacing:.1em;text-transform:uppercase;margin:10px 0 22px}.footer-top p{font-size:.875rem;color:var(--muted);margin-top:1.5rem}.footer-links{display:flex;flex-direction:column;gap:.55rem;font-size:.8rem;overflow-wrap:anywhere}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);padding:24px 0;display:flex;justify-content:space-between;gap:1.5rem;font-size:.75rem;color:var(--muted)}.lightbox{border:none;background:#102126;color:white;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:75px 70px;overflow:hidden}.lightbox::backdrop{background:#102126}.lightbox[open]{display:grid;place-items:center}.lightbox img{max-width:100%;max-height:calc(100dvh - 155px);width:auto;height:auto;object-fit:contain}.lightbox button{border:1px solid #ffffff55;background:transparent;color:white;min-height:44px;min-width:44px;padding:8px 15px;font-size:.875rem}.lightbox-close{position:absolute;top:20px;right:25px}.lightbox-close span{font-size:1.5rem;vertical-align:middle;margin-left:20px}.lightbox-controls{display:flex;align-items:center;gap:25px;position:absolute;bottom:20px;left:50%;transform:translateX(-50%)}.lightbox-controls span{white-space:nowrap;font-size:.875rem}
@media(min-width:1600px){.hero-copy{padding-left:max(7vw,calc((100vw - 1320px)/2))}.hero{min-height:740px}.hero h1{font-size:5.7rem}}
@media(max-width:1100px){.nav{gap:1.2rem}.hero{grid-template-columns:47% 53%;min-height:610px}.hero-copy{padding:65px 8% 55px 10%}.hero h1{font-size:4.7vw}.hero .actions{gap:1rem}.hero-photo-label{left:20px;right:20px;flex-direction:column;align-items:flex-start}.footer-top{gap:2rem}.footer-top{grid-template-columns:1.2fr 1fr 1.3fr}}
@media(max-width:820px){.desktop-nav{display:none}.header-inner{min-height:85px}.mobile-menu{display:block;position:relative}.mobile-menu summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:24px auto;align-items:center;gap:5px 10px;padding:10px;min-height:44px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{width:24px;height:1px;background:var(--ink)}.mobile-menu summary b{font-size:.8rem;font-weight:500;grid-column:2;grid-row:1/3}.mobile-menu .nav{position:absolute;right:0;top:55px;display:flex;flex-direction:column;align-items:stretch;gap:.4rem;background:white;border:1px solid var(--line);padding:24px;min-width:270px;z-index:30;box-shadow:0 15px 40px #172c3220}.hero{grid-template-columns:1fr 1fr;min-height:560px}.hero-copy{padding:45px 8% 40px 10%}.hero h1{font-size:5.2vw}.hero-description{font-size:.9rem}.hero-signoff{margin-top:2rem;line-height:1.5}.hero .actions{align-items:flex-start;flex-direction:column}.trust-inner{flex-wrap:wrap;justify-content:center;gap:14px 25px;padding:24px 0}.trust-inner p{font-size:.75rem}.trust-divider{display:none}.trust-large{font-size:1.8rem}.section{padding:65px 0}.section-heading{flex-direction:column;align-items:flex-start;gap:25px}.section-heading>p{max-width:550px}.cta-inner{align-items:flex-start;flex-direction:column;gap:35px}.cta{padding:60px 0}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-top>div:first-child{grid-column:1/-1}.footer-bottom{flex-wrap:wrap;gap:10px 25px}.lightbox{padding:75px 16px}.brand strong{font-size:2rem}}
@media(max-width:600px){.hero{display:flex;flex-direction:column}.hero-copy{padding:48px 7% 42px}.hero h1{font-size:clamp(2.9rem,10.5vw,4rem);white-space:normal}.hero-description{font-size:.95rem}.hero .actions{flex-direction:row;align-items:center;gap:22px}.hero-signoff{display:none}.hero-art{height:430px}.hero-main{height:100%;object-position:center 40%}.hero-photo-label{flex-direction:row;align-items:center;bottom:20px;font-size:.75rem}.hero .eyebrow{font-size:.75rem;margin-bottom:1.5rem}.trust-inner{display:grid;grid-template-columns:1fr 1fr;justify-items:start;gap:15px}.trust-inner p:first-child{display:flex;align-items:center;gap:5px}.trust-large{font-size:1.5rem;margin:0}.footer-links{font-size:.8rem}.footer-top{column-gap:25px}.footer-top>div:nth-child(3){grid-column:1/-1}.footer{padding-top:50px}.footer-top{padding-bottom:40px}.lightbox-controls{gap:15px}.lightbox-controls button{font-size:.75rem}.footer-bottom{font-size:.75rem}.button{padding:.85rem 1.25rem}.hero-signoff{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

[hidden]{display:none!important}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 28px}.card{text-decoration:none;min-width:0}.photo{position:relative;overflow:hidden;aspect-ratio:4/5;background:var(--soft)}.photo img{width:100%;height:100%;object-fit:cover;object-position:var(--position,center);transition:transform .6s}.card:hover img{transform:scale(1.035)}.card-explore{position:absolute;left:20px;bottom:20px;color:white;font-size:.75rem;letter-spacing:.025em;border:1px solid #ffffff99;padding:7px 14px;background:#152d3260;opacity:0;transition:opacity .2s}.card:hover .card-explore,.card:focus-visible .card-explore{opacity:1}.card-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-top:21px}.card-top h3{font-size:1.8rem;margin-bottom:9px}.number{font-size:.75rem;color:var(--muted)}.card p{font-size:.875rem;color:var(--muted);margin:0}.collection-bottom{border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:25px;padding:38px 0 26px}.collection-bottom p{margin:0;font-size:.875rem;color:var(--muted)}.school-feature{background:#eef2ef;padding:85px 0}.school-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:10%}.school-images{position:relative;height:520px}.school-photo{height:440px;width:65%;object-fit:cover;object-position:50% 40%}.business-photo{position:absolute;right:0;bottom:0;width:47%;height:300px;object-fit:cover;border:8px solid #eef2ef}.school-copy>p:not(.eyebrow){color:var(--muted);max-width:410px;font-size:.95rem}.service-lines{margin-top:30px}.service-lines a{display:flex;align-items:center;gap:23px;border-top:1px solid #cbd5cf;text-decoration:none;padding:17px 0;font-size:1.05rem;font-family:var(--serif)}.service-lines a:last-child{border-bottom:1px solid #cbd5cf}.service-lines a:hover{color:#856535}.service-lines span{font:400 .75rem var(--sans);color:var(--muted)}.about-grid{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:10%}.about-art{position:relative;padding:0 30px 40px 0}.about-photo{height:520px;width:100%;object-fit:cover;object-position:56% 50%}.experience-mark{position:absolute;right:0;bottom:0;background:var(--ink);color:white;width:190px;padding:25px;min-height:180px;display:flex;flex-direction:column;justify-content:space-between}.experience-mark strong{font:400 2.5rem/1 var(--serif);letter-spacing:-.04em}.experience-mark em{color:#d9bd8e}.experience-mark span{font-size:.75rem;letter-spacing:.1em;margin-top:20px}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:.95rem}.about-copy h2{margin-bottom:25px}.about-copy .text-link{margin-top:15px}.quote-section{background:#f6f8f7;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quote{padding:75px 0;text-align:center;max-width:900px}.quote .eyebrow{margin-bottom:30px}.quote blockquote{font:italic 2rem/1.5 var(--serif);letter-spacing:-.025em;margin:0 0 28px}.quote-credit{font-size:.75rem;letter-spacing:.15em;color:var(--muted);margin:0}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px}.steps>div{border-top:1px solid var(--line);padding-top:25px}.steps span{font-size:.75rem;letter-spacing:.1em;color:#8d7046}.steps h3{font-size:1.75rem;margin:23px 0 16px}.steps p{font-size:.9rem;color:var(--muted);margin:0}.client-band{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line);padding:48px 0 65px}.client-band>div+div{padding-left:60px;border-left:1px solid var(--line)}.client-band h3{font-size:1.75rem;margin-bottom:15px}.client-band p:not(.eyebrow){font-size:.875rem;color:var(--muted)}.client-band .eyebrow{font-size:.75rem;margin-bottom:16px}.page-intro{padding:85px 0 60px}.page-intro .eyebrow{margin-bottom:24px}.page-intro h1{margin-bottom:28px;max-width:1000px}.page-intro>p:not(.eyebrow){max-width:630px;color:var(--muted);font-size:1.05rem}.page-intro h1 em{color:#8d7046}.collection-page{padding-bottom:65px}.extra-services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 30px}.extra-services>a{border-top:1px solid var(--line);padding-top:25px;text-decoration:none}.extra-services h3{font-size:1.5rem;margin-bottom:15px}.extra-services p{font-size:.875rem;color:var(--muted);min-height:50px}.extra-services .text-link{font-size:.8rem}.service-hero{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:10%;padding:70px 0 80px}.service-hero h1{margin-bottom:25px}.service-hero h1 em{color:#8d7046}.service-hero .eyebrow{margin-top:40px;margin-bottom:20px}.breadcrumb{font-size:.75rem;text-decoration:none;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:4px}.service-description{font-size:1.05rem;color:var(--muted);max-width:510px;margin-bottom:30px}.service-hero-art{position:relative;padding-left:25px}.service-hero-photo{width:100%;height:560px;object-fit:cover;object-position:var(--position,center)}.vertical-caption{position:absolute;left:0;bottom:0;font-size:.75rem;letter-spacing:.12em;writing-mode:vertical-rl;transform:rotate(180deg);color:var(--muted)}.service-details{padding-bottom:5px}.service-details .steps h3{font-size:1.65rem}.gallery-grid{columns:3;column-gap:24px}.gallery-grid a{display:block;break-inside:avoid;margin-bottom:24px;overflow:hidden;background:#eef1ef}.gallery-grid img{width:100%;height:auto;transition:transform .5s}.gallery-grid a:hover img{transform:scale(1.025)}.gallery-more{text-align:center;margin-top:30px}.gallery-more p{font-size:.8rem;color:var(--muted);margin-top:15px}.related{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:75px}.related a{display:inline-block;text-decoration:none;border:1px solid var(--line);padding:12px 18px;font-size:.875rem}.related a:hover{background:var(--ink);color:white;border-color:var(--ink)}.portfolio-filters{display:flex;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:25px}.portfolio-filters button{font-size:.875rem;padding:10px 18px;border:1px solid var(--line);background:white;color:var(--ink);min-height:44px}.portfolio-filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.portfolio-filters button:hover{border-color:var(--ink)}.filter-status{font-size:.75rem;color:var(--muted);padding:22px 0 25px;margin:0}.portfolio-section{padding-bottom:75px}.portfolio-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:25px 0 0;margin-top:20px}.portfolio-bottom p{font-size:.875rem;color:var(--muted);margin:0}.soft-section{background:var(--soft)}.values-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:10%}.values-grid h3{font-size:1.8rem;margin:0 0 15px}.values-grid p:not(.eyebrow){color:var(--muted);font-size:.95rem;margin-bottom:30px}.studio-details p:not(.eyebrow){max-width:660px;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;padding-bottom:90px}.contact-detail{margin-bottom:40px}.contact-detail>span{font-size:.75rem;letter-spacing:.12em;color:#8d7046}.contact-detail h3{font-size:1.8rem;margin:12px 0 16px}.contact-detail p{color:var(--muted)}.contact-detail>a{font-size:.95rem;overflow-wrap:anywhere}.contact-detail .contact-phone{font-size:1.5rem;text-decoration:none}.contact-client{border-top:1px solid var(--line);padding-top:25px}.contact-client p{font-size:.875rem;color:var(--muted)}.inquiry{background:var(--soft);padding:45px}.inquiry h2{font-size:2.4rem;margin-bottom:20px}.inquiry .eyebrow{font-size:.75rem;margin-bottom:20px}.form-note{font-size:.875rem;color:var(--muted)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px;margin:30px 0}.field{min-width:0}.field:last-child{grid-column:1/-1}.field label{display:block;font-size:.875rem;margin-bottom:8px}.field label span{font-size:.75rem;color:var(--muted);white-space:nowrap}.field input,.field select,.field textarea{width:100%;border:1px solid #c5ceca;padding:12px;color:var(--ink);background:white;border-radius:0;min-height:48px}.field textarea{resize:vertical;min-height:140px}.copy-inquiry{border:0;background:transparent;color:var(--ink);font-size:.8rem;text-decoration:underline;text-underline-offset:4px;margin-left:15px;min-height:44px}.email-status{font-size:.875rem;margin-top:20px;overflow-wrap:anywhere}.email-status:empty{display:none}.privacy-note{font-size:.75rem;color:var(--muted);margin:25px 0 0}.simple-article{max-width:800px;padding-bottom:85px}.simple-article h2{font-size:2.25rem;margin-top:35px}.simple-article p{color:var(--muted)}.article{padding-bottom:70px}.article .text-block{max-width:820px;margin:30px auto;overflow-wrap:anywhere}.article .editorial-image{margin:35px auto;max-width:900px}.article .editorial-image img{max-height:720px;object-fit:contain;width:auto;margin:auto}.article .text-block strong{font-weight:500}.article .text-block br+br+br{display:none}.year-note{font-size:.875rem;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:20px}.empty-info{background:var(--soft);padding:35px;max-width:850px;margin-bottom:70px}.content-page .cards{margin-bottom:50px}.content-page .page-intro h1{font-size:clamp(3rem,5vw,5rem)}.map-link{display:inline-block;margin-top:15px}.article .gallery-grid{margin-bottom:50px}
@media(max-width:1100px){.card-top h3{font-size:1.55rem}.school-grid,.about-grid{gap:7%}.school-images{height:440px}.school-photo{height:360px}.business-photo{height:270px}.about-photo{height:470px}.steps{gap:30px}.extra-services{grid-template-columns:repeat(3,minmax(0,1fr))}.service-hero{gap:6%}.service-hero-photo{height:500px}.inquiry{padding:30px}.fields{grid-template-columns:1fr}.field:last-child{grid-column:auto}.contact-grid{gap:6%}}
@media(max-width:820px){.cards{gap:35px 20px}.cards:not(.home-cards){grid-template-columns:repeat(2,minmax(0,1fr))}.home-cards .card-top h3{font-size:1.4rem}.home-cards .card p{font-size:.8rem}.school-grid{grid-template-columns:.9fr 1fr;gap:7%}.school-images{height:400px}.school-photo{height:340px;width:75%}.business-photo{height:220px;width:52%}.school-copy h2{font-size:2.6rem}.about-grid{gap:5%}.about-art{padding:0 20px 30px 0}.about-photo{height:430px}.experience-mark{width:155px;min-height:150px;padding:20px}.experience-mark strong{font-size:2.2rem}.about-copy h2{font-size:2.6rem}.quote blockquote{font-size:1.8rem}.steps{gap:25px}.steps h3{font-size:1.5rem}.client-band{gap:35px;padding:35px 0 55px}.client-band>div+div{padding-left:30px}.page-intro{padding:60px 0 40px}.service-hero{padding:50px 0 60px;grid-template-columns:1fr 1fr;gap:5%}.service-hero h1{font-size:3.3rem}.service-hero .eyebrow{font-size:.75rem;margin-top:28px}.service-description{font-size:.95rem}.service-hero-photo{height:500px}.gallery-grid{columns:2;column-gap:18px}.gallery-grid a{margin-bottom:18px}.related{margin-bottom:55px}.contact-grid{grid-template-columns:1fr 1.15fr;gap:6%}.contact-detail>span{font-size:.75rem}.contact-detail h3{font-size:1.6rem}.contact-detail>a{font-size:.8rem}.inquiry{padding:25px}.copy-inquiry{margin-left:0;display:block;margin-top:10px}.extra-services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cards,.cards:not(.home-cards){grid-template-columns:1fr 1fr;gap:35px 15px}.home-cards .card:first-child{grid-column:1/-1}.home-cards .card:first-child .photo{aspect-ratio:4/3}.home-cards .card:first-child .photo img{object-position:50% 42%}.card-top{padding-top:16px}.card-top h3,.home-cards .card-top h3{font-size:1.4rem}.card .number{display:none}.card p,.home-cards .card p{font-size:.8rem;line-height:1.6}.card-explore{display:none}.collection-bottom,.portfolio-bottom{flex-direction:column;align-items:flex-start;gap:15px}.school-feature{padding:55px 0}.school-grid,.about-grid{grid-template-columns:1fr;gap:40px}.school-images{height:450px;max-width:420px;width:100%;margin:auto}.school-photo{height:390px;width:67%}.business-photo{height:255px;width:47%}.school-copy h2,.about-copy h2{font-size:2.8rem}.about-photo{height:420px}.experience-mark{width:170px;min-height:160px}.quote{padding:55px 0}.quote blockquote{font-size:1.65rem}.steps{grid-template-columns:1fr;gap:30px}.steps>div{padding-top:22px}.steps h3{font-size:1.8rem;margin:16px 0 13px}.steps span{font-size:.75rem}.client-band{grid-template-columns:1fr;gap:30px}.client-band>div+div{padding:30px 0 0;border-left:0;border-top:1px solid var(--line)}.page-intro h1{font-size:clamp(2.7rem,10vw,4rem)}.page-intro>p:not(.eyebrow){font-size:1rem}.page-intro{padding:45px 0 35px}.service-hero{grid-template-columns:1fr;gap:35px;padding:38px 0 45px}.service-hero h1{font-size:3.3rem}.service-hero .eyebrow{font-size:.75rem}.service-hero-art{padding-left:20px}.service-hero-photo{height:480px}.service-description{font-size:1rem}.gallery-grid{column-gap:12px}.gallery-grid a{margin-bottom:12px}.gallery-more p{font-size:.8rem}.portfolio-filters{gap:8px}.portfolio-filters button{font-size:.8rem;padding:9px 13px}.portfolio-section{padding-bottom:55px}.values-grid{grid-template-columns:1fr;gap:25px}.contact-grid{grid-template-columns:1fr;gap:35px;padding-bottom:60px}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-detail{margin-bottom:10px}.contact-detail:nth-child(2){grid-column:1/-1;grid-row:2}.contact-detail:nth-child(3){grid-column:2;grid-row:1}.contact-detail h3{font-size:1.5rem}.contact-detail>a{font-size:.875rem}.contact-detail .contact-phone{font-size:1.25rem}.contact-detail p{font-size:.875rem}.contact-client{grid-column:1/-1}.inquiry{padding:25px}.inquiry h2{font-size:2.15rem}.fields{gap:22px}.copy-inquiry{display:inline-block;margin-left:5px}.extra-services{gap:30px 20px}.extra-services h3{font-size:1.5rem}.extra-services p{min-height:70px}.simple-article{padding-bottom:65px}.simple-article h2{font-size:2rem}.empty-info{padding:25px}.content-page .page-intro h1{font-size:2.9rem}}
@media(max-width:360px){.contact-info{grid-template-columns:1fr}.contact-detail:nth-child(2),.contact-detail:nth-child(3){grid-column:auto;grid-row:auto}.cards,.cards:not(.home-cards){grid-template-columns:1fr}.home-cards .card:first-child{grid-column:auto}.hero .actions{align-items:flex-start;flex-direction:column}.school-images{height:370px}.school-photo{height:330px}.business-photo{height:220px}.extra-services{grid-template-columns:1fr}.extra-services p{min-height:0}.hero h1{font-size:2.65rem}}

.brand strong{white-space:nowrap;font-size:2.05rem;letter-spacing:-.045em}.brand>span{font-size:.75rem;letter-spacing:.12em}.header-inner{gap:1.5rem}
@media(max-width:1100px){.header .brand strong{font-size:1.8rem}.nav{gap:1rem}.nav .nav-contact{padding:.7rem .8rem}}
@media(max-width:950px){.desktop-nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:24px auto;align-items:center;gap:5px 10px;padding:10px;min-height:44px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{width:24px;height:1px;background:var(--ink)}.mobile-menu summary b{font-size:.8rem;font-weight:500;grid-column:2;grid-row:1/3}.mobile-menu .nav{position:absolute;right:0;top:55px;display:flex;flex-direction:column;align-items:stretch;gap:.4rem;background:white;border:1px solid var(--line);padding:24px;min-width:270px;z-index:30;box-shadow:0 15px 40px #172c3220}}
@media(max-width:600px){.header .brand strong{font-size:clamp(1.1rem,4.4vw,1.8rem)}.header .brand>span{font-size:.75rem;letter-spacing:.015em}.header-inner{gap:10px}.mobile-menu summary{padding:8px 0 8px 8px;grid-template-columns:22px;gap:6px}.mobile-menu summary b{display:none}.mobile-menu summary span{width:22px}.footer .brand strong{font-size:clamp(1.35rem,5.5vw,2.05rem)}.hero-main{object-position:50% 42%}}

.eyebrow{color:#806239}.hero .eyebrow,.cta .eyebrow{color:#d9bd8e}.hero-description,.card p,.home-cards .card p,.school-copy>p:not(.eyebrow),.about-copy>p:not(.eyebrow),.steps p,.extra-services p,.client-band p:not(.eyebrow),.values-grid p:not(.eyebrow),.form-note{font-size:1rem}.footer-links{font-size:.875rem}.contact-detail>a{font-size:1rem}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
:root{--focus:#005fcc}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:4px;box-shadow:0 0 0 2px white}main:focus{outline:none}.skip{position:fixed}.skip:focus{outline:3px solid var(--focus);outline-offset:3px;border:2px solid var(--ink);z-index:100}
.brand{min-width:0;flex-shrink:1}.brand strong{width:clamp(210px,27vw,340px);max-width:100%;font-size:inherit}.brand .wordmark{width:100%;height:auto}.brand>span{max-width:100%;overflow-wrap:anywhere}.header .brand{max-width:calc(100% - 65px)}.header-inner{padding-block:16px;flex-wrap:wrap}.footer-top>div{min-width:0}.footer .brand strong{max-width:100%}.footer h2{font:600 .875rem/1.5 var(--sans);letter-spacing:.08em;text-transform:uppercase;margin:10px 0 22px}.footer-bottom{flex-wrap:wrap}.footer-links a{min-height:24px;padding-block:3px;align-self:flex-start}.mobile-menu summary{min-width:44px;min-height:44px;padding:10px}.mobile-menu .nav{max-width:min(280px,calc(100vw - 28px))}.mobile-menu .nav a{min-height:44px}.mobile-menu .nav-contact{padding-inline:12px}
.hero h1{white-space:normal}.hero-copy{min-width:0}.hero-art:after{display:none}.hero-photo-label{background:#102126;padding:12px 16px;color:white;left:20px;right:20px;bottom:20px}.hero-photo-label a{min-height:24px;display:inline-flex;align-items:center}.experience-mark span{background:var(--ink);color:white;line-height:1.5}.card-explore{background:#102126;color:white}.photo{overflow:visible}.photo img{object-fit:cover}.card .photo{isolation:isolate}.card{scroll-margin:20px}.gallery-grid a:focus-visible{outline-offset:2px}.gallery-grid a{scroll-margin:20px}.gallery-grid a:focus-visible img{transform:none}.button,.portfolio-filters button,.related a{scroll-margin-block:20px}.portfolio-filters button{border-color:#73817b}.field input,.field textarea,.field select{border:1px solid #68786f}.field input::placeholder,.field textarea::placeholder{color:#626969;opacity:1}.field select{padding-right:30px}.copy-inquiry{min-height:44px}.inquiry .fields{align-items:start}.field-error{color:#922e26;font-size:1rem;margin:8px 0 0}.field [aria-invalid=true]{border:2px solid #922e26}.form-errors{border:2px solid #922e26;padding:20px;background:white;margin:25px 0;color:var(--ink)}.form-errors h3{font-family:var(--sans);font-size:1.1rem;line-height:1.5;margin:0 0 12px}.form-errors ul{margin:0;padding-left:20px}.form-errors a{display:inline-block;padding:5px 0}.form-errors:focus{outline:3px solid var(--focus);outline-offset:4px}
.lightbox{padding:20px;overflow:auto}.lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;place-items:stretch;gap:18px}.lightbox-close{position:static;justify-self:end;max-width:100%}.lightbox-figure{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;gap:12px}.lightbox img{max-height:calc(100dvh - 225px);width:auto;height:auto;max-width:100%;object-fit:contain}.lightbox figcaption{font-size:1rem;line-height:1.5;text-align:center;max-width:75ch;overflow-wrap:anywhere}.lightbox-controls{position:static;transform:none;justify-content:center;flex-wrap:wrap;gap:18px}.lightbox-controls span{font-size:1rem}.lightbox button{font-size:1rem;border:1px solid #b4c1bc;min-height:44px}.lightbox button:focus-visible{outline-color:#ffdc7c;box-shadow:none}.image-transcript{padding:20px;border:1px solid var(--line);margin-top:20px;background:var(--soft);font-size:1rem}.image-transcript p{margin:12px 0 0;white-space:pre-line}.tips-list{padding-left:30px}.tips-list li{padding:10px 0 25px}.tips-list h3{font-size:1.8rem}.tips-list p{margin:15px 0}.accessible-document{max-width:950px;padding-bottom:80px}.accessible-document h2{font-size:2rem;line-height:1.25;margin:40px 0 20px}.accessible-document h3{font-size:1.5rem;line-height:1.35;margin:30px 0 18px}.accessible-document li,.simple-article li{margin-bottom:12px}.order-table{border-collapse:collapse;width:100%;table-layout:fixed;font-size:1rem;margin:30px 0;overflow-wrap:anywhere}.order-table caption{text-align:left;font-weight:600;margin-bottom:14px}.order-table th,.order-table td{border:1px solid #68786f;padding:14px;vertical-align:top;text-align:left}.order-table thead{background:var(--ink);color:white}.order-table th:first-child{width:17%}.order-table th:last-child{width:17%}.graduation-order{background:var(--soft);padding:30px}.graduation-order fieldset{margin:25px 0;padding:20px;border:1px solid #68786f;min-width:0}.graduation-order legend{font-weight:600;padding:0 6px}.order-quantities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.graduation-order .field:last-child{grid-column:auto}.readable-alternative{display:inline-block;padding:7px 0}.service-hero-art,.about-art,.school-copy,.about-copy,.cta-side,.steps>div{min-width:0}.contact-detail>a{overflow-wrap:anywhere}.contact-info{min-width:0}.section-heading>div{min-width:0}.hero h1,.page-intro h1,.service-hero h1,h2,h3{overflow-wrap:anywhere}.text-link{max-width:100%}.field,.inquiry,.contact-detail{overflow-wrap:anywhere}
@media(max-width:1100px){.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}}
@media(max-width:950px){.hero{grid-template-columns:1fr}.hero-copy{padding:55px 7%}.hero h1{font-size:clamp(3rem,7vw,5rem)}.hero .actions{flex-direction:row;align-items:center}.hero-art{height:500px}.hero-main{height:100%}.brand strong{width:clamp(210px,42vw,340px)}}
@media(max-width:600px){.header-inner{min-height:85px;flex-wrap:nowrap}.brand strong{width:clamp(200px,60vw,275px)}.header .brand>span{letter-spacing:0}.hero-copy{padding:42px 7%}.hero h1{font-size:clamp(2.5rem,10vw,4rem)}.hero-art{height:400px}.hero-photo-label{flex-wrap:wrap;gap:8px;left:12px;right:12px;bottom:12px}.hero-photo-label span{font-size:.75rem}.footer-top{grid-template-columns:1fr}.footer-top>div:first-child,.footer-top>div:nth-child(3){grid-column:auto}.contact-info{display:flex;flex-direction:column;gap:25px}.contact-info>h2{margin:0}.service-hero-photo{height:auto;aspect-ratio:4/5}.about-photo{height:auto;aspect-ratio:4/5}.school-images{height:440px}.school-photo{height:360px}.business-photo{height:250px}.fields{grid-template-columns:1fr}.card .card-top h3{font-size:1.5rem;line-height:1.25}.card .photo{overflow:visible}.order-table th,.order-table td{padding:8px}.order-table th:first-child{width:20%}.order-table th:last-child{width:23%}.order-quantities{grid-template-columns:1fr 1fr}.graduation-order{padding:20px}.graduation-order fieldset{padding:15px}.hero-signoff{display:none}.experience-mark{min-height:unset;height:auto;position:relative;bottom:auto;right:auto;width:100%;margin-top:15px;gap:15px}.experience-mark strong{font-size:2rem}.experience-mark span{margin-top:0;font-size:.75rem}.about-art{padding:0}.vertical-caption{position:static;writing-mode:horizontal-tb;transform:none;display:block;margin-top:15px;font-size:.75rem}.service-hero-art{padding-left:0}.copy-inquiry{margin-left:0;display:block}}
@media(max-width:380px){.cards,.cards:not(.home-cards){grid-template-columns:1fr}.home-cards .card:first-child{grid-column:auto}.hero .actions{flex-direction:column;align-items:flex-start}.school-images{height:350px}.school-photo{height:290px}.business-photo{height:190px}.order-quantities{grid-template-columns:1fr}}
@media(max-height:500px){.lightbox[open]{grid-template-rows:auto auto auto}.lightbox-figure{min-height:100px}.lightbox img{max-height:50dvh}.lightbox-controls{padding-bottom:15px}}
@media(forced-colors:active){a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:Highlight;box-shadow:none}.field input,.field textarea,.field select,.button,.portfolio-filters button,.related a{border:1px solid ButtonText}.portfolio-filters button[aria-pressed=true]{border:3px solid Highlight}.hero-photo-label{background:Canvas;color:CanvasText}.wordmark{forced-color-adjust:none;background:white}.field-error,.form-errors{color:CanvasText;border-color:CanvasText}}
.accessible-document,.simple-article{overflow-wrap:anywhere}
.document-intro h1{font-size:clamp(2.2rem,5vw,5rem);line-height:1.15}
@media print{.header,.footer,.cta,.skip,.lightbox,[data-print],.page-intro .actions{display:none!important}.wrap{width:100%}.page-intro,.accessible-document,.simple-article{padding:0;max-width:none}.page-intro h1{font-size:24pt}.accessible-document h2{font-size:18pt}.accessible-document h3{font-size:14pt}.graduation-order{padding:0;background:white}.field input{color:black;min-height:32px}.fields{grid-template-columns:1fr 1fr}.order-quantities{grid-template-columns:repeat(3,minmax(0,1fr))}a{color:black;text-decoration:underline}.order-table,.graduation-order fieldset,.field{break-inside:avoid}}

/* Compact portfolio introduction and more readable desktop navigation. */
.portfolio-intro{padding:36px 0 24px}
.portfolio-intro .eyebrow{margin-bottom:12px}
.portfolio-intro h1{max-width:none;margin-bottom:18px}
.portfolio-intro>p:not(.eyebrow){max-width:850px;margin-bottom:0;line-height:1.6}
.portfolio-section .portfolio-filters{padding-bottom:16px}
.portfolio-section .filter-status{font-size:1rem;padding:14px 0 18px}
@media(min-width:951px){
  .header-inner{min-height:92px;padding-block:12px}
  .header .brand{width:clamp(240px,27vw,340px)}
  .header .brand>span{font-size:.8125rem}
  .desktop-nav{font-size:clamp(1rem,1.4vw,1.25rem);gap:clamp(1rem,1.8vw,1.65rem);flex-wrap:wrap;min-width:0;max-width:100%}
  .desktop-nav .nav-contact{padding:.6rem .85rem}
  .portfolio-intro .eyebrow{font-size:.875rem}
  .portfolio-intro h1{font-size:clamp(3.5rem,5.8vw,6.25rem);line-height:1.1}
  .portfolio-intro>p:not(.eyebrow){font-size:1.25rem}
  .portfolio-section .portfolio-filters button{font-size:1.125rem;min-height:48px;padding:10px 20px}
}
@media(max-width:600px){
  .portfolio-intro{padding:30px 0 22px}
  .portfolio-intro h1{font-size:clamp(2.7rem,10vw,4rem)}
  .portfolio-section .filter-status{font-size:.875rem}
}
@media print{.portfolio-intro{padding:0}}
