:root{--ground:#191e1e;--panel:#242b2a;--deep:#121717;--ink:#f0eeea;--muted:#c1c5c0;--accent:#c9b795;--line:#49514e;--serif:Baskerville,"Iowan Old Style","Palatino Linotype",Georgia,serif;font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;background:var(--ground);color:var(--ink);font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;font-size:1rem;line-height:1.7}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-underline-offset:.4em}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.09;letter-spacing:-.026em}h2{font-size:clamp(2.6rem,4.1vw,4rem)}h3{font-size:1.8rem;line-height:1.23}p{max-width:57ch}.wrap{width:min(1340px,calc(100% - 8rem));margin-inline:auto}.header{position:absolute;z-index:5;top:1.5rem;left:2rem;right:2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:.6rem 2rem;background:rgba(19,26,25,.83);border:1px solid rgba(236,236,224,.16);backdrop-filter:blur(16px);border-radius:5px}.brand{display:flex;align-items:center;gap:1.2rem;text-decoration:none;font-size:.875rem;line-height:1.4;flex-shrink:0}.brand img{width:138px;height:88px;object-fit:contain;filter:grayscale(1) brightness(0) invert(.95)}.brand small{font-size:.75rem}.header nav{display:flex;align-items:center;gap:2rem;font-size:.9rem}.header nav a{text-decoration:none;padding-block:.45rem}.header nav a:hover{color:var(--accent)}.nav-contact{border-bottom:1px solid var(--accent)}.menu-toggle{display:none}.hero{position:relative;min-height:800px;height:min(940px,95svh);display:flex;align-items:flex-end;isolation:isolate}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(10,17,16,.77),rgba(10,17,16,.17) 78%),linear-gradient(0deg,rgba(10,17,16,.8),transparent 66%)}.hero-content{padding-block:12rem 5rem}.hero h1{font-size:clamp(4.25rem,7.6vw,7.8rem);line-height:1.04;max-width:none;text-shadow:0 2px 18px #0002;margin-bottom:2.7rem}.hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:3rem}.hero-bottom p{color:#e4e5df;font-size:1.12rem;line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #d1c6ad;background:rgba(15,23,21,.2);padding:1rem 1.6rem;font-size:.95rem;white-space:nowrap;transition:background .2s,color .2s}.button:hover{background:var(--accent);color:var(--deep)}.intro{display:block;text-align:center;padding-block:6.5rem}.intro-copy{max-width:960px;margin-inline:auto}.section-label{font-size:.9rem;color:var(--accent);margin-bottom:1.5rem}.intro h2{font-size:clamp(2.4rem,3.5vw,3.55rem)}.intro-copy>p{font-family:var(--serif);font-size:clamp(2rem,3.2vw,3rem);line-height:1.33;letter-spacing:-.015em;max-width:42ch;margin-inline:auto}.intro-copy>span{display:block;font-size:1.05rem;color:var(--muted);margin-top:1.8rem}.projects{background:var(--panel);padding-block:6rem}.projects-heading{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:end;margin-bottom:3.7rem}.projects-copy p{color:var(--muted);font-size:1rem;line-height:1.8}.projects-copy p+p{margin-top:1rem}.project-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:3.5rem 2rem}.project-card{min-width:0}.photo-button{display:block;position:relative;padding:0;border:0;cursor:zoom-in;width:100%;overflow:hidden;background:#111715;text-align:left}.photo-button img{display:block;width:100%;height:440px;object-fit:cover;transition:transform .6s ease}.photo-button:hover img{transform:scale(1.025)}.photo-action{position:absolute;right:1rem;bottom:1rem;padding:.3rem .7rem;background:#151b19b8;backdrop-filter:blur(6px);font-size:.875rem}.project-card:nth-child(2){padding-top:4rem}.project-card:nth-child(2) .photo-button img{height:376px}.project-card:nth-child(3) .photo-button img{height:410px}.project-card:nth-child(4) .photo-button img{height:410px}.project-card figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:1.2rem}.project-card figcaption h3{font-size:1.65rem}.project-card figcaption>span{font-size:.875rem;color:var(--muted)}.project-footnote{display:flex;justify-content:space-between;gap:2rem;align-items:baseline;margin-top:3rem;padding-top:1.7rem;border-top:1px solid var(--line);color:var(--muted)}.project-footnote p{font-size:.95rem}.project-footnote small{font-size:.875rem;max-width:36ch}.audiences{padding-block:6rem}.audience-heading{display:grid;grid-template-columns:.85fr 1.15fr;gap:6rem;align-items:start;margin-bottom:3.2rem}.audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.audience-grid article{padding-top:1.7rem;border-top:1px solid var(--line)}.audience-grid h3{margin-bottom:1.2rem}.audience-grid p{color:var(--muted);font-size:1rem;line-height:1.8}.expertise{padding-block:5rem;background:var(--deep)}.expertise-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:6rem}.expertise h2{font-size:clamp(2.6rem,3.5vw,3.55rem)}.expertise-list article+article{border-top:1px solid var(--line);margin-top:1.8rem;padding-top:1.8rem}.expertise-list h3{font-size:1.65rem;margin-bottom:.8rem}.expertise-list p{color:var(--muted);font-size:1rem;line-height:1.8}.contact{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:end;padding-block:5.5rem}.contact h2{font-size:clamp(3.2rem,5.4vw,5.5rem);margin-bottom:1rem}.contact>div>p:last-child{color:var(--muted)}.contact-detail{padding-bottom:.7rem}.contact .email{font-size:1.55rem;margin-bottom:.5rem}.contact .pending{font-size:.9rem;color:var(--muted)}.footer{border-top:1px solid var(--line);padding-block:1.4rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;color:var(--muted);font-size:.875rem}.footer a{text-decoration:none}.footer a:hover{color:var(--ink)}.footer-brand{display:flex;gap:1rem;align-items:center}.footer-brand img{width:88px;height:56px;object-fit:contain;filter:grayscale(1) brightness(0) invert(.95)}.photo-dialog{width:min(1100px,calc(100% - 3rem));max-height:94svh;margin:auto;border:1px solid #69726a;background:var(--ground);padding:1.4rem;color:var(--ink)}.photo-dialog::backdrop{background:#000d;backdrop-filter:blur(8px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.dialog-top h2{font-size:1.6rem}.dialog-close{background:none;border:1px solid var(--line);cursor:pointer;padding:.45rem .8rem;font-size:.9rem;display:flex;align-items:center;gap:1rem}.dialog-close span{font-size:1.4rem;line-height:1}.dialog-image{display:block;width:100%;max-height:72svh;object-fit:contain}.photo-dialog>p{margin-top:.8rem;font-size:.875rem;color:var(--muted)}.skip{position:absolute;top:-100px;left:1rem;padding:.8rem;background:var(--ink);color:var(--deep);z-index:20}.skip:focus{top:1rem}@media(max-width:1150px){.wrap{width:calc(100% - 5rem)}.header{left:1.2rem;right:1.2rem;padding:.5rem 1.2rem;gap:1rem}.header nav{gap:1.1rem;font-size:.875rem}.brand{gap:.6rem}.brand img{width:112px;height:80px}.brand>span{font-size:.8rem}.intro,.projects-heading,.audience-heading,.expertise-layout{gap:3rem}.project-card figcaption{display:block}.project-card figcaption>span{display:block;margin-top:.45rem}.photo-button img{height:360px}.project-card:nth-child(2) .photo-button img{height:296px}.project-card:nth-child(3) .photo-button img,.project-card:nth-child(4) .photo-button img{height:330px}.hero{min-height:720px}.audience-grid{gap:2rem}}@media(max-width:850px){.header{flex-wrap:wrap}.menu-toggle{display:flex;align-items:center;gap:.8rem;background:none;border:0;padding:.6rem;font-size:.9rem;cursor:pointer}.menu-toggle span{font-size:1.1rem}.header nav{display:none;width:100%;padding:.6rem 0 1rem;flex-wrap:wrap;gap:.6rem 1.4rem;border-top:1px solid #69726a}.header nav.is-open{display:flex}.brand img{width:112px;height:74px}.hero h1{font-size:clamp(3.8rem,9vw,6rem)}.hero-bottom{align-items:start;flex-direction:column;gap:1.8rem}.hero{min-height:760px}.hero-content{padding-bottom:3rem}.intro-copy>p{font-size:2rem}.projects-heading,.expertise-layout{grid-template-columns:1fr}.projects-copy{max-width:65ch}.audience-grid{grid-template-columns:1fr}.audience-grid article{display:grid;grid-template-columns:1fr 1.5fr;gap:2rem}.project-footnote{display:block}.project-footnote small{display:block;margin-top:.8rem;max-width:none}}@media(max-width:600px){.wrap{width:calc(100% - 2.6rem)}.header{top:.8rem;left:.8rem;right:.8rem;padding:.3rem .7rem}.brand{gap:.3rem}.brand img{width:92px;height:68px}.brand>span{font-size:.75rem}.brand small{font-size:.75rem}.hero{min-height:690px;height:92svh;max-height:840px}.hero-image{object-position:63% center}.hero-shade{background:linear-gradient(0deg,rgba(8,15,13,.94),rgba(8,15,13,.13) 100%)}.hero-content{padding-top:9rem;padding-bottom:2.5rem}.hero h1{font-size:clamp(2.8rem,11.8vw,4rem);line-height:1.07;margin-bottom:1.7rem}.hero-bottom p{font-size:1rem;line-height:1.8}.hero-bottom p br{display:none}.button{font-size:.9rem;padding:.8rem 1.2rem;white-space:normal}.intro{grid-template-columns:1fr;gap:1.8rem;padding-block:3.5rem}.section-label{margin-bottom:1rem}.intro h2{font-size:2.5rem}.intro-copy>p{font-size:1.85rem}.intro-copy>span{margin-top:1.3rem}.projects{padding-block:3.5rem}.projects-heading{gap:1.7rem;margin-bottom:2.2rem}.projects h2{font-size:2.65rem}.project-grid{grid-template-columns:1fr;gap:2.1rem}.project-card:nth-child(2){padding-top:0}.photo-button img,.project-card:nth-child(2) .photo-button img,.project-card:nth-child(3) .photo-button img,.project-card:nth-child(4) .photo-button img{height:auto;aspect-ratio:4/3}.project-card figcaption h3{font-size:1.6rem}.project-card figcaption{margin-top:1rem}.project-footnote{margin-top:2rem;padding-top:1.4rem}.audiences{padding-block:3.5rem}.audience-heading{grid-template-columns:1fr;gap:0;margin-bottom:2rem}.audience-heading h2{font-size:2.65rem}.audience-grid{gap:1.7rem}.audience-grid article{display:block;padding-top:1.3rem}.audience-grid h3{font-size:1.65rem;margin-bottom:.8rem}.expertise{padding-block:3.5rem}.expertise-layout{gap:2rem}.expertise h2{font-size:2.65rem}.expertise-list h3{font-size:1.5rem}.contact{grid-template-columns:1fr;gap:2rem;padding-block:3.5rem}.contact h2{font-size:3.3rem}.contact .email{font-size:1.3rem}.footer{align-items:flex-start;flex-direction:column;gap:1rem;padding-block:1.3rem}.footer-brand img{width:72px;height:48px}.photo-dialog{width:calc(100% - 1rem);padding:.8rem}.dialog-top h2{font-size:1.25rem}.dialog-close{font-size:.875rem;padding:.4rem .5rem}.dialog-top{gap:.5rem}.dialog-image{max-height:65svh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo-button img,.button{transition:none}}

.intro-copy>span{font-family:var(--serif);font-size:clamp(2rem,3.2vw,3rem);line-height:1.33;letter-spacing:-.015em;color:var(--ink);max-width:42ch;margin-inline:auto}
@media(max-width:850px){.intro-copy>span{font-size:2rem}}
@media(max-width:600px){.intro-copy>span{font-size:1.85rem}}

.hero-bottom{justify-content:flex-end}.intro-copy>p.intro-audience{font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;font-size:1.35rem;line-height:1.8;letter-spacing:normal;color:#e4e5df;margin:2rem auto 0;max-width:57ch}
@media(max-width:600px){.intro-copy>p.intro-audience{font-size:1.15rem}.intro-audience br{display:none}}

.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card:nth-child(2){padding-top:0}.project-card .photo-button img,.project-card:nth-child(2) .photo-button img,.project-card:nth-child(3) .photo-button img,.project-card:nth-child(4) .photo-button img{height:auto;aspect-ratio:4/3;object-fit:cover}
@media(max-width:600px){.project-grid{grid-template-columns:1fr}}

/* Unified ivory website logo; stationery uses separate navy/gold files. */
.brand img{width:240px;height:auto;max-width:100%;object-fit:contain;filter:none}.footer-brand img{width:220px;height:auto;object-fit:contain;filter:none}
@media(max-width:850px){.brand img{width:200px}}
@media(max-width:600px){.brand img{width:170px}.footer-brand img{width:190px}}

/* Original approved logo, with its soft glow; frame trims presentation whitespace. */
.brand,.footer-brand{display:block;width:240px;height:104px;overflow:hidden;flex-shrink:0}
.brand img,.footer-brand img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 48%;transform:scale(1.5);filter:none}
.footer-brand{width:220px;height:96px}
@media(max-width:850px){.brand{width:200px;height:87px}}
@media(max-width:600px){.brand{width:170px;height:74px}.footer-brand{width:190px;height:83px}}

.footer-address{font-style:normal;text-align:right;line-height:1.65;margin-left:auto}
@media(max-width:600px){.footer-address{text-align:left;margin-left:0}}

.footer-email{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;padding:.8rem 1.1rem;border:1px solid var(--accent);border-radius:3px;text-decoration:none;white-space:nowrap;color:var(--ink);transition:background .2s,color .2s}.footer-email:hover{background:var(--accent);color:var(--deep)}.footer-email svg{flex-shrink:0}@media(max-width:850px){.footer{flex-wrap:wrap}.footer-email{margin-left:auto}}@media(max-width:600px){.footer-email{margin-left:0;margin-top:.5rem}}

/* Separate contact page, matching the approved website identity. */
.contact-page .header{position:relative;top:auto;left:auto;right:auto;margin:1.5rem 2rem}
.contact-main{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,8rem);padding-block:4rem 6rem;align-items:start}
.contact-lead h1{font-size:clamp(3.2rem,5vw,5.3rem);margin:2rem 0 1.7rem}
.back-link{font-size:.9rem;color:var(--muted);text-decoration:none}.back-link:hover{color:var(--ink)}
.contact-lead p{font-size:1.1rem;color:var(--muted);max-width:36ch}
.contact-lead address{font-style:normal;margin-top:3rem;color:var(--muted);line-height:1.8}
.contact-form-panel{padding:2.3rem;background:var(--panel);border-top:2px solid var(--accent)}
.contact-form-panel h2{font-size:2.25rem;margin-bottom:1rem}.form-intro{color:var(--muted);font-size:.9rem;margin-bottom:1.7rem}
.contact-form{display:grid;gap:1.2rem}.form-field{display:grid;gap:.45rem}.form-field label{font-size:.95rem}.form-field label span{font-size:.85rem;color:var(--muted)}
.form-field input,.form-field textarea{width:100%;min-width:0;min-height:48px;border:1px solid #68716b;border-radius:2px;background:var(--ground);color:var(--ink);font:inherit;font-size:1rem;padding:.75rem .85rem}.form-field textarea{resize:vertical;line-height:1.6;min-height:150px}
.form-field input:focus-visible,.form-field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.form-privacy,.direct-contact{font-size:.8rem;color:var(--muted);line-height:1.6}.direct-contact{margin-top:1.5rem}.direct-contact a{color:var(--ink)}
.form-submit{justify-self:start;gap:1rem;background:var(--accent);color:var(--deep);cursor:pointer}.form-submit:hover{background:var(--ink)}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.form-notice{padding:1.2rem;border:1px solid var(--accent);margin-bottom:1.5rem}.form-notice h3{font-size:1.4rem;margin-bottom:.6rem}.form-notice ul{padding-left:1.2rem;margin:.5rem 0}.form-notice p{margin-bottom:1rem}.form-error{border-color:#dfb6a1}.form-error li{font-size:.9rem}
@media(max-width:850px){.contact-page .header{margin:1.2rem}.contact-main{grid-template-columns:1fr;gap:2.5rem;padding-block:2.5rem 4rem}.contact-lead h1 br{display:none}.contact-lead p{max-width:50ch}.contact-lead address{margin-top:1.5rem}}
@media(max-width:600px){.contact-page .header{margin:.8rem}.contact-main{padding-top:1.5rem}.contact-lead h1{font-size:3rem;margin-top:1.5rem}.contact-form-panel{padding:1.4rem 1.1rem}.form-submit{width:100%}}
