:root{--ink:#183d38;--muted:#61716a;--paper:#f7f6ef;--white:#fff;--gold:#b19a66;--line:#dce1d8;--radius:3px;color-scheme:light;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}img{max-width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.04em}h1{font-size:clamp(3.1rem,5.6vw,5.7rem);line-height:1.07;white-space:pre-line;margin-bottom:26px}h2{font-size:clamp(2.3rem,4vw,3.7rem);line-height:1.13;margin-bottom:20px}h3{font-size:1.35rem;font-weight:500}p{line-height:1.7}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}[hidden]{display:none!important}.skip{position:absolute;left:15px;top:-100px;z-index:99;background:white;padding:16px}.skip:focus{top:10px}.preview{background:#eae5d6;text-align:center;padding:9px 20px;font-size:.8rem}.header{display:flex;justify-content:space-between;align-items:center;padding:25px max(6vw,24px);border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:inline-block;letter-spacing:.08em;font-family:Georgia,serif;font-size:1.8rem;line-height:1}.brand img{width:150px;max-height:75px;object-fit:contain}.wordmark>span{font-size:1.05rem;letter-spacing:.2em}.wordmark small{display:block;font-family:Arial,sans-serif;font-size:.52rem;letter-spacing:.16em;margin-top:9px}.header nav{display:flex;align-items:center;gap:30px;font-size:.9rem}.menu-toggle{display:none}.button{border:1px solid var(--ink);background:var(--ink);color:var(--white);display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:17px 23px;min-height:48px;border-radius:var(--radius);font-size:.9rem;line-height:1.3}.button:hover{background:#28554e}.button.small{padding:12px 17px;font-size:.85rem}.button.outline{background:transparent;color:var(--ink)}.button span,.text-link span{font-size:1.25rem}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:.9rem;border-bottom:1px solid var(--gold);padding:9px 0}.hero{display:grid;grid-template-columns:1.12fr 1fr;min-height:620px}.hero-copy{padding:75px 5vw 40px 6vw}.eyebrow{font-size:.72rem;letter-spacing:.19em;font-weight:600;text-transform:uppercase;margin-bottom:27px}.lead{font-size:1.05rem;max-width:480px;color:var(--muted)}.actions{display:flex;align-items:center;gap:25px;margin:33px 0 65px}.hero-foot{font-size:.63rem;letter-spacing:.1em;line-height:2}.hero-foot span{color:var(--gold);padding:0 8px}.hero-art{position:relative;background:#204841;overflow:hidden;min-height:520px}.hero-art>img{height:100%;width:100%;position:absolute}.orbit{position:absolute;border:1px solid #77908960;border-radius:50%;height:600px;width:600px}.orbit.one{top:-260px;right:-230px}.orbit.two{bottom:-300px;left:-230px}.art-card{position:absolute;left:12%;top:16%;width:76%;padding:35px;color:#f3f0e4;border:1px solid #77908960;transform:rotate(-4deg);background:#173b35;box-shadow:30px 30px 0 #2b534a}.art-card>span{letter-spacing:.24em;font-size:.65rem}.art-line{height:1px;background:#83958a;margin:30px 0}.art-card strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:clamp(2rem,3vw,3rem);line-height:1.4}.art-sign{font-size:.75rem;margin-top:45px;display:flex;justify-content:space-between}.art-sign span{font-size:1.5rem}.art-caption{position:absolute;right:8%;bottom:38px;color:#c6d2c8;font-size:.8rem;line-height:1.6}.section{padding:85px 6vw;scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:35px}.section-heading>p{max-width:340px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:white;border:1px solid var(--line);padding:30px;display:flex;flex-direction:column}.service-card img{aspect-ratio:16/10;margin-bottom:24px}.service-number{font-family:Georgia,serif;font-size:1.8rem;color:var(--gold);margin-bottom:50px}.service-card p{color:var(--muted);font-size:.93rem}.service-card .audience{padding-top:16px;border-top:1px solid var(--line);font-size:.8rem;margin-top:auto}.service-card .text-link{align-self:flex-start}.about{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:#e8ece3}.about-copy{padding-top:40px;font-size:1.07rem}.values{display:flex;flex-wrap:wrap;gap:22px;border-top:1px solid #ccd6c8;border-bottom:1px solid #ccd6c8;padding:23px 0;margin:30px 0;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:45px}.steps>div{border-top:1px solid var(--gold);padding-top:25px}.steps span{font-size:.8rem;color:var(--muted);display:block;margin-bottom:27px}.steps p{font-size:.9rem;color:var(--muted)}.contact{background:var(--ink);color:white;display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact .eyebrow{color:#c7b88d}.contact>div>p{color:#c6d2c8;max-width:350px}.contact .text-link{margin:10px 0 25px}.contact .button:not(form .button){background:#ecedde;color:var(--ink);display:flex;max-width:330px}.contact-details p{font-size:.9rem}.form-panel{background:var(--paper);color:var(--ink);padding:35px}form label{display:block;font-size:.84rem;margin-bottom:8px}input,select,textarea{display:block;width:100%;background:#fff;color:var(--ink);border:1px solid #bfc9bf;border-radius:3px;padding:13px;min-height:48px;margin-bottom:20px;font-size:16px}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:2px}textarea{resize:vertical}.checkbox{display:flex;align-items:flex-start;gap:10px;line-height:1.5}.checkbox input{width:18px;height:18px;min-height:18px;margin:2px 0;flex-shrink:0}.form-note{font-size:.78rem;color:var(--muted)}.inline-button{border:0;padding:2px 0;background:none;color:inherit;text-decoration:underline;line-height:1.5}.trap{position:absolute;left:-9999px}.contact form .button{width:100%;margin-top:15px}#form-status{font-size:.88rem;margin:16px 0 0}.legal{white-space:pre-line;font-size:.9rem}footer{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:45px 6vw;font-size:.8rem}footer p{text-align:right}footer>div{display:flex;flex-wrap:wrap;gap:22px}footer small{text-align:right;color:var(--muted)}dialog{border:1px solid var(--line);padding:45px;max-width:600px;width:90%;color:var(--ink);background:var(--paper);max-height:80vh}dialog::backdrop{background:#102d29aa}dialog p{white-space:pre-line}.dialog-close{position:absolute;right:14px;top:10px;background:none;border:0;font-size:1.8rem;min-height:44px;min-width:44px}.cookie-panel{position:fixed;bottom:18px;left:18px;right:18px;max-width:560px;z-index:10;background:white;border:1px solid var(--line);box-shadow:0 10px 50px #183d3830;padding:22px}.cookie-panel p{font-size:.85rem}.cookie-panel>div{display:flex;gap:10px}.banner-section{margin:40px 6vw 0;padding:30px;background:#e8ece3}.banner-section img{max-height:250px;width:100%;object-fit:cover;margin-bottom:20px}.banner-controls{display:flex;gap:15px;align-items:center}.banner-controls button{min-height:44px;min-width:44px;padding:10px;border:1px solid var(--line);background:white;color:var(--ink)}
/* Administration */
.admin-body{background:var(--paper)}.admin-main{max-width:1160px;margin:auto;padding:40px 24px}.login-panel{max-width:460px;margin:35px auto;background:white;padding:35px;border:1px solid var(--line)}.admin-title{font-size:2.6rem}.admin-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.admin-tabs button{background:white;border:1px solid var(--line);padding:13px 20px;min-height:48px}.admin-tabs button[aria-selected=true]{background:var(--ink);color:white}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.metric{background:white;padding:24px;border:1px solid var(--line)}.metric strong{display:block;font-size:2rem;margin-bottom:10px}.metric span{font-size:.84rem}.admin-note{color:var(--muted);font-size:.85rem}.editor-block,.inquiry-card{background:white;padding:25px;border:1px solid var(--line);margin-bottom:20px}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.editor-block h3{margin-bottom:24px}.admin-status{padding:15px 0;white-space:pre-line}.inquiry-card p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem}.inquiry-card select{max-width:250px}.dashboard-services{margin-top:25px}.dashboard-services p{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px}.admin-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.image-preview{max-height:160px;margin-bottom:15px}.danger{color:#8d3028;background:white;border:1px solid #dbc5bf;padding:12px;min-height:44px}.admin-action-row{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.admin-action-row .checkbox{margin:0}
@media(max-width:950px){.header nav{gap:15px}.hero-copy{padding-top:55px}.actions{flex-direction:column;align-items:flex-start;gap:15px}.about,.contact{gap:40px}.service-card{padding:23px}.metrics{grid-template-columns:1fr 1fr}}
@media(max-width:700px){html{scroll-padding-top:20px}.header{padding:20px 24px;flex-wrap:wrap;gap:20px}.menu-toggle{display:block;background:none;border:1px solid var(--line);padding:12px;color:var(--ink)}.header nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:5px}.header nav.open{display:flex}.header nav a{padding:15px}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 24px 20px}.hero-art{min-height:420px}.art-card{top:10%;padding:30px;width:72%;left:14%}.art-card strong{font-size:2.4rem}.art-sign{margin-top:25px}.art-caption{bottom:20px}.hero-foot{margin-bottom:0}.actions{margin-bottom:40px}.section{padding:60px 24px}.section-heading{display:block;margin-bottom:25px}.section-heading>p{max-width:none}.service-grid,.steps,.about,.contact{grid-template-columns:1fr}.service-grid{gap:18px}.service-number{margin-bottom:25px}.about{gap:10px}.about-copy{padding-top:0}.steps{gap:25px}.steps span{margin-bottom:15px}.form-panel{padding:25px}.contact{gap:35px}footer{grid-template-columns:1fr;padding:35px 24px}footer p,footer small{text-align:left}footer p{margin:0}.editor-grid{grid-template-columns:1fr}.metrics{gap:10px}.metric{padding:18px}.admin-main{padding:25px 16px}.login-panel{padding:25px}.admin-title{font-size:2rem}.admin-top{align-items:flex-start}.cookie-panel{bottom:max(12px,env(safe-area-inset-bottom));left:12px;right:12px}.banner-section{margin:25px 24px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.art-card{transform:none}}
