@font-face{font-family:Gilda;src:url('/fonts/gilda-display.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/manrope-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/manrope-medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/manrope-semibold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
:root{color-scheme:light;--paper:#f4f0e8;--forest:#193c32;--muted:#586453;--line:#cccec1;--sage:#cbd6c6;--gold:#bd9f72;--serif:Gilda,Georgia,serif;--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px;scrollbar-color:var(--muted) var(--paper)}
body{margin:0;background:var(--paper);color:var(--forest);font:400 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
::selection{background:var(--forest);color:var(--paper)}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
a:focus-visible{outline:2px solid currentColor;outline-offset:6px}
img{display:block;max-width:100%}
p,h1,h2,h3,figure{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;text-wrap:balance}
h1{font-size:clamp(62px,6.2vw,88px);line-height:1.03;letter-spacing:-.035em}
h2{font-size:clamp(36px,3.5vw,48px);line-height:1.15;letter-spacing:-.025em}
h3{font-size:31px;line-height:1.2;letter-spacing:-.02em}
.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}
.arrow{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.skip-link{position:fixed;left:20px;top:-90px;background:var(--forest);color:var(--paper);padding:12px 20px;z-index:10}
.skip-link:focus{top:16px}
.masthead{display:flex;justify-content:space-between;align-items:center;padding-block:20px 24px}
.brand{display:block;width:148px;flex-shrink:0}
.brand img{height:auto}
.masthead-right{display:flex;align-items:center;gap:56px}
.site-status{font-size:12px;line-height:1.7;color:var(--muted)}
.site-status span{color:var(--forest);font-weight:600}
.header-contact{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--forest);padding-block:10px}
.header-contact:hover .arrow,.header-contact:focus-visible .arrow{transform:translateX(4px)}
.introduction{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding-top:20px;padding-bottom:58px}
.introduction-copy{padding-bottom:18px}
.meet{font-size:23px;font-weight:500;line-height:1.4;margin-top:30px}
.intro{max-width:440px;color:var(--muted);margin-top:12px;font-size:16px;line-height:1.8}
.button{display:inline-flex;align-items:center;gap:35px;min-height:56px;margin-top:29px;padding:15px 23px;background:var(--forest);color:var(--paper);font-size:14px;font-weight:500;text-decoration:none;border:1px solid var(--forest);transition:background .2s}
.button:hover,.button:focus-visible{background:#2b5144}
.button:hover .arrow,.button:focus-visible .arrow{transform:translateX(5px)}
.invitation{font-size:12px;color:var(--muted);margin-top:18px;line-height:1.8}
.service-area{margin-top:36px;font-size:12px;letter-spacing:.02em}
.portrait-frame{position:relative;overflow:hidden;background:var(--paper);aspect-ratio:1.08;border-radius:46% 46% 12% 12% / 32% 32% 10% 10%;isolation:isolate}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 100%;animation:portrait-settle 1s cubic-bezier(.16,1,.3,1) both}
.portrait figcaption{display:flex;justify-content:space-between;gap:14px;padding-top:12px;font-size:12px;color:var(--muted)}
.portrait figcaption span:first-child{font-weight:600;color:var(--forest);font-size:12px}
.approach{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:7%;padding-block:61px 68px}
.approach h2{font-size:38px}
.approach p{color:var(--muted);max-width:520px;font-size:15px}
.approach p+p{margin-top:18px}
.journal{background:var(--forest);color:var(--paper)}
.journal ::selection{background:var(--paper);color:var(--forest)}
.journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding-block:76px}
.journal-intro>p{color:var(--sage);font-size:15px;margin-top:22px}
.journal-intro>p+p{margin-top:16px}
.social-links{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:27px}
.social-links a{display:flex;align-items:center;gap:20px;min-height:38px;font-size:13px;text-decoration:none}
.social-links .arrow{width:17px;height:17px}
.social-links a:hover,.social-links a:focus-visible{text-decoration:underline}
.stories{align-self:center}
.story{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:27px 0;text-decoration:none;border-top:1px solid #547065}
.story:last-child{border-bottom:1px solid #547065}
.story p{color:var(--sage);font-size:13px;margin-top:8px}
.story span{display:inline-block;font-size:12px;margin-top:14px;color:var(--sage);text-decoration:underline;text-decoration-color:#7f9485;text-underline-offset:5px}
.story:hover .arrow,.story:focus-visible .arrow{transform:translate(3px,-3px)}
.story:hover span,.story:focus-visible span{text-decoration-color:var(--paper)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding-block:75px 65px}
.contact p{font-size:14px;color:var(--muted);margin-top:23px}
.contact-details{padding-top:4px}
.person{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding:18px 0;text-decoration:none}
.person>span:first-child{display:flex;align-items:center;gap:16px;font-size:24px;font-family:var(--serif)}
.person .arrow{width:16px;height:16px}
.person>span:last-child{font-size:13px;color:var(--muted)}
.person:hover>span:last-child,.person:focus-visible>span:last-child{text-decoration:underline}
.telephone{display:flex;justify-content:space-between;align-items:center;min-height:48px;gap:16px;font-size:13px;text-decoration:none;margin-top:12px}
.telephone span{text-decoration:underline}
.footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding-block:23px 28px;color:var(--muted);font-size:12px}
@keyframes portrait-settle{from{transform:scale(1.025)}to{transform:scale(1)}}
@media(min-width:1600px){.introduction{padding-top:32px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.masthead-right{gap:30px}.introduction,.approach,.journal-grid,.contact{gap:6%}h1{font-size:64px}.portrait figcaption{flex-direction:column;gap:0}.person{align-items:flex-start;flex-direction:column;gap:4px}.approach h2{font-size:33px}.meet{font-size:21px}}
@media(max-width:760px){.wrap{width:calc(100% - 44px)}.masthead{padding-block:16px 22px}.brand{width:120px}.masthead-right{gap:0}.site-status{text-align:right;font-size:12px}.header-contact{display:none}.introduction{grid-template-columns:1fr;padding-top:22px;padding-bottom:38px;gap:34px}.introduction-copy{padding:0}h1{font-size:clamp(55px,12.5vw,80px);line-height:1.02}.meet{margin-top:24px;font-size:21px}.intro{font-size:15px;max-width:510px}.button{margin-top:25px;min-height:56px;padding-inline:20px}.invitation{margin-top:15px}.service-area{margin-top:26px;font-size:12px}.portrait-frame{aspect-ratio:1.04}.portrait figcaption{flex-direction:column;align-items:center;text-align:center;gap:2px}.portrait figcaption{font-size:12px}.portrait figcaption span:first-child{font-size:12px}.approach{grid-template-columns:1fr;gap:23px;padding-block:37px 44px}.approach h2{font-size:35px}.approach p{font-size:14px}.journal-grid{grid-template-columns:1fr;gap:36px;padding-block:45px 50px}h2{font-size:40px}.journal-intro>p{font-size:14px;margin-top:18px}.journal-intro>p+p{margin-top:12px}.social-links{margin-top:21px;gap:2px}.social-links a{min-height:44px}.story{padding-block:25px}h3{font-size:29px}.contact{grid-template-columns:1fr;gap:22px;padding-block:45px}.contact p{margin-top:18px}.person{flex-direction:row;align-items:center;padding-block:20px;gap:12px}.person>span:last-child{font-size:12px}.person>span:first-child{font-size:24px;gap:10px}.telephone{font-size:12px}.footer{flex-direction:column;gap:7px;font-size:12px;padding-block:21px 26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}


@media(max-width:360px){.brand{width:100px}.site-status{max-width:145px}.person{flex-direction:column;align-items:flex-start;gap:6px}.portrait figcaption{flex-direction:column;gap:2px}}
