@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:ital@0;1&display=swap');
:root{--navy:#102c43;--teal:#4e9699;--cognac:#a46e4c;--cream:#fbf9f5;--ink:#263b48;--muted:#64737a;--border:#e4e6e3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.shell{max-width:1240px;margin:auto;padding-left:54px;padding-right:54px}.site-header{background:#fff;border-bottom:1px solid #f0f0ee;position:relative;z-index:10}.nav{height:112px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:block;width:202px;height:89px;overflow:hidden;flex-shrink:0}.brand img{width:100%;height:100%;object-fit:contain;display:block}.links{display:flex;align-items:center;gap:37px}.links a{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;transition:color .2s}.links a:hover,.links a.active{color:var(--teal)}.links .nav-contact{border:1px solid var(--navy);padding:13px 18px;color:var(--navy)}.links .nav-contact span{margin-left:15px}.menu-toggle{display:none}.hero{min-height:660px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:55px;padding-top:55px;padding-bottom:90px}.eyebrow,.section-kicker{font-size:11px;letter-spacing:.19em;font-weight:700;color:var(--teal)}.eyebrow{display:flex;align-items:center;gap:13px}.line{height:1px;width:32px;background:var(--teal)}h1,h2,h3,p{margin-top:0}h1,h2{color:var(--navy);font-weight:500;letter-spacing:-.055em}h1{font-size:clamp(49px,5vw,74px);line-height:1.13;margin:28px 0 24px}h1 em,h2 em{font-family:'Libre Baskerville',Georgia,serif;font-weight:400;letter-spacing:-.07em}h1 em{color:var(--teal)}.lead{font-size:19px;line-height:1.8;max-width:590px;color:#52636b}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:35px}.button{display:inline-flex;align-items:center;gap:50px;background:var(--navy);color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:19px 23px;transition:background .2s}.button:hover{background:#28506a}.button span{font-size:17px;font-weight:400}.text-link{display:inline-flex;align-items:center;gap:22px;font-size:12px;text-transform:uppercase;font-weight:700;letter-spacing:.08em;color:var(--navy);border-bottom:1px solid #b8c3c6;padding-bottom:9px}.text-link:hover{color:var(--teal)}.hero-art{position:relative;height:470px}.art-frame{position:absolute;inset:0 0 20px 20px;background:#eaf0ee;overflow:hidden}.art-arch{position:absolute;right:-85px;bottom:-200px;width:390px;height:610px;border:78px solid #6e9997;border-radius:240px 240px 0 0;transform:rotate(18deg)}.art-circle{position:absolute;width:265px;height:265px;border-radius:50%;background:#d8c3b1;left:-72px;top:70px}.art-line{position:absolute;background:var(--navy);height:2px;width:580px;transform-origin:left}.art-line.one{transform:rotate(-46deg);left:120px;top:470px}.art-line.two{transform:rotate(-46deg);left:158px;top:470px;opacity:.5}.art-dot{position:absolute;width:64px;height:64px;border-radius:50%;background:#81556a;right:75px;top:65px}.art-caption{position:absolute;bottom:0;left:0;background:#fff;padding:12px 18px 0 0;color:var(--muted);font-size:9px;letter-spacing:.17em}.intro-band{background:var(--cream);padding:100px 0}.intro-grid{display:grid;grid-template-columns:1fr 2fr;gap:60px}.intro-grid h2{font-size:clamp(35px,3.4vw,52px);line-height:1.25;max-width:750px}.intro-grid h2 span{font-family:'Libre Baskerville',Georgia,serif;font-style:italic;color:var(--cognac)}.intro-grid p{font-size:17px;line-height:1.9;max-width:710px;color:#59686d}.services{padding-top:116px;padding-bottom:128px}.section-heading{display:flex;justify-content:space-between;gap:65px;align-items:end;margin-bottom:52px}.section-heading h2{font-size:49px;line-height:1.22;margin:20px 0 0}.section-heading>p{max-width:370px;line-height:1.8;color:var(--muted);font-size:15px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border)}.service-card{padding:36px 38px 20px 0}.service-card:not(:first-child){padding-left:35px;border-left:1px solid var(--border)}.service-number{color:var(--teal);font-size:12px;letter-spacing:.1em;margin-bottom:36px}.service-card h3{font-size:24px;font-weight:500;color:var(--navy);letter-spacing:-.04em;margin-bottom:14px}.service-card p{font-size:15px;line-height:1.85;color:#607079}.experience{background:#edf1ef}.experience-grid{display:grid;grid-template-columns:1fr 1fr;min-height:590px}.experience-art{background:#214258;position:relative;overflow:hidden;display:flex;align-items:center;padding:65px}.experience-outline{position:absolute;width:380px;height:380px;border:1px solid #89aaa8;border-radius:50%;right:-100px;top:-100px;box-shadow:0 0 0 70px rgba(255,255,255,.03),0 0 0 140px rgba(255,255,255,.025)}.experience-quote{position:relative;font-size:clamp(31px,3.3vw,47px);line-height:1.4;letter-spacing:-.04em;color:#fff}.experience-quote em{font-family:'Libre Baskerville',Georgia,serif;color:#a9c9c6;font-weight:400}.experience-copy{padding:90px 65px}.experience-copy h2{font-size:43px;line-height:1.2;margin:25px 0}.experience-copy p{font-size:15px;line-height:1.9;color:#5d6e72}.experience-copy .text-link{margin-top:18px}.closing{padding-top:115px;padding-bottom:130px;display:grid;grid-template-columns:1fr 2fr;gap:65px;align-items:center}.closing-mark{font-family:Georgia,serif;font-size:145px;letter-spacing:-.17em;color:#d8e4e2;white-space:nowrap}.closing h2{font-size:clamp(35px,4vw,53px);line-height:1.3;margin:22px 0 34px}.footer{background:var(--navy);color:#fff}.footer-inner{padding-top:55px;padding-bottom:32px;display:grid;grid-template-columns:2fr 1fr;gap:35px}.footer-name{font-size:17px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.footer p{font-size:13px;color:#b8c8cf;margin-top:14px}.footer-links{display:flex;justify-content:end;gap:26px;font-size:13px}.footer-links a:hover{color:#b0d0cb}.copyright{grid-column:1/-1;border-top:1px solid #3c5669;padding-top:25px;color:#aabdc6;font-size:11px}.page-hero{padding-top:100px;padding-bottom:95px;background:#fff}.page-hero h1{max-width:940px}.page-hero .lead{max-width:790px}.about-body{display:grid;grid-template-columns:1fr 2fr;gap:100px;padding-top:85px;padding-bottom:125px;border-top:1px solid var(--border)}.about-aside{display:flex;flex-direction:column;align-items:start;gap:20px}.about-aside img{width:160px;height:160px;object-fit:contain}.about-aside span{font-size:10px;letter-spacing:.16em;color:var(--teal);font-weight:700}.about-prose h2{font-size:39px;margin:0 0 25px}.about-prose h2:not(:first-child){margin-top:55px}.about-prose p{font-size:17px;line-height:1.95;color:#5c6d75}.about-prose .button{margin-top:25px}.contact-hero{padding-bottom:70px}.contact-panel{display:grid;grid-template-columns:1.2fr .8fr;padding-bottom:120px}.contact-card{background:var(--cream);padding:70px}.contact-card h2{font-size:42px;line-height:1.25;margin:22px 0}.contact-card p{line-height:1.9;color:var(--muted)}.contact-placeholder{border-top:1px solid #d7dbd7;margin-top:40px;padding-top:25px;display:grid;gap:9px}.contact-placeholder strong{color:var(--navy)}.contact-placeholder span{font-size:13px;color:#69787e}.contact-decoration{background:#dce9e5;display:flex;justify-content:center;align-items:center;gap:0;overflow:hidden}.contact-decoration span{font-family:Georgia,serif;font-size:220px;color:#6b9d9b;letter-spacing:-.2em}.contact-decoration span+span{color:var(--navy);opacity:.9}@media(max-width:900px){.shell{padding-left:30px;padding-right:30px}.hero{gap:30px}.hero-art{height:360px}.section-heading h2{font-size:39px}.experience-copy{padding:65px 35px}.experience-art{padding:35px}.about-body{gap:40px}.contact-card{padding:40px}}@media(max-width:700px){.shell{padding-left:22px;padding-right:22px}.nav{height:82px}.brand{width:140px;height:70px}.menu-toggle{display:flex;align-items:center;gap:8px;background:none;border:0;color:var(--navy);font-size:12px;text-transform:uppercase;letter-spacing:.1em}.links{display:none;position:absolute;top:82px;left:0;right:0;background:white;padding:22px;box-shadow:0 15px 20px #102c4314;flex-direction:column;align-items:stretch;gap:24px}.links.open{display:flex}.links .nav-contact{align-self:start}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:72px;padding-bottom:70px;min-height:0;gap:60px}.hero h1{font-size:clamp(43px,10vw,61px)}.lead{font-size:17px}.hero-actions{gap:20px;flex-wrap:wrap}.hero-art{height:300px}.art-frame{left:0}.intro-band{padding:65px 0}.intro-grid{display:block}.intro-grid .section-kicker{margin-bottom:24px}.intro-grid h2{font-size:36px}.services{padding-top:75px;padding-bottom:75px}.section-heading{display:block}.section-heading h2{font-size:37px}.section-heading>p{margin-top:25px}.service-grid{grid-template-columns:1fr}.service-card,.service-card:not(:first-child){border-left:0;border-bottom:1px solid var(--border);padding:28px 0}.service-number{margin-bottom:18px}.experience-grid{grid-template-columns:1fr}.experience-art{min-height:280px}.experience-copy{padding:65px 10px}.experience-copy h2{font-size:35px}.closing{padding-top:75px;padding-bottom:90px;grid-template-columns:1fr;gap:5px}.closing-mark{font-size:90px}.closing h2{font-size:37px}.footer-inner{grid-template-columns:1fr}.footer-links{justify-content:start}.page-hero{padding-top:65px;padding-bottom:70px}.about-body{grid-template-columns:1fr;padding-top:50px;padding-bottom:80px}.about-aside img{width:110px;height:110px}.about-prose h2{font-size:32px}.contact-panel{grid-template-columns:1fr;padding-bottom:75px}.contact-card{padding:38px 25px}.contact-card h2{font-size:34px}.contact-decoration{min-height:200px}.contact-decoration span{font-size:150px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Selected work and stories */
.portfolio,.stories-content{padding-top:90px;padding-bottom:115px}.portfolio h2,.testimonial-section h2,.stories-intro h2{font-family:Georgia,serif;font-weight:400;color:#102c43;font-size:clamp(34px,4vw,51px);line-height:1.16;margin:17px 0 20px}.portfolio-intro,.stories-intro p,.testimonial-section p{max-width:680px;color:#54646a;line-height:1.85;font-size:17px}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}.portfolio-card{background:#f6f5f0;padding:34px;min-height:320px;display:flex;flex-direction:column}.portfolio-num,.placeholder-tag,.story-card span{font-size:11px;letter-spacing:.13em;color:#558f90;text-transform:uppercase}.portfolio-card h3,.story-card h3{font-family:Georgia,serif;font-size:29px;font-weight:400;color:#102c43;margin:34px 0 10px}.portfolio-card p,.story-card p{color:#54646a;line-height:1.7}.placeholder-tag{margin-top:auto;padding-top:30px}.testimonial-section{background:#e9efeb;padding:85px 0 95px}.testimonial-section .text-link{display:inline-block;margin-top:22px}.stories-content{display:grid;grid-template-columns:1.1fr .9fr;gap:90px}.stories-note{border-left:3px solid #8baaa6;padding-left:20px;margin-top:35px}.story-cards{display:grid;gap:18px}.story-card{padding:32px;background:#f6f5f0}.story-card h3{margin:24px 0 8px}@media(max-width:800px){.portfolio-grid,.stories-content{grid-template-columns:1fr}.stories-content{gap:35px}.portfolio,.stories-content{padding-top:60px;padding-bottom:75px}.portfolio-card{min-height:250px}}

/* Contact email link */
.contact-email { margin-top: 1.75rem; overflow-wrap: anywhere; }
.contact-email a { color: #102c43; font-weight: 600; text-decoration: underline; text-decoration-color: #4e9c9f; text-underline-offset: .3em; }

/* Photo-led redesign: no abstract artwork or imitation monograms */
.brand{width:245px;height:88px}.brand img{object-fit:contain;object-position:left center}
.hero-photo{width:100%;max-width:445px;justify-self:end;align-self:center}.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;filter:saturate(.82)}
.experience-photo{min-height:520px;overflow:hidden;background:#e8ece9}.experience-photo img{width:100%;height:100%;min-height:520px;object-fit:cover;object-position:center 35%;display:block;filter:saturate(.75)}
.closing-mark img{width:210px;max-width:100%;height:auto;display:block}.closing-mark{font-size:initial;letter-spacing:normal}
.about-aside img.about-portrait{width:240px;height:240px;object-fit:cover;filter:saturate(.85)}
.stories-photo{padding-top:8px}.stories-photo img{width:100%;max-height:490px;object-fit:cover;object-position:center 40%;display:block;filter:grayscale(1)}.stories-photo p{font-size:12px;color:#64737a;margin:13px 0 0;font-style:italic}
.contact-panel{grid-template-columns:1fr}.contact-card{max-width:830px}.contact-decoration{display:none}
@media(max-width:700px){.brand{width:175px;height:72px}.hero-photo{max-width:380px;justify-self:start}.experience-photo,.experience-photo img{min-height:320px;max-height:420px}.closing-mark img{width:130px}.stories-photo img{max-height:300px}.about-aside img.about-portrait{width:190px;height:190px}}

/* Stories and reading experience */
.stories-content{padding-bottom:5rem}.story-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.story-card{border:1px solid #dfe4e3;padding:2rem;background:#fff;display:flex;flex-direction:column;align-items:flex-start}.story-card h3{margin:.7rem 0}.story-card h3 a{color:inherit;text-decoration:none}.story-card h3 a:hover{text-decoration:underline}.story-card .text-link{margin-top:auto;padding-top:1rem}.book-feature{background:#f5f5f0;padding:5rem 0}.book-inner{max-width:850px}.book-feature h2{margin:.5rem 0 0}.book-subtitle{font-style:italic;color:#64747c}.book-actions{display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center;margin-top:2rem}.article-shell{max-width:800px;padding-top:5rem;padding-bottom:7rem}.article-shell h1{font-size:clamp(2.4rem,5vw,4.6rem);line-height:1.13;margin:1.1rem 0}.article-byline{color:#6d7779;margin-bottom:3rem}.article-body{font-size:1.1rem;line-height:1.85}.article-body p{margin-bottom:1.4rem}.editor-shell{max-width:900px;margin:3rem auto;padding:0 1.5rem}.editor-shell label{display:block;margin:1rem 0 .3rem;font-weight:600}.editor-shell input,.editor-shell textarea,.editor-shell select{width:100%;padding:.8rem;border:1px solid #c9d1d1;font:inherit;border-radius:4px}.editor-shell textarea{min-height:250px}.editor-shell button{background:#102c43;color:white;border:0;padding:.85rem 1.4rem;margin:1rem .7rem 1rem 0;cursor:pointer}.editor-shell .help{background:#f4f6f5;padding:1.3rem;line-height:1.7}@media(max-width:700px){.story-cards{grid-template-columns:1fr}.book-feature{padding:3rem 0}.article-shell{padding-top:3rem}}

/* Real case studies */
.case-study-list{display:grid;gap:0;margin-top:48px}.case-study{padding:48px 0 64px;border-top:1px solid var(--border);max-width:950px}.case-meta{font-size:11px;letter-spacing:.16em;color:var(--teal);font-weight:700}.case-study h3{font-family:Georgia,serif;font-size:clamp(32px,4vw,47px);font-weight:400;color:var(--navy);margin:16px 0}.case-deck{font-size:21px!important;color:var(--navy)!important;line-height:1.5!important;margin-bottom:27px}.case-study>p:not(.case-deck){font-size:16px;line-height:1.85;color:#53646d;max-width:810px}.case-quote{background:var(--cream);padding:32px 38px;margin-top:34px;border-left:3px solid var(--teal)}.case-quote blockquote{margin:0;font-family:Georgia,serif;font-size:17px;line-height:1.8;color:#344954}.case-quote>p{margin:25px 0 0;font-size:13px;line-height:1.7}.case-quote strong{display:block;color:var(--navy)}.case-quote strong a{text-decoration:underline;text-underline-offset:3px}.case-quote span{display:block;color:#66777c}@media(max-width:700px){.case-study{padding:32px 0 45px}.case-quote{padding:24px 22px}.case-quote blockquote{font-size:16px}}


/* Final responsive refinement: calmer openings, better image proportions */
html{overflow-x:clip}body{overflow-wrap:break-word}img{max-width:100%}
.hero{min-height:0;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:clamp(28px,4vw,54px);padding-top:62px;padding-bottom:72px}
.hero h1{font-size:clamp(43px,4.6vw,65px);margin:22px 0 18px}.hero .lead{font-size:17px;line-height:1.72}.hero-actions{margin-top:25px}
.hero-photo{max-width:350px;width:100%;justify-self:center}.hero-photo img{aspect-ratio:1/1;object-fit:cover}
.page-hero{padding-top:64px;padding-bottom:56px}.page-hero h1{font-size:clamp(43px,4.8vw,66px);margin:22px 0 18px}.page-hero .lead{font-size:17px;line-height:1.72}
.stories-photo img{height:clamp(230px,31vw,360px);max-height:none;object-fit:cover;object-position:center 47%}
.experience-grid{min-height:0}.experience-photo{min-height:390px}.experience-photo img{min-height:390px;max-height:450px}.experience-copy{padding-top:62px;padding-bottom:62px}
.intro-band{padding:75px 0}.services{padding-top:85px;padding-bottom:95px}.closing{padding-top:85px;padding-bottom:90px}
.footer-links{flex-wrap:wrap;row-gap:14px}
@media(max-width:900px){.hero{gap:24px}.hero-photo{max-width:310px}.hero h1{font-size:clamp(40px,5.5vw,55px)}.experience-photo,.experience-photo img{min-height:330px}}
@media(max-width:700px){
 .shell{padding-left:20px;padding-right:20px}.nav{height:76px}.brand{width:160px;height:65px}.links{top:76px}
 .hero{padding-top:42px;padding-bottom:48px;gap:30px}.hero h1{font-size:clamp(38px,9vw,51px);line-height:1.13;margin:20px 0 14px}.hero .lead{font-size:16px;line-height:1.65}
 .hero-actions{margin-top:23px;gap:16px}.button{gap:22px;padding:16px 18px}
 .hero-photo{max-width:265px;width:min(75%,265px);align-self:center;justify-self:center}.hero-photo img{aspect-ratio:1/1}
 .page-hero{padding-top:42px;padding-bottom:38px}.page-hero h1{font-size:clamp(38px,9vw,50px);line-height:1.16}.page-hero .lead{font-size:16px}
 .stories-photo{padding-top:0}.stories-photo img{height:210px;object-position:center 45%}
 .stories-content{padding-top:42px;padding-bottom:55px}.intro-band{padding:52px 0}.services{padding-top:60px;padding-bottom:65px}
 .experience-photo,.experience-photo img{min-height:0;max-height:none}.experience-photo img{height:260px;object-position:center 35%}.experience-copy{padding:45px 0 55px}
 .closing{padding-top:60px;padding-bottom:70px}.closing-mark img{width:105px}.about-body{padding-top:35px}.about-aside img.about-portrait{width:155px;height:155px}
 .footer-links{gap:15px}.story-card{padding:23px}.book-actions{align-items:flex-start}
}
@media(max-width:380px){.hero h1,.page-hero h1{font-size:37px}.hero-photo{width:76%;max-width:230px}.shell{padding-left:17px;padding-right:17px}.nav .brand{width:145px}.contact-card{padding:28px 20px}}
