:root{--ink:#102d3a;--navy:#082b3d;--blue:#147d9f;--sky:#a4d9e9;--yellow:#ffda00;--muted:#506571;--line:#d9e2e6;--wash:#f1f5f7;--white:#fff;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--white);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;font-size:1rem;line-height:1.65}a{color:inherit}button{font:inherit}img{display:block;max-width:100%}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:6px}::selection{background:var(--sky);color:var(--navy)}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.skip{position:absolute;top:8px;left:8px;transform:translateY(-200%);z-index:10;background:white;padding:12px}.skip:focus{transform:none}.site-header{border-bottom:1px solid var(--line);background:white}.header-inner{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;gap:22px;align-items:center;text-decoration:none}.brand img{width:91px;height:auto}.brand-label{font-size:.75rem;line-height:1.6;letter-spacing:.14em;text-transform:uppercase;border-left:1px solid var(--line);padding-left:22px}.nav{display:flex;align-items:center;gap:35px}.nav a{text-decoration:none;font-size:.875rem;font-weight:500;padding-block:12px}.nav a:hover,.nav a[aria-current=page]{color:var(--blue)}.nav .nav-contact{border:1px solid var(--ink);padding:10px 20px}.nav-contact:hover{background:var(--navy);color:white!important}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:9px 14px;cursor:pointer}.eyebrow{font-size:.75rem;letter-spacing:.17em;text-transform:uppercase;font-weight:600;margin:0 0 25px;color:var(--blue)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.06;letter-spacing:-.045em}h1{font-size:clamp(3.4rem,5.5vw,5.2rem);margin-bottom:28px}h2{font-size:clamp(2.4rem,3.7vw,3.7rem);margin-bottom:24px}h3{font-weight:500;font-size:1.5rem;line-height:1.3;letter-spacing:-.025em;margin-bottom:18px}p{margin-bottom:22px}.lead{font-size:1.125rem;line-height:1.75;color:var(--muted);max-width:590px}.accent{color:var(--blue);font-style:italic}.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--navy);color:white;text-decoration:none;padding:15px 24px;font-size:.875rem;line-height:1.5;border:1px solid var(--navy);transition:background .15s}.button:hover{background:var(--blue);border-color:var(--blue)}.text-link{font-size:.875rem;text-underline-offset:6px;text-decoration-thickness:1px}.text-link:hover{color:var(--blue)}.intro{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr;gap:60px;padding-block:54px}.intro .eyebrow{padding-top:8px}.intro p:last-child{margin-bottom:0}.intro-statement{font-size:1.5rem;line-height:1.6;max-width:750px;letter-spacing:-.02em}.services-band{background:var(--navy);color:white;padding-block:80px 70px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-heading h2{margin-bottom:0}.section-heading .eyebrow{color:var(--sky)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #416071}.service-preview{display:block;text-decoration:none;padding:34px 38px 0 0}.service-preview+.service-preview{border-left:1px solid #416071;padding-left:38px}.service-number{font-size:.75rem;color:var(--sky);letter-spacing:.1em;display:block;margin-bottom:35px}.service-preview h3{font-family:Georgia,'Times New Roman',serif;font-size:2rem;letter-spacing:-.03em}.service-preview p{font-size:1rem;color:#c5d4dd;line-height:1.7;max-width:320px}.service-preview .text-link{display:inline-block;color:white;margin-top:8px}.service-preview:hover h3{color:var(--sky)}.approach{padding-block:95px;display:grid;grid-template-columns:1fr 1fr;gap:110px}.approach .lead{margin-bottom:0}.focus-list{list-style:none;padding:0;margin:6px 0 0;border-top:1px solid var(--line)}.focus-list li{padding:18px 0;border-bottom:1px solid var(--line);display:flex;gap:25px;align-items:baseline}.focus-list span{color:var(--blue);font-size:.75rem}.contact-strip{background:var(--wash);padding-block:65px}.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-inner h2{font-size:clamp(2.2rem,3vw,3.1rem);margin:0 0 16px}.contact-inner p{margin:0;color:var(--muted)}.site-footer{background:white;padding-block:55px 25px}.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}.footer-name{font-family:Georgia,'Times New Roman',serif;font-size:1.7rem;margin:0 0 8px}.footer-tag{color:var(--muted);font-size:.875rem}.footer-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin-bottom:12px}.footer-top a{font-size:.875rem;text-decoration:none}.footer-top a:hover{text-decoration:underline}.footer-top address{font-size:.875rem;font-style:normal}.footer-bottom{margin-top:40px;border-top:1px solid var(--line);padding-top:23px;display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:var(--muted)}.footer-bottom a{text-decoration:none}.page-intro{padding-block:75px 50px;max-width:870px}.page-intro h1{font-size:clamp(3.2rem,5vw,4.8rem)}.section-nav{display:flex;flex-wrap:wrap;gap:30px;border-block:1px solid var(--line);padding-block:20px;margin-bottom:30px}.section-nav a{font-size:.875rem;text-decoration:none}.section-nav a:hover{text-decoration:underline;text-underline-offset:5px}.service-section{display:grid;grid-template-columns:.9fr 1.35fr;gap:90px;padding-block:65px;border-bottom:1px solid var(--line)}.service-section h2{font-size:2.7rem}.service-section .service-number{color:var(--blue);margin-bottom:16px}.service-section .lead{font-size:1rem}.details-list details{border-top:1px solid var(--line)}.details-list details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;display:flex;justify-content:space-between;gap:22px;padding:20px 0;font-size:1.05rem;list-style:none}summary::-webkit-details-marker{display:none}summary::after{content:'+';color:var(--blue);font-size:1.2rem;line-height:1.3}details[open] summary::after{content:'−'}.detail-body{padding:0 35px 18px 0;color:var(--muted)}.detail-body p:last-child{margin:0}.detail-body ul{padding-left:20px;margin:0}.detail-body li{margin-bottom:9px}.services-focus{padding-block:70px 90px;display:grid;grid-template-columns:.9fr 1.35fr;gap:90px}.services-focus h2{font-size:2.5rem}.team-section{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:64px;align-items:center;padding-block:10px 90px}.portrait{width:100%;max-width:320px;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center}.team-section>div{max-width:620px}.team-section h2{font-size:3rem;margin-bottom:12px}.role{font-size:.875rem;color:var(--blue);margin-bottom:28px}.bio-grid{display:grid;grid-template-columns:330px 1fr;gap:90px;padding-block:70px 90px}.bio-aside .portrait{margin-bottom:22px}.bio-aside p{font-size:.875rem;color:var(--muted)}.bio-article h1{font-size:4rem}.bio-article p{color:var(--muted)}.bio-article .lead{font-size:1.3rem;color:var(--ink)}.bio-article h2{font-size:2rem;margin-top:38px}.small-note{font-size:.875rem;color:var(--muted)}.error-page{padding-block:100px;min-height:55vh}

@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.brand-label{display:none}.approach,.service-section,.services-focus,.team-section,.bio-grid{gap:50px}.bio-grid{grid-template-columns:270px 1fr}.service-preview{padding-right:24px}.service-preview+.service-preview{padding-left:24px}.nav{gap:24px}}
@media(max-width:740px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:85px;position:relative;flex-wrap:wrap;gap:0}.brand img{width:76px}.menu-toggle{display:block}.nav{width:100%;flex-direction:column;align-items:stretch;gap:0;padding:10px 0 22px}.nav a{padding:12px 2px}.nav .nav-contact{margin-top:8px;text-align:center}.js .nav{display:none}.js .nav.is-open{display:flex}.eyebrow{margin-bottom:22px;letter-spacing:.13em}.actions{gap:24px;margin-top:27px}.intro{grid-template-columns:1fr;gap:8px;padding-block:36px}.intro-statement{font-size:1.25rem}.services-band{padding-block:50px}.section-heading{display:block;margin-bottom:30px}.section-heading>.text-link{display:inline-block;margin-top:23px}.services-grid{grid-template-columns:1fr}.service-preview,.service-preview+.service-preview{border-left:0;padding:28px 0;border-bottom:1px solid #416071}.service-preview:last-child{border-bottom:0;padding-bottom:0}.service-number{margin-bottom:16px}.service-preview p{max-width:none}.approach{grid-template-columns:1fr;gap:30px;padding-block:55px}.contact-strip{padding-block:42px}.contact-inner{display:block}.contact-inner .button{margin-top:26px}.footer-top{grid-template-columns:1fr;gap:25px}.site-footer{padding-top:40px}.footer-bottom{flex-wrap:wrap;margin-top:30px}.page-intro{padding-block:45px 30px}.page-intro h1{font-size:3.3rem}.section-nav{gap:18px;font-size:.875rem}.service-section,.services-focus,.team-section,.bio-grid{grid-template-columns:1fr;gap:25px}.service-section{padding-block:38px}.services-focus{padding-block:45px}.team-section{padding-bottom:55px}.team-section .portrait{max-width:240px;object-position:center}.bio-grid{padding-block:42px 55px}.bio-aside{order:2}.bio-aside .portrait{max-width:240px}.bio-article h1{font-size:3.3rem}.bio-article h2{font-size:1.9rem}.error-page{padding-block:55px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* The opening photograph is a full-width background behind the navigation and copy. */
body:not(.home-page) .site-header{background:var(--navy);color:#fff;border-bottom-color:#365566}
body:not(.home-page) .site-header .brand-label{color:#d4e1e8;border-color:rgba(255,255,255,.28)}
body:not(.home-page) .site-header .nav a:hover{color:#b9e8f8}
body:not(.home-page) .site-header .nav a[aria-current=page]{color:#fff;text-decoration:underline;text-underline-offset:9px;text-decoration-color:#b9e8f8;text-decoration-thickness:1px}
body:not(.home-page) .site-header .nav-contact{border-color:rgba(255,255,255,.7)}
body:not(.home-page) .site-header .nav-contact:hover{background:rgba(255,255,255,.13)}
body:not(.home-page) .site-header .menu-toggle{color:#fff;border-color:rgba(255,255,255,.65)}
body:not(.home-page) .site-header a:focus-visible,body:not(.home-page) .site-header button:focus-visible{outline-color:var(--yellow)}
.home-page .site-header{position:absolute;inset:0 0 auto;z-index:2;background:transparent;color:#fff;border-color:rgba(255,255,255,.22)}
.home-page .brand-label{border-color:rgba(255,255,255,.28)}
.home-page .nav a:hover,.home-page .nav a[aria-current=page]{color:#b9e8f8}
.home-page .nav .nav-contact{border-color:rgba(255,255,255,.7)}
.home-page .nav-contact:hover{background:rgba(255,255,255,.13)}
.home-page .menu-toggle{color:white;border-color:rgba(255,255,255,.65)}
.home-page .skip{color:var(--navy)}
.hero{min-height:100svh;display:flex;align-items:center;padding:190px 0 100px;background-color:#082b3d;background-image:linear-gradient(90deg,rgba(4,25,42,.85) 0%,rgba(4,25,42,.67) 38%,rgba(4,25,42,.18) 100%),linear-gradient(180deg,rgba(4,25,42,.36) 0%,transparent 40%,rgba(4,25,42,.42) 100%),url('/assets/dolomites.jpg');background-size:cover;background-position:center,center,center 38%;color:white}
.hero-copy{max-width:810px}
.hero .eyebrow{color:#cae6ef;font-size:.875rem;letter-spacing:.16em;margin-bottom:30px}
.hero h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(4rem,7vw,7rem);font-weight:400;line-height:1.03;letter-spacing:-.055em;margin-bottom:34px}
.hero-period{color:var(--yellow)}
.hero .lead{max-width:575px;color:#e6edf2;font-size:1.1875rem;line-height:1.75}
.hero .actions{margin-top:40px;gap:32px}
.hero .button{background:white;border-color:white;color:#082b3d;padding:16px 25px}
.hero .button:hover{background:#d8edf6;border-color:#d8edf6}
.hero .text-link{color:white;text-decoration-color:rgba(255,255,255,.6)}
.hero .text-link:hover{text-decoration-color:white}
.hero a:focus-visible,.home-page .site-header a:focus-visible,.home-page .menu-toggle:focus-visible{outline-color:var(--yellow)}
.home-page .intro{border-top:0}
@media(max-width:740px){
 .hero{min-height:100svh;padding:155px 0 85px;background-image:linear-gradient(90deg,rgba(4,25,42,.81),rgba(4,25,42,.5)),linear-gradient(180deg,rgba(4,25,42,.3),transparent 60%,rgba(4,25,42,.35)),url('/assets/dolomites.jpg');background-position:center,center,61% center}
 .hero h1{font-size:clamp(3.6rem,12vw,5.4rem);margin-bottom:28px}
 .hero .eyebrow{font-size:.75rem;max-width:290px;line-height:1.8;margin-bottom:23px}
 .hero .lead{font-size:1.0625rem;max-width:450px}
 .hero .actions{margin-top:30px;gap:24px}
 .home-page .site-header:has(.nav.is-open){background:#082b3d}
 .home-page .nav.is-open{padding-bottom:22px}
}
@media(max-height:600px) and (min-width:741px){.hero{padding-top:155px;padding-bottom:65px}}

/* A consistent type and spacing system carries the opening into the rest of the site. */
h1,h2,.service-preview h3,.footer-name{font-family:Arial,Helvetica,sans-serif;letter-spacing:-.035em}
h2{line-height:1.13}
.service-preview h3{font-size:1.75rem;line-height:1.25;max-width:285px}
.button,.nav-contact{transition:background .18s,border-color .18s,color .18s}
.button,.nav-contact,.menu-toggle{border-radius:6px}
.text-link{display:inline-flex;align-items:center;gap:8px;min-height:36px}
.brand-label{font-size:.75rem;font-weight:400;letter-spacing:.11em;color:var(--muted)}
.home-page .brand-label{color:#d4e1e8}
.home-page .nav a[aria-current=page]{color:white;text-decoration:underline;text-underline-offset:9px;text-decoration-color:#b9e8f8;text-decoration-thickness:1px}
.hero h1{font-size:clamp(4rem,6.6vw,6.5rem);letter-spacing:-.045em;line-height:1.05}
.hero .lead{max-width:560px;line-height:1.8}
.hero .button{min-height:56px}
.home-intro{background:var(--navy);color:white}
.home-page .intro{padding-block:65px 60px;border-bottom:1px solid #365566;align-items:start}
.home-page .intro .eyebrow{color:var(--sky);padding-top:6px}
.home-page .intro-statement{font-size:1.375rem;line-height:1.75;max-width:730px;color:#dde8ed;margin-bottom:0}
.home-page .services-band{padding-block:65px 88px}
.service-preview{display:flex;flex-direction:column;align-items:flex-start}
.service-preview .text-link{margin-top:auto;padding-top:10px;min-height:42px;text-decoration:underline;text-underline-offset:6px;text-decoration-color:#8aa7b6}
.service-preview:hover .text-link{text-decoration-color:white}
.service-preview:focus-visible{outline-color:var(--sky);outline-offset:8px}
.service-preview .service-number{margin-bottom:27px}
.home-page .approach{padding-block:100px;gap:95px}
.home-page .approach h2{max-width:475px}
.home-page .focus-list li{padding-block:21px;line-height:1.55}
.home-page .contact-strip{background:#edf3f5;padding-block:66px}
.home-page .contact-inner h2{font-size:clamp(2.1rem,3vw,2.8rem)}
.footer-name{font-size:1.5rem;letter-spacing:-.025em}
html:not(.js) .home-page .site-header{position:relative;background:var(--navy)}
@media(max-width:1050px){.home-page .approach{gap:50px}}
@media(max-width:740px){
 .hero h1{font-size:clamp(3.15rem,13vw,5.4rem);letter-spacing:-.045em}
 .hero .eyebrow{font-size:.8125rem;letter-spacing:.12em;max-width:320px}
 .hero .actions{align-items:flex-start;flex-direction:column;gap:13px;width:min(100%,350px)}
 .hero .actions .button{width:100%;justify-content:space-between}
 .hero .actions .text-link{min-height:44px}
 .page-intro h1{font-size:clamp(2.5rem,10vw,3.3rem)}
 .home-page .intro{padding-block:43px;gap:7px}
 .home-page .intro-statement{font-size:1.1875rem;line-height:1.75}
 .home-page .services-band{padding-block:43px 52px}
 .service-preview .service-number{margin-bottom:17px}
 .service-preview h3{max-width:none;font-size:1.625rem}
 .service-preview p{margin-bottom:14px}
 .service-preview .text-link{padding-top:0;min-height:44px}
 .home-page .approach{padding-block:55px;gap:36px}
 .home-page .contact-strip{padding-block:44px}
}
@media(prefers-reduced-motion:reduce){.button,.nav-contact{transition:none}}
