:root { --navy:#101c28; --navy2:#203747; --paper:#f7f5ef; --white:#fffdf9; --ink:#10202d; --muted:#5b686e; --gold:#be9560; --line:#deddd6; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter, ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
a:focus-visible,button:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
.wrap { width:min(1060px,calc(100% - 64px)); margin:0 auto; }
.serif { font-family:Georgia,"Times New Roman",serif; font-weight:400; }
.top { background:var(--navy); color:white; }
.topnav { min-height:88px; display:flex; justify-content:space-between; align-items:center; gap:20px; border-bottom:1px solid rgba(255,255,255,.15); }
.brand { display:flex; align-items:center; gap:14px; color:white; text-decoration:none; font-size:.78rem; font-weight:750; text-transform:uppercase; letter-spacing:.11em; }
.brand-square { width:38px; height:38px; border:1px solid #c49a65; color:#d8b681; display:grid; place-items:center; font:italic 20px Georgia,serif; letter-spacing:-.11em; padding-right:2px; }
.topnav-links { display:flex; flex-wrap:wrap; gap:22px; font-size:.8rem; }
.topnav-links a { color:#e0e7e7; text-decoration:none; }
.topnav-links a:hover { color:#e4bb80; }
.masthead { padding:76px 0 84px; display:grid; grid-template-columns:1fr auto; gap:55px; align-items:end; }
.eyebrow { font-size:.69rem; font-weight:750; letter-spacing:.2em; text-transform:uppercase; color:#bf996c; }
.masthead h1 { font:normal clamp(3.5rem,6vw,5.6rem)/1.02 Georgia,serif; letter-spacing:-.055em; margin:18px 0 22px; }
.masthead h1 em { color:#d0ab78; }
.masthead p { max-width:610px; color:#c7d2d1; font-size:1.02rem; line-height:1.82; margin:0; }
.mast-stamp { width:147px; height:147px; border:1px solid #56707a; display:flex; justify-content:center; align-items:center; flex-direction:column; text-align:center; color:#d5b48a; font:italic 2.8rem Georgia,serif; }
.mast-stamp span { font:normal .58rem Inter,ui-sans-serif,sans-serif; letter-spacing:.18em; text-transform:uppercase; margin-top:9px; }
.content { display:grid; grid-template-columns:250px minmax(0,1fr); gap:76px; padding:76px 0 110px; }
.sidebar { align-self:start; position:sticky; top:24px; }
.sidebar-card { border-top:2px solid var(--gold); padding-top:23px; }
.sidebar-card h2 { font:1.35rem Georgia,serif; margin:0 0 18px; }
.sidebar-links { display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
.sidebar-links a { text-decoration:none; font-size:.86rem; border-bottom:1px solid transparent; }
.sidebar-links a:hover { border-bottom-color:var(--gold); }
.sidebar-note { font-size:.75rem; color:#738085; line-height:1.75; margin-top:28px; }
.main-content { min-width:0; }
.content-section { padding:0 0 47px; margin-bottom:49px; border-bottom:1px solid var(--line); scroll-margin-top:20px; }
.content-section:last-child { margin-bottom:0; border-bottom:0; }
.content-section h2 { font:normal 2.2rem/1.2 Georgia,serif; letter-spacing:-.03em; margin:0 0 21px; }
.content-section .intro { font-size:1rem; color:#4e5e65; line-height:1.9; margin:0; }
.entry { display:grid; grid-template-columns:125px 1fr; gap:22px; padding:25px 0; border-top:1px solid var(--line); }
.entry:first-of-type { border-top:0; padding-top:2px; }
.entry-time { color:#9b7546; font-size:.72rem; font-weight:750; letter-spacing:.05em; text-transform:uppercase; padding-top:5px; }
.entry h3 { font:normal 1.34rem/1.3 Georgia,serif; margin:0 0 4px; }
.entry .org { color:#304c5a; font-weight:700; font-size:.84rem; margin-bottom:10px; }
.entry p { color:#5d6a6e; font-size:.86rem; line-height:1.76; margin:0; }
.entry ul { padding-left:19px; margin:10px 0 0; color:#5d6a6e; font-size:.85rem; line-height:1.7; }
.entry li+li { margin-top:5px; }
.cols { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.info-card { border:1px solid #dadfdc; padding:25px 26px; background:#fdfcf8; }
.info-card h3 { font:normal 1.25rem Georgia,serif; margin:0 0 11px; }
.info-card p { font-size:.85rem; color:#5e6b70; line-height:1.75; margin:0; }
.chip-list { display:flex; flex-wrap:wrap; gap:9px; }
.chip { border:1px solid #ccd4d0; color:#476068; padding:7px 11px; font-size:.72rem; }
.link-arrow { display:inline-flex; align-items:center; gap:12px; text-decoration:none; font-size:.84rem; font-weight:750; border-bottom:1px solid var(--gold); padding-bottom:6px; }
.link-arrow:hover { color:#956b35; }
.action-row { display:flex; gap:13px; flex-wrap:wrap; margin-top:27px; }
.button { display:inline-flex; gap:10px; align-items:center; border:0; background:#cba46f; color:#152534; padding:13px 20px; font-size:.81rem; font-weight:750; text-decoration:none; cursor:pointer; }
.button:hover { background:#e0b983; }
.button-secondary { background:transparent; border:1px solid #71838b; color:#eef0ed; }
.button-secondary:hover { background:#2b4050; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:25px; }
.service-card { border-top:2px solid #be9560; background:#fffdf9; padding:22px; }
.service-card h3 { font:normal 1.2rem Georgia,serif; margin:0 0 11px; }
.service-card p { color:#5e6b70; font-size:.83rem; line-height:1.75; margin:0; }
.callout { border-left:2px solid #b8915b; padding:19px 24px; background:#e9eee9; color:#4d6368; font-size:.88rem; line-height:1.8; }
.document-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:26px; }
.document-card { border:1px solid #dadfdc; background:var(--white); padding:26px; display:flex; flex-direction:column; align-items:flex-start; }
.document-type { color:#987342; font-size:.7rem; text-transform:uppercase; font-weight:750; letter-spacing:.1em; }
.document-card h3 { font:normal 1.42rem/1.25 Georgia,serif; margin:14px 0 12px; }
.document-card p { color:#5d6a6e; font-size:.84rem; line-height:1.75; margin:0 0 24px; }
.document-card .link-arrow { margin-top:auto; }
.document-note { color:#5d6a6e; background:#e9eee9; border-left:2px solid var(--gold); padding:16px 20px; margin-top:18px; font-size:.8rem; line-height:1.7; }
.text-print { display:inline; border:0; background:transparent; font:inherit; color:#775b39; text-decoration:underline; cursor:pointer; padding:0; }
.gallery-heading { display:flex; flex-direction:column; gap:7px; margin-bottom:25px; }
.gallery-heading h2 { margin-bottom:7px; }
.gallery-heading p { color:#5d6a6e; font-size:.88rem; margin:0; }
.gallery-eyebrow { color:#9b7546; font-size:.68rem; font-weight:750; letter-spacing:.17em; text-transform:uppercase; }
.service-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.gallery-item { margin:0; border:1px solid var(--line); background:var(--white); overflow:hidden; }
.gallery-item a { display:block; background:#d8dedb; overflow:hidden; }
.gallery-item img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center 45%; transition:transform .25s ease; }
.gallery-item a:hover img { transform:scale(1.025); }
.gallery-item-wide,.gallery-item-video { grid-column:1/-1; }
.gallery-item-wide img { aspect-ratio:16/9; object-position:center 48%; }
.gallery-item-landscape img { object-fit:contain; background:#e9ede8; }
.gallery-item-video video { display:block; width:100%; aspect-ratio:16/9; max-height:520px; background:#111c24; }
.gallery-item-certificate { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; }
.gallery-item-certificate img { aspect-ratio:3/4; object-fit:contain; padding:13px; background:#e9ede8; }
.gallery-item figcaption { display:flex; flex-direction:column; gap:5px; padding:18px 19px 20px; }
.gallery-item figcaption strong { font:normal 1.17rem/1.28 Georgia,serif; }
.gallery-item figcaption span { color:#5d6a6e; font-size:.78rem; line-height:1.6; }
.footer { background:#0a141e; color:#aab8ba; padding:32px 0; font-size:.72rem; }
.footer-line { display:flex; justify-content:space-between; gap:30px; align-items:center; }
.footer-line strong { color:#eff3f0; }
.footer a { color:#d9e3e2; text-decoration:none; }
.footer a:hover { color:#d9b383; }
.footer .disclaimer { margin-top:21px; font-size:.65rem; color:#809093; }
@media(max-width:850px) { .wrap { width:calc(100% - 42px); } .content { grid-template-columns:1fr; gap:37px; } .sidebar { position:static; } .sidebar-links { flex-direction:row; flex-wrap:wrap; gap:14px 20px; } .sidebar-note { margin-top:12px; } .masthead { gap:22px; } .mast-stamp { width:105px; height:105px; font-size:2.3rem; } .service-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:540px) { .topnav { align-items:flex-start; flex-direction:column; padding:17px 0; gap:15px; } .topnav-links { gap:12px 17px; } .masthead { display:block; padding:59px 0 65px; } .masthead h1 { font-size:3.55rem; } .mast-stamp { display:none; } .content { padding:55px 0 77px; } .entry { grid-template-columns:1fr; gap:4px; } .cols,.service-grid,.service-gallery,.document-grid { grid-template-columns:1fr; } .gallery-item-certificate { display:block; } .footer-line { flex-direction:column; align-items:flex-start; gap:12px; } }
@media print { @page { margin:.62in; } html,body { background:white!important; color:#111!important; font-size:10pt; } .top,.sidebar,.action-row,.footer,.screen-only { display:none!important; } .wrap { width:100%; } .content { display:block; padding:0; } .main-content { width:100%; } .print-header { display:block!important; margin-bottom:24px; } .print-header .print-name { margin:0 0 4px; font:normal 25pt Georgia,serif; } .print-header p { margin:0; font-size:10pt; } .content-section { padding-bottom:16px; margin-bottom:17px; break-inside:avoid-page; } .content-section h2 { font-size:16pt; margin-bottom:12px; } .entry { grid-template-columns:100px 1fr; padding:12px 0; break-inside:avoid-page; } .entry h3 { font-size:11.5pt; } .entry p,.entry ul,.info-card p { color:#333!important; font-size:9pt; } .chip { color:#333; padding:4px 7px; } .cols { gap:10px; } .info-card { padding:13px; } a { text-decoration:none!important; } }
