
:root{
  --bg:#f7f4ef;
  --surface:#ffffff;
  --surface-2:#f1ece5;
  --surface-3:#eae4db;
  --text:#1c2736;
  --muted:#556173;
  --line:#d8d3ca;
  --line-strong:#c8c1b6;
  --navy:#10283d;
  --navy-2:#14344f;
  --accent:#a77a48;
  --max:1280px;
  --reading:760px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;min-height:100vh;background:linear-gradient(180deg,#faf8f4 0%,#f4efe8 100%);color:var(--text);font-family:Inter,"Helvetica Neue",Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block} button,input,select,textarea{font:inherit}
.container{width:min(var(--max),calc(100% - 64px));margin:0 auto}
::selection{background:#d9ccb9}

header{position:sticky;top:0;z-index:60;background:rgba(250,248,244,.92);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid rgba(18,40,61,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:24px}
.brand-wordmark{display:inline-flex;flex-direction:column;gap:4px;color:var(--text);font-size:1.06rem;font-weight:500;letter-spacing:.34em;line-height:1}
.brand-wordmark::after{content:"COMPLIANCE";font-size:.64rem;letter-spacing:.32em;color:var(--text);opacity:.82;font-weight:400}
nav{margin-left:auto}
nav>ul{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
nav a,.nav-dropdown-toggle{font-size:.95rem;color:#334154;background:none;border:0;padding:0;cursor:pointer}
nav a:hover,.nav-dropdown-toggle:hover{color:var(--navy)}
.nav-dropdown{position:relative}
.nav-dropdown-menu{display:none;position:absolute;top:calc(100% + 16px);left:-14px;min-width:220px;list-style:none;margin:0;padding:10px 0;background:#fff;border:1px solid rgba(16,40,61,.12);box-shadow:0 10px 30px rgba(16,40,61,.08)}
.nav-dropdown.open .nav-dropdown-menu{display:block}
.nav-pending{display:block;padding:10px 16px;font-size:.92rem;color:var(--muted)}
.nav-pending:hover{background:#f5f1eb;color:var(--navy)}
.nav-cta{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:14px;background:var(--navy);color:#fff!important;font-size:.95rem;box-shadow:0 10px 24px rgba(10,28,46,.10)}
.lang-switch{display:inline-flex;gap:8px;font-size:.88rem;color:#4f5b6b;white-space:nowrap}.lang-link,.lang-current{font-size:.88rem!important}.lang-current{font-weight:600;color:var(--navy)!important}.lang-sep{opacity:.45}
.mobile-toggle{display:none;width:40px;height:40px;padding:0;background:none;border:0;color:var(--navy);position:relative}.menu-lines,.menu-lines::before,.menu-lines::after{position:absolute;left:8px;right:8px;height:2px;background:currentColor;content:""}.menu-lines{top:19px}.menu-lines::before{top:-7px;left:0;right:0}.menu-lines::after{top:7px;left:0;right:0}

h1,h2,h3{margin:0;color:var(--text);font-weight:350;letter-spacing:-.04em;line-height:1.05}
h1{font-size:clamp(2.9rem,6.1vw,5.6rem)}
h2{font-size:clamp(2.15rem,4vw,3.9rem)}
h3{font-size:1.4rem}
p{margin-top:0}
.eyebrow,.kicker,.news-label{font-size:.84rem;text-transform:uppercase;letter-spacing:.28em;color:#6a7482}
.small,.notice{font-size:.92rem;color:var(--muted)}
.actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;border:1px solid rgba(16,40,61,.18);background:#fff;color:var(--navy);font-weight:500;transition:transform .25s ease, box-shadow .25s ease, background .25s ease}
.btn:hover,.nav-cta:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(16,40,61,.12)}
.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.secondary{background:transparent;color:var(--navy)}

/* Homepage */
.page-home .hero{position:relative;min-height:760px;padding:0;display:flex;align-items:stretch;background:url('/assets/hero-harbor.jpg') center/cover no-repeat;border-bottom:1px solid rgba(16,40,61,.08)}
.page-home .hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(244,239,232,.85) 0%, rgba(244,239,232,.80) 24%, rgba(244,239,232,.48) 44%, rgba(244,239,232,.10) 64%, rgba(244,239,232,.05) 100%)}
.page-home .hero .container{position:relative;display:flex;align-items:center}
.page-home .hero-grid{display:block;width:100%}
.page-home .hero-copy{max-width:560px;padding:92px 0 110px}
.page-home .hero .eyebrow{margin-bottom:20px}
.page-home .hero p{margin:24px 0 32px;max-width:560px;font-size:1.18rem;line-height:1.7;color:#334154}
.page-home .hero-mark{display:none}
.section{padding:96px 0;background:transparent}
.section.alt{background:transparent}
.section-title{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:46px;align-items:start;margin-bottom:48px}
.section-title p{margin:0;color:var(--muted);font-size:1.08rem;line-height:1.72}
.content{max-width:var(--reading)}
.content p,.content li{color:var(--muted);font-size:1rem;line-height:1.78}
.content ul{padding-left:20px}
.callout{border-left:1px solid #c6b08c;padding:0 0 0 22px}
.callout p{color:var(--text)}

.home-services-overview{padding-top:78px}
.home-service-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent}
.home-service-item{padding:34px 18px 26px;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;min-height:188px;justify-content:flex-start}
.home-service-item:last-child{border-right:0}
.service-icon{width:44px;height:44px;object-fit:contain}
.home-service-label{font-size:1rem;line-height:1.45;color:var(--text)}
.home-service-arrow{margin-top:auto;color:var(--navy);font-size:1.1rem}

.home-split-feature .container,.home-secondary-section .container{display:grid;gap:0;overflow:hidden;background:#fff}
.home-split-feature .container{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-areas:"image title" "image content" "image actions"}
.home-secondary-section .container{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-areas:"title image" "content image" "actions image"}
.home-split-feature .section-title,.home-secondary-section .section-title{grid-area:title;display:block;margin:0;padding:62px 56px 22px;background:#fff}
.home-split-feature .content,.home-secondary-section .content{grid-area:content;display:block;padding:0 56px 24px;background:#fff;max-width:none}
.home-split-feature .content ul,.home-secondary-section .content ul{margin:0;padding-left:20px}
.home-split-feature .content li,.home-secondary-section .content li{font-size:.92rem;line-height:1.55;margin:5px 0}
.home-split-feature .actions,.home-secondary-section .actions{grid-area:actions;padding:0 56px 58px;background:#fff}
.home-split-feature .container::before{content:"";display:block;grid-area:image;min-height:520px;background:url('/assets/mountain-panel.jpg') center/cover no-repeat}
.home-secondary-section .container::after{content:"";display:block;grid-area:image;min-height:500px;background:url('/assets/services-hero.jpg') center/cover no-repeat}
.home-didyouknow{padding-top:0}
.home-didyouknow .container{background:url('/assets/didyouknow-strip.jpg') center/cover no-repeat;padding:58px 56px;border-radius:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:start;position:relative;overflow:hidden}
.home-didyouknow .container::before{content:"";position:absolute;inset:0;background:rgba(14,34,52,.48)}
.home-didyouknow .callout,.home-didyouknow h3,.home-didyouknow p,.home-didyouknow a{position:relative;color:#fff}
.home-didyouknow .callout{border-left-color:rgba(255,255,255,.45)}
.home-didyouknow h3{font-weight:500;letter-spacing:.18em;text-transform:uppercase;font-size:.88rem;margin-bottom:18px}

/* Services page */
.page-hero{padding:84px 0;border-bottom:1px solid rgba(16,40,61,.08);background:linear-gradient(180deg,#fbf8f3 0%,#f3ede5 100%)}
.page-services .page-hero,.page-contact .page-hero,.trade-updates-page .news-masthead{position:relative;overflow:hidden}
.page-services .page-hero::before,.page-contact .page-hero::before,.trade-updates-page .news-masthead::before{content:"";position:absolute;inset:0;background-position:center;background-size:cover;opacity:.9}
.page-services .page-hero::before{background-image:linear-gradient(90deg,rgba(14,33,50,.78),rgba(14,33,50,.44)), url('/assets/services-hero.jpg')}
.page-contact .page-hero::before{background-image:linear-gradient(90deg,rgba(14,33,50,.78),rgba(14,33,50,.42)), url('/assets/contact-port.jpg')}
.trade-updates-page .news-masthead::before{background-image:linear-gradient(90deg,rgba(14,33,50,.82),rgba(14,33,50,.48)), url('/assets/news-hero.jpg')}
.page-services .page-hero .container,.page-contact .page-hero .container,.trade-updates-page .news-masthead .container{position:relative;z-index:1;color:#fff}
.page-services .page-hero h1,.page-contact .page-hero h1,.trade-updates-page .news-masthead h1,.page-services .page-hero p,.page-contact .page-hero p,.trade-updates-page .news-masthead p,.page-services .page-hero .kicker,.page-contact .page-hero .kicker,.trade-updates-page .news-masthead .kicker,.trade-updates-page .news-edition{color:#fff}
.page-services .page-hero p,.page-contact .page-hero p,.trade-updates-page .news-masthead> .container>p{max-width:760px;font-size:1.1rem;opacity:.95}
.services-editorial{display:grid;grid-template-columns:minmax(0,1.08fr) 300px;gap:40px;align-items:start}
.services-list{background:#fff;border:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:16px;padding:24px 26px;border-bottom:1px solid var(--line);transition:background .25s ease}
.service-row:last-child{border-bottom:0}
.service-row:hover{background:#faf6f0}
.service-number{font-size:.82rem;letter-spacing:.18em;color:#7a8797;padding-top:5px}
.service-row-title{display:block;font-size:1.16rem;line-height:1.35;color:var(--text)}
.service-row-desc{display:block;color:var(--muted);font-size:.97rem;line-height:1.55;margin-top:7px}
.service-plus{color:var(--navy);font-weight:600;padding-top:6px}
.services-visual{height:100%;min-height:560px;margin:0;overflow:hidden}
.services-visual img{width:100%;height:100%;object-fit:cover}

/* About */
.about-editorial{padding:90px 0 0}
.about-editorial-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:48px;align-items:stretch}
.about-copy{padding:36px 0 90px}
.about-copy>p:first-of-type{font-size:1.12rem;color:#334154}
.about-method{padding:0 0 90px}
.about-method .container{border-top:1px solid var(--line);padding-top:56px}
.about-method h2{font-size:clamp(2rem,3.5vw,3.2rem);max-width:900px;margin:12px 0 20px}
.about-method p{max-width:var(--reading);color:var(--muted);font-size:1.08rem;line-height:1.75}
.about-raven-frame{margin:0;min-height:620px;overflow:hidden;background:#d8ddd5}
.about-raven{width:100%;height:100%;object-fit:cover}

/* Generic detail pages */
.service-layout{display:grid;grid-template-columns:220px minmax(0,var(--reading));gap:54px;padding:72px 0 112px}
.sidebar{position:sticky;top:112px;align-self:start;padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:20px}
.sidebar a{display:block;color:var(--muted);margin:0 0 14px}
.content h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:54px 0 18px;line-height:1.12}
.content a{text-decoration:underline;text-underline-offset:3px}

/* News */
.news-masthead{padding:84px 0 74px;border-bottom:1px solid rgba(16,40,61,.08)}
.news-masthead-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:16px}
.news-tabs{display:flex;gap:18px;flex-wrap:wrap;margin-top:36px}
.news-tabs a{padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font-size:.92rem}
.news-tabs a.active{background:#fff;color:var(--navy)}
.news-section{padding:72px 0 110px}
.news-feature-grid{display:grid;grid-template-columns:minmax(0,1.1fr) 320px;gap:42px;align-items:start;padding-bottom:70px}
.news-feature-story{background:#fff;padding:34px;border:1px solid var(--line)}
.news-meta,.news-brief-meta{display:flex;justify-content:space-between;gap:12px;color:#6d7886;font-size:.84rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px}
.news-feature-story h2{font-size:clamp(2rem,4vw,3.15rem);margin-bottom:18px}
.news-feature-story>p{font-size:1.02rem;line-height:1.72;color:var(--muted)}
.news-impact,.news-why,.news-summary{padding-left:18px;border-left:2px solid var(--line-strong);color:var(--muted);margin:24px 0}
.news-read,.news-source,.news-back{display:inline-flex;align-items:center;gap:8px;color:var(--navy);font-weight:500}
.news-monitor{background:#fff;border:1px solid var(--line);padding:24px}
.news-watch-item{padding:18px 0;border-bottom:1px solid var(--line)} .news-watch-item:last-child{border-bottom:0}
.news-watch-item>span{display:block;color:#778292;text-transform:uppercase;font-size:.78rem;letter-spacing:.1em;margin-bottom:6px}
.news-watch-item strong{display:block;margin-bottom:7px;font-weight:500;color:var(--text)}
.news-watch-item p{margin:0;color:var(--muted)}
.news-section-heading{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px;align-items:end;margin-bottom:32px}
.news-brief-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.news-brief{background:#fff;border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column}
.news-card-image{height:220px;margin:0;background:#eae5dc}
.news-card-image img{width:100%;height:100%;object-fit:cover}
.news-brief > *:not(.news-card-image){padding-left:22px;padding-right:22px}
.news-brief-meta{margin-top:20px;display:block}
.news-brief-meta span{display:block;margin-bottom:6px;color:#768292}
.news-brief h3{font-size:1.4rem;line-height:1.22;margin-bottom:12px}
.news-brief>p{color:var(--muted);font-size:.98rem;line-height:1.65}
.news-brief .news-source{padding-bottom:22px;margin-top:auto}
.news-data-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin-top:60px}
.news-data-strip>div{background:#fff;padding:24px}
.news-stat{display:block;font-size:2rem;color:var(--navy);margin-bottom:2px}
.news-method{margin-top:52px;background:#fff;border:1px solid var(--line);padding:28px}
.news-disclaimer{padding:0 0 60px}.news-disclaimer .container{padding:24px 0;border-top:1px solid var(--line);color:var(--muted)}

/* News article */
.trade-article-page .news-article-hero{padding:84px 0;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fbf8f3 0%,#f3ede5 100%)}
.trade-article-page .news-article-layout{display:grid;grid-template-columns:minmax(0,var(--reading)) 220px;gap:50px;align-items:start}
.trade-article-page .news-article-rail{position:sticky;top:112px;background:#fff;border:1px solid var(--line);padding:22px}
.trade-article-page .news-article-section{padding:72px 0 100px}

/* Contact */
.page-contact .section{padding-top:72px}
.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:46px;align-items:start}
.contact-card{background:#fff;border:1px solid var(--line);padding:34px}
.contact-card h3{margin-bottom:20px}
.contact-card p{color:var(--muted);line-height:1.72}
form{background:#fff;border:1px solid var(--line);padding:30px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px;margin-bottom:28px}
.form-grid label{display:flex;flex-direction:column;gap:8px}.form-grid label.full{grid-column:1/-1}
.form-grid span{font-size:.79rem;text-transform:uppercase;letter-spacing:.12em;color:#6f7a89}
input,select,textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-strong);padding:10px 0;color:var(--text);border-radius:0} textarea{min-height:120px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-bottom-color:var(--navy)}
.checkbox-row{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px!important}.checkbox-row input{width:auto;margin-top:4px}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

footer{margin-top:20px;padding:40px 0 52px;background:#f6f1ea;border-top:1px solid rgba(16,40,61,.08)}
.footer-inner{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:40px;align-items:start}
.footer-wordmark{font-size:1.06rem;font-weight:500;letter-spacing:.34em;color:var(--text);line-height:1}
.footer-wordmark::after{content:"COMPLIANCE";display:block;font-size:.64rem;letter-spacing:.32em;margin-top:4px}
.footer-nav-groups{display:grid;grid-template-columns:repeat(3,auto);gap:32px 56px;align-items:start}.footer-group{display:flex;flex-direction:column;gap:8px}.footer-group a,.footer-group span{font-size:.92rem;color:var(--muted)}.footer-group a:hover{color:var(--navy)}.footer-language{flex-direction:row;gap:8px;align-items:center}

@media(max-width:1180px){
  header{backdrop-filter:none;background:#fbf8f4}
  .mobile-toggle{display:block}
  nav>ul{display:none;position:fixed;top:84px;left:0;right:0;bottom:0;background:#fbf8f4;padding:28px 24px 40px;flex-direction:column;align-items:flex-start;gap:22px;overflow:auto;border-top:1px solid rgba(16,40,61,.08)}
  nav>ul.open{display:flex}
  nav>ul>li>a,.nav-dropdown-toggle{font-size:1.25rem}
  .nav-dropdown-menu{position:static;display:none;box-shadow:none;border:0;padding:12px 0 0 14px;background:transparent}
  .nav-dropdown.open .nav-dropdown-menu{display:block}
  .nav-cta{font-size:1rem!important}
  .services-editorial,.news-feature-grid,.news-section-heading,.contact-grid,.about-editorial-grid,.trade-article-page .news-article-layout{grid-template-columns:1fr}
  .home-split-feature .container,.home-secondary-section .container{grid-template-columns:1fr;grid-template-areas:"image" "title" "content" "actions"}
  .home-split-feature .container::before,.home-secondary-section .container::after{min-height:360px}
  .news-brief-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-layout{grid-template-columns:1fr}
  .sidebar,.trade-article-page .news-article-rail{position:static}
}
@media(max-width:860px){
  .container{width:calc(100% - 32px)}
  .page-home .hero{min-height:640px}
  .page-home .hero::before{background:linear-gradient(180deg, rgba(244,239,232,.84) 0%, rgba(244,239,232,.56) 46%, rgba(244,239,232,.18) 100%)}
  .page-home .hero-copy{max-width:100%;padding:70px 0 86px}
  .section-title{grid-template-columns:1fr;gap:20px}
  .home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-didyouknow .container{grid-template-columns:1fr;padding:38px 28px}
  .news-brief-list{grid-template-columns:1fr}
  .news-data-strip{grid-template-columns:1fr}
  .form-grid{grid-template-columns:1fr}
  .footer-inner,.footer-nav-groups{grid-template-columns:1fr}
}
@media(max-width:640px){
  .news-masthead-top{flex-direction:column;align-items:flex-start;gap:8px}
  .service-row{grid-template-columns:36px minmax(0,1fr);gap:8px 14px;padding:20px 16px}
  .service-plus{grid-column:2;padding-top:0}
  .nav{min-height:76px}
  nav>ul{top:76px}
  h1{font-size:clamp(2.4rem,12vw,3.8rem)}
  h2{font-size:clamp(1.95rem,9vw,3rem)}
  .page-home .hero{min-height:580px;background-position:63% center}
  .page-home .hero p,.page-services .page-hero p,.page-contact .page-hero p,.trade-updates-page .news-masthead> .container>p{font-size:1rem}
  .home-service-grid{grid-template-columns:1fr}
  .home-service-item{min-height:0;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;text-align:left;padding:18px 4px;gap:14px;border-right:0;border-bottom:1px solid var(--line)}
  .home-service-item:last-child{border-bottom:0}
  .home-service-item .service-icon{width:32px;height:32px}
  .home-service-item .home-service-arrow{margin:0}
  .home-split-feature .section-title,.home-secondary-section .section-title{padding:34px 26px 14px}
  .home-split-feature .content,.home-secondary-section .content{padding:0 26px 20px}
  .home-split-feature .actions,.home-secondary-section .actions{padding:0 26px 34px}
  .home-split-feature .container::before,.home-secondary-section .container::after{min-height:260px}
  .about-copy{padding-bottom:48px}
  .about-raven-frame{min-height:360px}
  .services-visual{min-height:320px}
  .news-feature-story,.news-monitor,.news-method,.contact-card,form{padding:24px}
  .news-card-image{height:200px}
}
