/* One identity for the masthead, open menu and footer. */
.header{background:var(--navy);color:#f8f4e9;padding:24px 5%;min-height:128px;border:0;gap:28px;border-radius:0}
.brand.brand-signature{display:flex;flex-direction:row;align-items:center;gap:18px;flex-shrink:0;line-height:1;color:inherit;text-decoration:none}

.brand-wordmark{display:flex;flex-direction:column;gap:5px}.brand-first{font:italic 42px/1 Georgia,serif;letter-spacing:-.045em}.brand-first>span{color:#caa382}.brand-last{font-size:14px;line-height:1.3;letter-spacing:.05em}
.header-region{font-size:14px;line-height:1.7;color:#bfd1df;padding-left:28px;border-left:1px solid #4a6076;margin-right:auto;text-decoration:none}
.header-region>span{display:block;color:#edf3f7}.header-region:hover{color:#edf3f7}
.header-actions{gap:28px}.header-denise{font-size:15px;white-space:nowrap}.header-contact{color:#edf3f7;border:0;font-size:15px;white-space:nowrap}.header-contact>.header-link-arrow{display:block;font-size:21px;line-height:1}
.header .navigation-toggle{background:#eee6d6;color:var(--navy);padding:19px 24px;gap:20px;border-radius:0;min-height:60px;font-size:15px}.header .navigation-toggle:hover{background:#f1f6f8}
.header a:focus-visible,.header button:focus-visible{outline:2px solid #dce9f1;outline-offset:6px}
.menu-topbar{min-height:128px;padding:24px 5%}.menu-topbar .brand{color:#edf3f7}.navigation-close{border-radius:0;min-height:60px;padding:18px 22px}
.footer .brand-signature{color:var(--navy);align-self:start}.footer .brand-first>span{color:#517792}
/* Underlines describe text links, never a second hover layer or a box border. */
a{--link-hover:#476d89;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-skip-ink:auto}
a:hover{text-decoration:none;color:var(--link-hover)}
.text-link,.prose a,.page-contents>a,.denise-source,.denise-profile-link,.denise-background-body a,.work-area-footer a{border-bottom:0;padding-bottom:0;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.text-link:hover,.prose a:hover,.page-contents>a:hover,.denise-source:hover,.denise-profile-link:hover,.denise-background-body a:hover,.work-area-footer a:hover{text-decoration-line:underline}
.header,.site-menu,.contact-band{--link-hover:#bed8e9}.header a,.site-menu a,.contact-band a{--link-hover:#bed8e9}
.brand-signature:hover{text-decoration:none;color:inherit}.button:hover{color:#fff;text-decoration:none}.button.white:hover{color:var(--navy)}
.navigation-destination:hover .destination-title,.navigation-destination:focus-visible .destination-title{text-decoration:none;color:#b7d7ee}.navigation-destination[aria-current="page"] .destination-title{color:#b7d7ee;text-decoration:none}.navigation-destination[aria-current="page"]{border-bottom-color:#b7d7ee}
.header-denise[aria-current="page"],.menu-secondary [aria-current="page"]{text-decoration-thickness:1px;text-underline-offset:5px}
.service:hover{color:var(--navy)}.service-link-label{text-decoration-thickness:1px;text-underline-offset:5px}
@media(max-width:1200px){.header-region{display:none}.header-actions{margin-left:auto}.header{gap:24px}}
@media(max-width:700px){.header,.menu-topbar{min-height:96px;padding:16px 6%;gap:16px}.brand.brand-signature{gap:12px}.brand-first{font-size:31px}.brand-last{font-size:14px;letter-spacing:0}.brand-wordmark{gap:4px}.header .navigation-toggle,.navigation-close{font-size:14px;min-height:52px;padding:14px;gap:12px}.header-actions{gap:0}.header .navigation-toggle svg{width:22px}.menu-topbar{z-index:2}}
@media(max-width:360px){.header,.menu-topbar{padding-left:5%;padding-right:5%;gap:12px}.brand.brand-signature{gap:8px}.brand-first{font-size:29px}.header .navigation-toggle,.navigation-close{gap:8px;padding:12px}.header .navigation-toggle svg{width:18px}.brand-last{font-size:14px}}

/* Warm paper, a copper accent and open compositions soften the blue identity. */
:root{--blue:#e8e9df;--paper:#f5f1e8;--white:#fcfaf5;--line:#deded5;--accent:#995138}
body{background:#fcfaf5}
h1 em,.work-area-heading h2 em{color:var(--accent)}
.button{background:var(--accent);border-color:var(--accent);border-radius:0}
.button:hover{background:#79412e;border-color:#79412e}
.button.white{background:#f8f2e5;color:var(--navy);border-color:#f8f2e5}
.button.white:hover{background:#ece1cc;border-color:#ece1cc}

.home-hero{column-gap:72px;padding-top:72px;padding-bottom:48px}
/* Two type roles in the introduction: headline and supporting copy. */
.home-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:1.5rem;color:var(--navy);font-size:1.125rem;line-height:1.6}
.home-hero-copy h1{font-size:clamp(2.5rem,calc(1rem + 4.25vw),4.75rem);line-height:1.08;font-style:normal;color:inherit}
.home-hero-intro{display:flex;flex-direction:column;gap:1rem;max-width:44ch}
.home-hero-intro p{margin:0;font:inherit;color:inherit}
.home-hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}
.home-hero-actions .button,.home-hero-actions .home-area-link{font:inherit;line-height:1.4;margin:0;min-height:3rem}
.home-hero-actions .home-area-link{display:inline-flex;align-items:center;padding:.75rem 0;color:inherit}
.home-portrait-wrap{position:relative;justify-self:center;max-width:440px;width:100%;padding:28px 16px 40px}
.home-portrait-wrap:before{content:"";position:absolute;inset:12px 0 16px;background:#e4e7dc;border-radius:48% 44% 39% 48%;transform:rotate(-8deg)}
.home-portrait-wrap:after{content:"";position:absolute;inset:3px 20px 23px -8px;border:1px solid #c5aa8e;border-radius:48% 45% 41% 48%;transform:rotate(5deg);pointer-events:none}
.home-portrait-wrap>img{position:relative;display:block;width:100%;height:auto;border-radius:50%;z-index:1}


.home-about{background:transparent;max-width:1250px;margin:32px auto 0;padding:48px 5% 64px;grid-template-columns:260px minmax(0,1fr);gap:80px;border-top:1px solid var(--line)}
.home-about>img{border-radius:44% 44% 12px 12px;transform:rotate(-4deg);background:#eee4d3;padding:12px;max-width:240px;justify-self:center}
.home-about h2{max-width:18ch}.home-about p:not(.section-label){max-width:55ch}
.services{padding-top:48px}.contact-band{border-radius:0;background:#223d4d}.contact-band .section-label{color:#dbceba}
.portrait-panel{background:#ece5d6;border-radius:48% 48% 12px 12px;margin-top:40px;margin-bottom:40px}
.portrait-initial{color:#ded2b9}.portrait-heading{color:#85513b;align-self:center;margin-left:0}.portrait-panel .portrait{border-radius:46% 46% 50% 50%}
.denise-sidebar-inner{background:#efeade;border-radius:90px 90px 3px 3px;padding-top:40px}.denise-introduction img{border:5px solid #e0d5bf}.denise-question-text{color:#85513b}
.service-note{background:#e9ece3;border-radius:0}.page-title{background:#eee7d8;border-radius:0}.certifications{background:#f1ecdf}
.text-link,.prose a,.denise-source,.denise-profile-link,.denise-background-body a,.work-area-footer a{--link-hover:#995138}
.header .text-link,.site-menu .text-link,.contact-band .text-link{--link-hover:#e4c49f}
@media(max-width:1000px){.home-hero{gap:40px}.home-about{gap:48px}}
@media(max-width:760px){.home-hero{grid-template-columns:1fr;gap:24px;padding:40px 6% 24px}.home-portrait-wrap{max-width:320px;margin:12px auto 0}.home-about{padding:40px 6% 48px;gap:32px;grid-template-columns:170px minmax(0,1fr)}.home-about>img{max-width:170px}.home-about h2{font-size:34px}.contact-band{border-radius:0}.portrait-panel{border-radius:44% 44% 8px 8px}.header{border-radius:0}.denise-sidebar-inner{border-radius:48px 48px 3px 3px;padding-top:32px}}
@media(max-width:540px){.home-about{display:flex;flex-direction:column;align-items:start;margin-top:16px}.home-about>img{max-width:180px;margin-left:8px}.home-about h2 br{display:none}.home-portrait-wrap{max-width:290px}}

/* Equal text boxes keep both header links on the same baseline. */
@media(min-width:701px){
 .header-actions>a{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0;line-height:1.4}
 .header-actions .header-link-label{font-size:15px;line-height:21px}
}

.header-contact.text-link,.header-contact.text-link:hover{text-decoration:none}
.header-contact .header-link-label{text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:5px}

.service-language{margin-top:1.5rem;max-width:50ch}.service-language .text-link{font-size:1rem;line-height:1.6}.service-language-switch{display:block;margin-top:1rem;font-size:1rem}
