@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@400;500;600;700&family=IM+Fell+English:ital@0;1&family=Cinzel:wght@500;600&display=swap');
:root{--ink:#171c1b;--dark:#111615;--paper:#f1ebdf;--muted:#b5bbb2;--teal:#9cc4b4;--plum:#c1a2b8;--line:rgba(239,233,220,.17);--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ink);color:var(--paper);font:15px/1.7 var(--sans)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:6px}::selection{background:var(--plum);color:var(--dark)}.wrap{max-width:1320px;margin:auto;padding:0 6%}.skip{position:absolute;top:-100px;left:20px;background:var(--paper);color:var(--dark);padding:10px;z-index:50}.skip:focus{top:10px}.header{position:sticky;top:0;background:rgba(23,28,27,.97);z-index:10;border-bottom:1px solid var(--line)}.nav{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;flex-direction:column;line-height:1.1;font:600 26px var(--serif);letter-spacing:2px}.brand small{font:10px var(--sans);letter-spacing:4.5px;margin-top:5px}.navlinks{display:flex;align-items:center;gap:30px;font-size:12px}.navlinks a:not(.button){color:var(--muted)}.navlinks a:hover,.navlinks a[aria-current=page]{color:var(--paper)}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:49px;padding:12px 24px;background:var(--teal);color:var(--dark);font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--teal);transition:background .2s,transform .2s}.button:hover{background:#b9d7c9;transform:translateY(-2px)}.button.secondary{background:transparent;color:var(--paper);border-color:var(--line)}.button.secondary:hover{border-color:var(--teal);background:rgba(156,196,180,.06)}.menu{display:none;color:var(--paper);background:transparent;border:1px solid var(--line);padding:8px 14px}.eyebrow{font-size:10px;letter-spacing:2.7px;text-transform:uppercase;color:var(--teal);font-weight:600}.hero{position:relative;padding:67px 0 68px;overflow:hidden;background:radial-gradient(ellipse at 80% 40%,rgba(111,68,101,.13),transparent 55%)}.hero-grid{display:grid;grid-template-columns:1.06fr 1fr;gap:7%;align-items:center}.hero h1{font:400 clamp(58px,6.2vw,88px)/.99 var(--serif);letter-spacing:-2.7px;margin:25px 0 28px}.hero h1 em{color:var(--plum);font-weight:400}.hero .intro{max-width:430px;color:var(--muted);font-size:14px;line-height:1.9}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.micro{font-size:10px;letter-spacing:1px;color:var(--muted)}.art{position:relative;padding:18px 18px 0}.art:before{content:'';position:absolute;inset:0 0 28px;border:1px solid rgba(193,162,184,.45);border-radius:230px 230px 5px 5px;transform:rotate(4deg)}.art img{position:relative;width:100%;display:block;border-radius:230px 230px 3px 3px;filter:saturate(.7);aspect-ratio:807/1000;object-fit:cover;max-height:585px}.art-caption{position:relative;display:flex;align-items:center;gap:15px;margin:19px 0 0;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.art-caption:before{content:'✦';font-size:20px;color:var(--plum)}.ribbon{border-block:1px solid var(--line);background:var(--dark)}.ribbon .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:69px;font-size:10px;letter-spacing:1.6px;text-transform:uppercase}.ribbon span:before{content:'✦';color:var(--plum);margin-right:17px}.section{padding:90px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:40px}.section h2,.page-head h1{font:400 clamp(38px,4.1vw,58px)/1.08 var(--serif);letter-spacing:-1px;margin:15px 0}.section-head p{max-width:350px;color:var(--muted);font-size:13px}.textlink{font-size:12px;border-bottom:1px solid currentColor;padding-bottom:4px;color:var(--teal);display:inline-block}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:30px 24px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;transition:background .2s}.service-card:hover{background:rgba(193,162,184,.06)}.num{font:italic 25px var(--serif);color:var(--plum)}.service-card h3{font:400 28px/1.13 var(--serif);margin:33px 0 16px}.service-card p{font-size:12px;color:var(--muted);margin:0 0 28px}.service-card .textlink{align-self:start;margin-top:auto}.paper{background:var(--paper);color:var(--ink)}.paper .eyebrow{color:#536b60}.paper .muted,.paper p{color:#5b615c}.paper .button{background:var(--ink);border-color:var(--ink);color:var(--paper)}.split{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.statement{font:400 clamp(37px,4vw,56px)/1.15 var(--serif);margin:15px 0 0}.statement em{color:#765a70}.feature-list{margin-top:25px}.feature{padding:20px 0;border-bottom:1px solid #d2cfc4;display:flex;gap:22px}.feature b{font:italic 24px var(--serif);color:#765a70}.feature h3{font-size:13px;margin:0 0 5px}.feature p{font-size:12px;margin:0}.team-teaser{display:grid;grid-template-columns:.9fr 1fr;gap:12%;align-items:center}.team-art{min-height:310px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#35423b 0%,#1d2622 65%);position:relative;overflow:hidden}.team-art .seal{width:205px;height:205px;border:1px solid var(--plum);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;outline:1px solid rgba(193,162,184,.22);outline-offset:13px}.seal span{font:italic 66px var(--serif);color:var(--plum)}.seal small{font-size:9px;text-transform:uppercase;letter-spacing:2px}.team-teaser p{color:var(--muted);font-size:13px}.cta{border-top:1px solid var(--line);padding:65px 0;background:#202824}.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{font:400 clamp(34px,4vw,50px)/1.1 var(--serif);margin:10px 0}.cta p{font-size:13px;color:var(--muted)}footer{padding:45px 0 22px;background:var(--dark)}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:start}.footer-top p{font-size:12px;color:var(--muted)}.footer-links{display:flex;gap:30px;font-size:12px}.footer-bottom{margin-top:35px;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.page-head{padding:65px 0 55px;border-bottom:1px solid var(--line)}.page-head p{max-width:610px;color:var(--muted);font-size:14px}.service-detail{display:grid;grid-template-columns:.75fr 1.25fr;gap:10%;padding:48px 0;border-bottom:1px solid var(--line)}.service-detail h2{font:400 40px/1.1 var(--serif);margin:15px 0}.service-detail p,.service-detail li{font-size:13px;color:var(--muted)}.service-detail ul{padding-left:19px}.service-detail .tag{font-size:10px;color:var(--plum);letter-spacing:1px;text-transform:uppercase}.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}.role{border:1px solid var(--line);padding:28px}.role .symbol{font:36px var(--serif);color:var(--plum)}.role h3{font:28px/1.15 var(--serif);margin:20px 0}.role p{font-size:12px;color:var(--muted)}.notice{font-size:12px;border-left:2px solid var(--plum);padding:12px 18px;background:rgba(193,162,184,.07);color:var(--muted);margin-top:30px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}.contact-layout h2{font:36px var(--serif);margin:10px 0}.contact-layout p{color:var(--muted);font-size:13px}.contact-info{display:grid;gap:25px;margin-top:35px}.contact-info small{display:block;color:var(--plum);font-size:10px;letter-spacing:2px;text-transform:uppercase}.contact-info a{font-size:16px}.form{padding:30px;border:1px solid var(--line);background:rgba(255,255,255,.02)}.form label{display:block;font-size:12px;margin-bottom:18px}.form input,.form select,.form textarea{display:block;width:100%;background:var(--dark);color:var(--paper);border:1px solid var(--line);padding:12px;margin-top:7px;border-radius:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form textarea{resize:vertical;min-height:100px}.form .fine{font-size:11px;color:var(--muted)}.form-status{font-size:12px;color:var(--teal)}details{padding:20px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:14px}details p{font-size:13px;color:var(--muted);max-width:750px}.faq{max-width:850px}.badge{display:inline-block;color:var(--plum);font-size:10px;text-transform:uppercase;letter-spacing:2px}.fade{animation:fade .8s both}@keyframes fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(min-width:1450px){.hero{padding-block:85px}}@media(max-width:950px){.navlinks{gap:18px}.navlinks .button{padding:10px 13px}.hero-grid{gap:5%}.hero h1{font-size:65px}.services-grid{grid-template-columns:repeat(2,1fr)}.roles{grid-template-columns:1fr}.role{display:block}.split,.team-teaser{gap:7%}}@media(max-width:720px){.wrap{padding:0 6%}.nav{min-height:78px}.brand{font-size:23px}.menu{display:block}.navlinks{display:none;position:absolute;left:0;right:0;top:78px;padding:25px 6%;background:var(--ink);border-bottom:1px solid var(--line);align-items:stretch}.navlinks.open{display:flex;flex-direction:column}.hero{padding:45px 0}.hero-grid{grid-template-columns:1fr;gap:38px}.hero h1{font-size:66px;max-width:500px}.hero .intro{max-width:100%}.art{max-width:390px;margin:auto}.art img{max-height:none}.ribbon .wrap{flex-wrap:wrap;justify-content:center;gap:12px 22px;padding-block:20px;font-size:9px}.ribbon span:before{margin-right:8px}.section{padding:60px 0}.section-head{display:block}.section-head p{max-width:100%}.split,.team-teaser,.contact-layout,.service-detail{grid-template-columns:1fr;gap:30px}.team-teaser{gap:35px}.cta .wrap{display:block}.footer-top{flex-direction:column}.footer-bottom{gap:20px;flex-wrap:wrap}.service-detail{padding:35px 0}.service-detail h2{font-size:35px}.page-head{padding:45px 0}.form{padding:22px}}@media(max-width:410px){.hero h1{font-size:58px}.services-grid{grid-template-columns:1fr}.service-card h3{margin-top:22px}.form-row{grid-template-columns:1fr;gap:0}.footer-links{gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Botanical gothic direction: antique lettering, plum shadows, engraved borders. */
:root{--ink:#1b171e;--dark:#100e13;--paper:#eee3cd;--muted:#c1b6be;--teal:#bacab8;--plum:#c1a0b9;--line:rgba(197,168,120,.26);--antique:'IM Fell English',Georgia,serif;--gold:#b8a17b}
body{background-image:radial-gradient(ellipse at 0 30%,rgba(91,45,72,.1),transparent 50%)}
.header{background:rgba(20,16,24,.97);border-bottom-color:rgba(184,161,123,.45)}
.brand{font-family:'Cinzel',Georgia,serif;font-size:24px;letter-spacing:2.5px}
.brand small{color:var(--gold)}
.hero{background:radial-gradient(ellipse at 77% 42%,rgba(102,48,83,.28),transparent 57%),linear-gradient(130deg,#17131b,#211923 60%,#141018);border-bottom:1px solid var(--line)}
.hero:before,.hero:after{position:absolute;pointer-events:none;color:rgba(184,161,123,.3);font:110px var(--antique);line-height:1}
.hero:before{content:'☙';top:17px;left:20px}
.hero:after{content:'❧';bottom:0;right:24px}
.hero h1{font-family:var(--antique);font-size:clamp(58px,6vw,84px);letter-spacing:-1.9px;line-height:1.06;text-shadow:0 3px 24px rgba(0,0,0,.25)}
.hero h1 em{color:#c5a1bc}
.eyebrow{color:#c6b18d;letter-spacing:2.8px}
.button{background:#c7b797;border-color:#c7b797;color:#19131e}
.button:hover{background:#e0ceb0}
.button.secondary{border-color:rgba(197,168,120,.45);color:var(--paper)}
.button.secondary:hover{border-color:var(--gold);background:rgba(184,161,123,.08)}
.art:before{border-color:#9c806a;border-radius:48% 48% 2px 2px;transform:rotate(0);inset:-1px 3px 32px;box-shadow:0 0 0 5px #211923,0 0 0 6px rgba(184,161,123,.3)}
.art{padding:15px 18px 0}
.art img{border-radius:48% 48% 2px 2px;filter:saturate(.67) sepia(.08);border:1px solid rgba(184,161,123,.65)}
.art-caption{color:#c6b18d;justify-content:center;letter-spacing:2px}
.art-caption:before{content:'❧';color:#c1a0b9;font-size:27px}
.ribbon{background:#100e13;border-block-color:rgba(184,161,123,.3)}
.ribbon span:before{content:'❖';color:#b99b83}
.section h2,.page-head h1,.cta h2,.statement{font-family:var(--antique);font-weight:400;letter-spacing:-.4px;line-height:1.16}
.service-card{background:linear-gradient(145deg,rgba(78,47,67,.1),transparent);position:relative;padding-top:35px}
.service-card:after{content:'◇';position:absolute;right:18px;top:24px;font-size:20px;color:rgba(184,161,123,.6)}
.service-card h3,.service-detail h2,.role h3,.contact-layout h2{font-family:var(--antique)}
.service-card:hover{background:rgba(123,73,109,.12)}
.num{color:#c7aa8f}
.textlink{color:#c4ccb9;border-bottom-color:rgba(184,161,123,.65)}
.paper{background-color:#e9ddc5;background-image:radial-gradient(ellipse at top left,rgba(143,103,54,.12),transparent 65%),radial-gradient(ellipse at bottom right,rgba(119,67,95,.1),transparent 65%);border-block:1px solid #ad987a;color:#261d29}
.paper .eyebrow{color:#6c4b63}
.paper p{color:#584d53}
.paper .statement em{color:#704765}
.paper .feature{border-color:rgba(106,76,96,.26)}
.paper .feature b{color:#704765}
.paper .button{background:#322437;border-color:#322437}
.team-art{background:radial-gradient(ellipse,#3b283c,#1b141f 70%);border:1px solid #8d745f;outline:1px solid rgba(184,161,123,.25);outline-offset:-8px;min-height:330px}
.team-art:before,.team-art:after{position:absolute;color:#a78c75;font:62px var(--antique)}
.team-art:before{content:'☙';left:18px;top:4px}
.team-art:after{content:'❧';right:18px;bottom:4px}
.team-art .seal{border-color:#a78c75;outline-color:rgba(184,161,123,.35);width:220px;height:220px}
.seal span{font-family:var(--antique);font-size:43px;margin:10px 0;color:#d0b3c5}
.seal small{color:#c4b28f}
.cta{background:radial-gradient(ellipse at right,rgba(107,62,94,.3),transparent 70%),#241c29;border-block:1px solid rgba(184,161,123,.4)}
.page-head{background:radial-gradient(ellipse at right top,rgba(103,55,88,.25),transparent 70%),#19141d}
.role{background:linear-gradient(145deg,rgba(101,59,89,.13),transparent)}
footer{border-top:1px solid rgba(184,161,123,.3)}
@media(max-width:720px){.navlinks{background:#1b171e}.hero h1{font-size:64px}.hero:before{font-size:75px;left:auto;right:18px;top:5px}.hero:after{font-size:80px}.hero .intro{max-width:100%}.art{width:100%}.section h2{font-size:38px}.seal span{font-size:40px}}
@media(max-width:410px){.hero h1{font-size:57px}.brand{font-size:22px}}

/* Keep the gothic framing clean, without ornamental leaf symbols. */
.hero:before,.hero:after,.team-art:before,.team-art:after{content:none;display:none}
.art-caption:before{content:none;display:none}

/* Full business name at a balanced size in the header. */
.header .wordmark{display:block;font-family:'Cinzel',Georgia,serif;font-size:22px;font-weight:500;letter-spacing:.7px;line-height:1.3;white-space:nowrap}
@media(max-width:950px){.header .wordmark{font-size:19px;letter-spacing:.3px}}
@media(max-width:720px){.header .wordmark{font-size:clamp(14px,3.5vw,19px);letter-spacing:.2px}.nav{gap:12px}}

/* Desktop nautical-star cursor with an integrated plum halo. */
@media(hover:hover) and (pointer:fine){
 html,body,a,button,select,summary,label{cursor:url('/assets/compass-cursor.svg?v=2') 24 24,auto}
 a,button,select,summary{cursor:url('/assets/compass-cursor.svg?v=2') 24 24,pointer}
 input,textarea,[contenteditable='true']{cursor:text}
}

footer .wordmark{display:block;font-family:'Cinzel',Georgia,serif;font-size:22px;font-weight:500;letter-spacing:.7px;line-height:1.3;white-space:nowrap}
@media(max-width:720px){footer .wordmark{font-size:clamp(16px,4vw,22px);letter-spacing:.2px}}

.hero h1.expertise-headline{font-size:clamp(36px,4.8vw,68px);line-height:1.08;letter-spacing:-1.2px}
.hero-signature{font:italic 27px/1.3 var(--antique);color:var(--plum);margin:-8px 0 28px}
@media(max-width:720px){.hero h1.expertise-headline{font-size:clamp(34px,7.7vw,52px)}.hero-signature{font-size:25px}}

.section h2.ambition-statement{font-size:clamp(19px,2.3vw,34px)}.ambition-statement span{display:block;white-space:nowrap}@media(max-width:720px){.section h2.ambition-statement{font-size:clamp(19px,4.3vw,30px)}}

.hero-signature.hero-signature-closing{margin:22px 0 28px}

/* Give each desktop service-overview sentence its own complete line. */
.services-overview-title span{display:block}
@media(min-width:721px){.services-overview-head{flex-direction:column;align-items:stretch;gap:0}.section h2.services-overview-title{font-size:clamp(28px,4.1vw,58px)}.services-overview-title span{white-space:nowrap}.services-overview-head>p{max-width:580px;margin-top:10px}}

/* Keep the mobile logo at its original proportions inside the arch. */
@media(max-width:720px){.art img{height:auto}}

/* Draw arrows consistently rather than using device-specific text glyphs. */
.arrow-icon{display:inline-block;width:14px;height:14px;vertical-align:-2px;flex-shrink:0}

/* Place the mobile headline break after "isn’t". */
.mobile-title-break{display:none}
@media(max-width:720px){.mobile-title-break{display:inline}}
