:root { --ink:#15273a; --teal:#0c5a70; --deep:#102b3b; --cream:#f8f5ee; --gold:#c8a24a; --mist:#eaf1ee; --line:#d9d8d0; --muted:#657078; --green:#167a4f; --serif:"Playfair Display", Georgia, serif; --sans:"DM Sans", Arial, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:var(--sans); font-size:16px; line-height:1.55; }
a { color:inherit; text-decoration:none; }
a:hover { text-decoration:none; }
.wrap { width:min(1200px, calc(100% - 48px)); margin:auto; }
.skip-link { position:fixed; z-index:100; left:16px; top:-60px; padding:10px 14px; background:white; color:var(--ink); border-radius:6px; font-weight:700; transition:top .18s ease; }
.skip-link:focus { top:16px; }
.site-header { position:sticky; top:0; z-index:50; border-bottom:1px solid var(--line); background:rgba(248,245,238,.94); backdrop-filter:blur(14px); }
.contact-strip { background:var(--deep); color:#eaf1ee; font-size:11px; font-weight:700; letter-spacing:.04em; }
.contact-strip__inner, .contact-strip__links { display:flex; align-items:center; }
.contact-strip__inner { min-height:34px; justify-content:space-between; gap:16px; }
.contact-strip__descriptor { color:#dec16c; text-transform:uppercase; letter-spacing:.14em; font-size:10px; }
.contact-strip__links { justify-content:flex-end; flex-wrap:wrap; gap:8px 18px; }
.contact-strip a { white-space:nowrap; transition:color .16s ease; }
.contact-strip a:hover { color:#f2d477; }
.whatsapp-link { padding:3px 9px; border-radius:4px; background:var(--green); color:white; }
.nav-row { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; align-items:center; gap:8px; min-width:max-content; }
.brand-mark { position:relative; display:grid; width:28px; height:28px; overflow:hidden; border-radius:7px 7px 6px 6px; background:var(--teal); }
.brand-mark span { position:absolute; inset:6px; border:1px solid rgba(255,255,255,.88); border-bottom:0; border-radius:12px 12px 0 0; }
.brand-mark i { position:absolute; bottom:6px; left:10px; width:6px; height:6px; border-radius:99px; background:var(--gold); box-shadow:0 0 0 3px rgba(200,162,74,.13); }
.brand-name { display:inline-flex; gap:0; align-items:baseline; font-size:22px; letter-spacing:-.06em; font-weight:700; }
.brand-name strong:first-child { color:var(--ink); }.brand-name strong:nth-child(2) { color:var(--teal); }.brand-name b { color:var(--gold); margin-left:1px; }
.brand-tag { display:grid; margin-left:4px; padding-left:9px; border-left:1px solid #cfd3cf; color:#657078; font-size:8px; font-weight:700; line-height:1.16; letter-spacing:.12em; text-transform:uppercase; }
.nav-links { display:flex; gap:36px; margin-left:auto; }
.nav-links a { position:relative; color:#566068; font-size:14px; font-weight:600; }
.nav-links a:after { content:""; position:absolute; left:0; right:0; bottom:-9px; height:1px; transform:scaleX(0); background:var(--teal); transition:transform .18s ease; }.nav-links a:hover:after,.nav-links .is-active:after { transform:scaleX(1); }
.button { display:inline-flex; align-items:center; justify-content:center; gap:9px; border:1px solid transparent; border-radius:6px; min-height:48px; padding:12px 17px; font:700 13px var(--sans); letter-spacing:.01em; cursor:pointer; transition:transform .16s ease, box-shadow .16s ease, background .16s ease; }.button:hover { transform:translateY(-2px); }.button:active { transform:scale(.98); }
.button--primary { color:white; background:var(--teal); box-shadow:0 8px 18px rgba(12,90,112,.14); }.button--primary:hover { background:#084c5f; }.button--secondary,.button--quiet { color:var(--ink); background:transparent; border-color:#cbc9c0; }.button--secondary:hover,.button--quiet:hover { background:white; }.button--light { color:var(--deep); background:#fffdfa; }
.hero { overflow:hidden; background:radial-gradient(circle at 17% 28%, rgba(232,204,126,.18), transparent 26%), linear-gradient(108deg, #f8f5ee 0%, #eef3ef 69%, #dceae9 100%); }.hero__grid { min-height:calc(100svh - 110px); display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:56px; padding:70px 0 54px; }.eyebrow { margin:0 0 20px; color:#386476; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }.eyebrow i { display:inline-block; width:8px; height:8px; margin-right:10px; border-radius:99px; background:var(--gold); }.hero h1,.inner-hero h1,.login-card h1,.admin-bar h1 { max-width:740px; margin:0; font:600 clamp(52px, 7vw, 94px)/.98 var(--serif); letter-spacing:-.065em; }.hero h1 em { color:var(--teal); font-style:italic; }.hero__copy>p:not(.eyebrow) { max-width:590px; margin:30px 0 34px; color:#56636b; font-size:18px; line-height:1.75; }.hero__actions { display:flex; flex-wrap:wrap; gap:12px; }.proof-points { display:flex; gap:0; max-width:570px; margin-top:58px; border-top:1px solid #cdcfc9; }.proof-points span { flex:1; padding-top:18px; color:#52616b; font-size:12px; font-weight:700; }.hero-art { display:grid; place-items:center; }.hero-art__arch { position:relative; width:min(100%, 350px); aspect-ratio:.83; overflow:hidden; border-radius:190px 190px 0 0; background:var(--deep); box-shadow:0 18px 36px rgba(20,44,55,.13); }.hero-art__arch:before { content:""; position:absolute; inset:23px 23px 18px; border:1px solid rgba(255,255,255,.75); border-radius:175px 175px 0 0; }.hero-art__arch i { position:absolute; left:50%; bottom:-9%; width:75%; aspect-ratio:1.8; transform:translateX(-50%); border-radius:50% 50% 0 0; background:#07596b; }.hero-art__arch b { position:absolute; left:24%; bottom:23%; width:58px; height:58px; border-radius:50%; background:#d3ae4c; box-shadow:0 0 0 14px rgba(200,162,74,.08); }.hero-art__arch em { position:absolute; top:24%; left:22%; width:65px; height:65px; border:1px solid rgba(255,255,255,.75); border-radius:50%; }
.intro { padding:120px 0; display:grid; grid-template-columns:.6fr 1.4fr; gap:40px; }.intro h2 { max-width:790px; margin:0; font:600 clamp(38px,5vw,66px)/1.06 var(--serif); letter-spacing:-.055em; }.intro>p:last-child { grid-column:2; max-width:560px; margin:12px 0 0; color:var(--muted); font-size:18px; line-height:1.75; }
.process { padding:90px 0; background:var(--deep); color:#fffdfa; }.process__grid { display:grid; grid-template-columns:.5fr 1.5fr; gap:40px; }.process .eyebrow { color:#d3ae4c; }.process__steps { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }.process__steps article { padding:4px 28px 12px; border-left:1px solid rgba(255,255,255,.18); }.process__steps span,.post-card>span { color:#d3ae4c; font:italic 30px var(--serif); }.process__steps h2 { margin:30px 0 12px; font:600 30px var(--serif); }.process__steps p { margin:0; color:#bdcbc7; font-size:14px; line-height:1.7; }
.inner-hero { padding:110px 0 72px; }.inner-hero h1 { font-size:clamp(48px,6.4vw,80px); }.inner-hero>p:last-child { max-width:640px; margin:25px 0 0; color:var(--muted); font-size:18px; line-height:1.7; }.service-list { padding-bottom:110px; }.service-list article { display:grid; grid-template-columns:120px 1fr; gap:24px; padding:38px 0; border-top:1px solid var(--line); }.service-list article>span { color:var(--gold); font:italic 32px var(--serif); }.service-list h2 { margin:0; font:600 40px var(--serif); letter-spacing:-.045em; }.service-list p { max-width:620px; margin:10px 0 0; color:var(--muted); font-size:16px; line-height:1.75; }.callout { padding:90px 0; background:var(--teal); color:white; }.callout .eyebrow { color:#e0c365; }.callout h2 { margin:0 0 28px; font:600 clamp(42px,6vw,70px)/1 var(--serif); letter-spacing:-.055em; }
.post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; padding-bottom:110px; }.post-card { min-height:350px; padding:28px; border:1px solid var(--line); background:#fdfbf6; display:flex; flex-direction:column; }.post-card>p { color:#7a8386; font-size:12px; }.post-card h2 { margin:16px 0 12px; font:600 31px/1.08 var(--serif); letter-spacing:-.04em; }.post-card h2+p { color:var(--muted); line-height:1.65; }.post-card>a { margin-top:auto; color:var(--teal); font-weight:700; font-size:13px; }.post-card>a b { color:var(--gold); }.empty-state { grid-column:1/-1; padding:60px; text-align:center; border:1px solid var(--line); background:var(--mist); }.empty-state h2 { margin:0; font:600 44px var(--serif); }.empty-state p:not(.eyebrow) { max-width:480px; margin:14px auto 26px; color:var(--muted); }
.article { max-width:850px; padding:86px 0 115px; }.back-link { display:inline-block; margin-bottom:50px; color:var(--teal); font-size:14px; font-weight:700; }.article h1 { margin:0; font:600 clamp(46px,6vw,76px)/1 var(--serif); letter-spacing:-.06em; }.article__deck { max-width:650px; margin:28px 0 56px; color:#52616b; font-size:20px; line-height:1.7; }.article__body { color:#364650; font-size:18px; line-height:1.95; }.article__end { margin-top:70px; padding:34px; background:var(--mist); }.article__end p { margin:0 0 20px; font:600 29px/1.15 var(--serif); }
.contact-layout { display:grid; grid-template-columns:.88fr 1.12fr; gap:90px; padding:104px 0; }.contact-layout h1 { margin:0; font:600 clamp(52px,6vw,78px)/1 var(--serif); letter-spacing:-.06em; }.lead { max-width:460px; margin:28px 0; color:var(--muted); font-size:18px; line-height:1.75; }.contact-details { display:grid; gap:8px; color:var(--teal); font-weight:700; }.form-card,.login-card { padding:32px; border:1px solid var(--line); background:#fdfbf6; box-shadow:0 18px 45px rgba(20,44,55,.04); }.form-stack { display:grid; gap:18px; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }.form-stack label,.editor-form label { display:grid; gap:7px; color:#40515b; font-size:13px; font-weight:700; }.form-stack input,.form-stack textarea,.form-stack select,.editor-form input,.editor-form textarea { width:100%; padding:12px 13px; border:1px solid #cfcfc8; border-radius:4px; color:var(--ink); background:white; font:400 15px var(--sans); outline:none; }.form-stack input:focus,.form-stack textarea:focus,.form-stack select:focus,.editor-form input:focus,.editor-form textarea:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(12,90,112,.12); }.form-stack textarea,.editor-form textarea { resize:vertical; }.check-label { grid-template-columns:18px 1fr; align-items:start; font-weight:500!important; line-height:1.5; }.check-label input { width:16px; height:16px; margin:2px 0 0; }.honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }.alert { margin:0; padding:11px 13px; border-radius:4px; font-size:14px; }.alert--success { background:#e1f3e9; color:#17623f; }.alert--error { background:#fbe7e4; color:#9a3324; }
.login-page { min-height:calc(100vh - 260px); display:grid; place-items:center; padding:80px 24px; background:linear-gradient(115deg,#f8f5ee,#e5efec); }.login-card { width:min(100%, 480px); }.login-card h1 { margin-bottom:26px; font-size:42px; }.muted { color:var(--muted); }.admin-page { width:min(1200px, calc(100% - 48px)); margin:auto; padding:60px 0 100px; }.admin-bar { display:flex; justify-content:space-between; gap:22px; align-items:end; margin-bottom:36px; }.admin-bar h1 { font-size:52px; }.admin-actions { display:flex; gap:10px; align-items:center; }.admin-actions form { margin:0; }.admin-section { margin-top:38px; }.section-heading { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:12px; }.section-heading h2 { margin:0; font:600 32px var(--serif); }.section-heading span { color:var(--muted); font-size:12px; }.table-wrap { overflow:auto; border:1px solid var(--line); background:#fdfbf6; }table { width:100%; border-collapse:collapse; min-width:720px; }th,td { padding:15px 16px; border-bottom:1px solid #e3e0d9; text-align:left; vertical-align:top; font-size:13px; }th { color:#5c6c73; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }td strong,td small { display:block; }td small { margin-top:3px; color:var(--muted); }.brief-cell { max-width:300px; white-space:normal; }.status { display:inline-block; padding:3px 7px; border-radius:99px; background:#ece9e0; font-size:11px; font-weight:700; }.status--live { color:#15613f; background:#dff0e8; }.editor-form { display:grid; gap:20px; max-width:860px; }.editor-form label>span { color:var(--muted); font-size:12px; font-weight:400; }.not-found { min-height:55vh; padding:120px 0; }.not-found h1 { margin:0 0 24px; font:600 56px var(--serif); }
.site-footer { padding-top:66px; color:#d9e4df; background:var(--deep); }.footer-grid { display:grid; grid-template-columns:1.1fr .5fr 1fr; gap:60px; padding-bottom:50px; }.brand--inverse .brand-name strong:first-child { color:#fffdfa; }.brand--inverse .brand-mark { background:#fffdfa; }.brand--inverse .brand-mark span { border-color:var(--teal); }.brand--inverse .brand-mark i { background:var(--gold); }.site-footer p { max-width:340px; color:#aebcb7; font-size:14px; line-height:1.7; }.site-footer h2 { margin:0 0 12px; color:#d9e4df; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }.site-footer a:not(.brand) { display:block; margin:7px 0; color:#d9e4df; font-size:14px; }.site-footer a:hover { color:#e0c365; }.site-footer .footer-action { color:#e0c365!important; font-weight:700; }.footer-bottom { display:flex; justify-content:space-between; gap:18px; padding:18px 0; border-top:1px solid rgba(255,255,255,.12); color:#98aaa4; font-size:12px; }
@media (max-width:820px) { .wrap,.admin-page { width:min(100% - 32px,1200px); }.contact-strip__inner { justify-content:center; padding:6px 0; }.contact-strip__descriptor { display:none; }.contact-strip__links { justify-content:center; gap:6px 15px; }.nav-row { min-height:76px; }.nav-links { display:none; }.nav-cta { display:none; }.brand-tag { display:none; }.hero__grid,.contact-layout,.intro,.process__grid { grid-template-columns:1fr; }.hero__grid { min-height:auto; padding:70px 0 58px; }.hero-art { order:-1; justify-items:end; }.hero-art__arch { width:200px; }.hero h1,.inner-hero h1 { font-size:clamp(50px,15vw,74px); }.hero__copy>p:not(.eyebrow) { font-size:16px; }.proof-points { margin-top:38px; }.intro { padding:72px 0; gap:20px; }.intro>p:last-child { grid-column:auto; }.process { padding:65px 0; }.process__steps { grid-template-columns:1fr; }.process__steps article { padding:20px 0; border-left:0; border-top:1px solid rgba(255,255,255,.18); }.inner-hero { padding:76px 0 48px; }.service-list { padding-bottom:72px; }.service-list article { grid-template-columns:58px 1fr; padding:28px 0; }.service-list h2 { font-size:34px; }.post-grid { grid-template-columns:1fr; padding-bottom:72px; }.contact-layout { gap:45px; padding:76px 0; }.form-grid,.footer-grid { grid-template-columns:1fr; }.footer-grid { gap:36px; }.footer-bottom { flex-direction:column; }.admin-bar { align-items:start; flex-direction:column; }.admin-actions { width:100%; }.admin-actions .button { flex:1; }.login-page { padding:50px 16px; }.form-card,.login-card { padding:22px; } }
@media (max-width:440px) { .contact-strip { font-size:10px; }.contact-strip__links { gap:5px 12px; }.brand-name { font-size:20px; }.brand-name strong { font-size:20px!important; }.hero h1 { font-size:51px; }.hero-art { display:none; }.proof-points { gap:10px; }.proof-points span { font-size:10px; }.button { width:100%; }.hero__actions { display:grid; }.inner-hero h1 { font-size:49px; }.article { padding:60px 0 74px; }.article h1 { font-size:46px; }.article__deck { font-size:18px; }.admin-page { padding:42px 0 68px; } }
