@charset "UTF-8";
:root{color-scheme:dark;--navy:#061d2e;--deep:#04131f;--gold:#edcc82;--muted:#c2cbd0;--gold-fill:linear-gradient(115deg,#b77c28 0%,#f7df9a 28%,#fff0b5 43%,#d39b3d 76%,#f5d889 100%)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--navy);color:#fbf6e9;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}a{color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #fff0b5;outline-offset:5px}input:focus,select:focus,textarea:focus{outline:2px solid #9c671c;outline-offset:2px}.skip{position:fixed;left:12px;top:-100px;background:var(--gold);color:var(--deep);z-index:20;padding:10px}.skip:focus{top:12px}.header{min-height:88px;max-width:1380px;margin:auto;padding:18px 5%;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid #d3ad5e40}.mini-brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--gold);font-family:Georgia,serif;font-size:19px;letter-spacing:2px;line-height:1.3}.mini-brand small{display:block;font:10px/1.6 Arial,sans-serif;letter-spacing:2px}.monogram{border:1px solid #ceaa62;border-radius:50%;width:43px;height:43px;text-align:center;font:italic 32px/43px Georgia,serif}.header nav{display:flex;align-items:center;gap:32px}.header nav>a{text-decoration:none;font-size:14px;color:#e3e4dc}.header nav>a:hover{color:var(--gold)}.button{display:inline-flex;gap:30px;justify-content:center;align-items:center;min-height:52px;padding:12px 27px;border:1px solid #f8e1a3;border-radius:999px;background:var(--gold-fill);color:#10212b;font-weight:700;line-height:1.4;box-shadow:0 5px 20px #0002;text-decoration:none}.button:hover{filter:brightness(1.09)}.button.compact{min-height:43px;padding:10px 20px;font-size:14px}.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 20% 36%,#244553 0,transparent 47%),linear-gradient(110deg,#061b2a,#0b2a42 65%,#071b29);border-bottom:0}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,#061d2e 0%,#061d2edb 40%,#061d2e00 75%),url('assets/coast.webp') center bottom/cover no-repeat;opacity:.3}.hero-inner{max-width:1320px;margin:auto;display:grid;grid-template-columns:.82fr 1.18fr;padding:32px 5% 36px;gap:25px;align-items:end}.portrait{position:relative;align-self:stretch;display:flex;align-items:flex-end;margin-left:-70px;margin-bottom:-36px}.portrait img{display:block;width:112%;max-width:none;height:auto;max-height:850px;object-fit:contain;object-position:bottom;filter:drop-shadow(10px 0 30px #0004);mask-image:linear-gradient(#000 82%,transparent 100%)}.portrait-caption{display:none}.hero-content{z-index:1}.brand-row{display:flex;gap:20px;align-items:center}.wordmark{text-align:center;flex:1;color:var(--gold);text-shadow:0 3px 4px #0008;position:relative}.crown{display:block;color:#edc875;font:42px/.8 Georgia,serif;margin-bottom:6px}.script{font:italic 76px/.95 'Monotype Corsiva','Brush Script MT',Georgia,serif;letter-spacing:-4px;background:var(--gold-fill);background-clip:text;-webkit-text-fill-color:transparent;padding:0 10px 4px;display:block}h1{font:46px/1.1 Georgia,serif;font-weight:600;letter-spacing:1px;margin:6px 0}h1 span{display:block;font-size:25px;letter-spacing:5px}.tagline{text-align:center;border-top:1px solid #c69d524d;padding-top:17px;margin:18px 0 10px;font:italic 21px/1.4 Georgia,serif}.ribbon{text-align:center;background:var(--gold-fill);color:#18212b;border:1px solid #f1dca7;border-radius:30px;font:17px/1.3 Georgia,serif;text-transform:uppercase;letter-spacing:1.1px;padding:10px;margin:0 15px 16px}.service-list{display:grid;gap:14px}.service{width:100%;display:grid;grid-template-columns:65px 1fr 88px;align-items:center;gap:19px;text-align:left;background:linear-gradient(110deg,#fffef9,#f3f0e9 65%,#e7d8bb);border:2px solid #d8b567;border-radius:14px;color:#0b2131;padding:15px 20px;box-shadow:0 6px 20px #0003;transition:transform .18s}.service:hover{transform:translateX(-4px)}.service-number{width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:var(--gold-fill);font:italic 24px Georgia,serif;border:1px solid #c49b44;color:#15191b}.service-number svg{width:42px;height:42px;display:block}.quill-icon svg{transform:rotate(-7deg);color:#15191b}.jamaica-icon{background:#eee4cf}.jamaica-icon svg{width:52px;height:52px}.service strong{display:block;font:600 26px/1.07 Georgia,serif}.service-label{overflow-wrap:anywhere}.service-art{display:block;width:78px;height:78px;object-fit:contain}.hero-action{display:flex;align-items:center;gap:24px;margin:23px 0 0}.hero-action>span{font-size:13px;line-height:1.5;color:#e5e6dc}.heritage-banner{display:block;width:100%;max-width:560px;height:auto;margin:14px auto 0;mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(transparent,#000 18%,#000 82%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}.coastal-panorama{height:145px;background:url('assets/coast.webp') center 62%/cover no-repeat;opacity:.72;border-top:1px solid #d3ad5e35;border-bottom:1px solid #d3ad5e35}.content-section,.why-section{max-width:1180px;margin:auto;padding:72px 6%}.content-section>h2,.why-section h2{font:42px/1.18 Georgia,serif;margin:0 0 18px;color:#fbf6e9}.content-section>p:not(.eyebrow),.why-section>div>p:not(.eyebrow){max-width:760px;color:var(--muted)}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.5px;color:var(--gold);margin:0 0 12px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}.info-grid article{background:linear-gradient(145deg,#0b2a42,#061925);border:1px solid #d3ad5e55;border-radius:16px;padding:28px;box-shadow:0 12px 35px #0002}.info-grid h3{font:26px/1.2 Georgia,serif;color:var(--gold);margin:0 0 14px}.info-grid p,.why-list p{color:#d6dcdf;margin:0}.why-section{display:grid;grid-template-columns:1fr 1fr;gap:55px;border-top:1px solid #d3ad5e35;border-bottom:1px solid #d3ad5e35}.why-list{display:grid;gap:15px}.why-list p{padding:20px 22px;border-left:2px solid #d4aa58;background:#071a29}.why-list strong{color:var(--gold);font:21px/1.5 Georgia,serif}.latest-section{max-width:1180px;margin:auto;padding:70px 6%;border-top:1px solid #d3ad5e35;text-align:center}.latest-section>h2{font:42px/1.18 Georgia,serif;margin:0 0 32px}.latest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch;justify-content:center;text-align:left}.resource-card{display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(145deg,#0b2a42,#061925);border:1px solid #d3ad5e55;border-radius:16px;box-shadow:0 12px 35px #0002}.resource-image{display:block;height:190px;overflow:hidden;background:#efe7d7;border-bottom:1px solid #d3ad5e55}.resource-image img{display:block;width:100%;height:100%;object-fit:cover}.resource-body{display:flex;flex:1;flex-direction:column;padding:24px 25px 25px}.latest-grid small{color:var(--gold);font-weight:700;letter-spacing:1.3px}.latest-grid h3{font:25px/1.2 Georgia,serif;margin:10px 0}.latest-grid h3 a,.latest-link{text-decoration:none}.latest-grid p{color:#d6dcdf;margin:0 0 22px}.latest-link{color:var(--gold);font-weight:700;margin-top:auto;padding-top:8px}.latest-all{text-align:center;margin:24px 0 0}.latest-all a{color:#d9bd7c;font-size:14px;font-weight:700;text-decoration:none;border-bottom:1px solid #d9bd7c66;padding-bottom:3px}.faq-section{max-width:900px;margin:auto;padding:70px 6%;border-top:1px solid #d3ad5e35}.faq-section>h2{font:42px/1.18 Georgia,serif;margin:0 0 32px;color:#fbf6e9}.faq-list{display:grid;gap:14px}.faq-item{background:linear-gradient(145deg,#0b2a42,#061925);border:1px solid #d3ad5e55;border-radius:14px;padding:4px 26px}.faq-item summary{cursor:pointer;list-style:none;font:600 19px/1.4 Georgia,serif;color:var(--gold);padding:18px 34px 18px 0;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";position:absolute;right:2px;top:14px;font-size:24px;color:var(--gold)}.faq-item[open] summary::after{content:"\2013"}.faq-item p{color:#d6dcdf;margin:0 0 22px;max-width:720px}.contact{position:relative;text-align:center;padding:58px 5% 36px;max-width:1250px;margin:auto}.contact h2{font:46px/1.2 Georgia,serif;margin:0 0 18px}.contact-links{display:flex;justify-content:center;gap:54px;margin:30px 0}.contact-links>a{display:flex;align-items:center;gap:16px;text-align:left;text-decoration:none;font:24px/1.4 Georgia,serif}.contact-links small{font:10px/1.6 Arial,sans-serif;letter-spacing:2px;color:var(--gold);display:block}.contact-symbol{color:var(--gold);border:1px solid #b9944e;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font:25px Georgia,serif}.availability{border-top:1px solid #d3ad5e40;margin-top:42px;padding-top:26px;display:flex;justify-content:center;gap:40px;color:#e6d0a1;font-size:13px}.availability span{background:transparent;border:0;color:#e6d0a1;padding:0;font-weight:600}.availability span+span{border-left:1px solid #b9944e66;padding-left:18px}footer{background:var(--deep);padding:30px 5%;text-align:center;border-top:1px solid #d3ad5e40}.footer-brand{font:20px Georgia,serif;color:var(--gold);text-decoration:none}footer p{font-size:13px;color:#c7cdd0;margin:15px 0 9px}footer small{font-size:12px;color:#a6b2ba}dialog{color-scheme:light;width:min(740px,calc(100% - 32px));max-height:90dvh;overflow:auto;padding:30px;border:1px solid #c6a154;border-radius:12px;background:#fbf9f3;color:#152b3a;box-shadow:0 25px 90px #0009}dialog::backdrop{background:#020d17cc;backdrop-filter:blur(7px)}body.modal-open{overflow:hidden}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.dialog-head .eyebrow{color:#79571f;font-size:11px}.dialog-head h2{font:34px/1.2 Georgia,serif;margin:0}.close{border:1px solid #b9b8b3;border-radius:50%;background:transparent;color:#152b3a;min-width:44px;height:44px;font-size:28px;line-height:1}.form-intro{font-size:14px;color:#4c5c67}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{display:block;font-size:14px;font-weight:600}.form-grid label>span{color:#815d22}.form-grid small{font-weight:400}.wide{grid-column:1/-1}input,select,textarea{display:block;width:100%;min-width:0;margin-top:5px;padding:11px 12px;background:#fff;border:1px solid #a5afb5;border-radius:4px;color:#182d3b;font-size:16px}textarea{resize:vertical}.privacy{font-size:12px;color:#55626b;line-height:1.6}.form-submit{width:100%}#result-dialog{width:min(440px,calc(100% - 32px));text-align:center;padding:34px 30px 28px}.result-icon{width:68px;height:68px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;font:700 36px/1 Georgia,serif;color:#fff}#result-dialog.ok .result-icon{background:#1f7a4d}#result-dialog.ok .result-icon:before{content:"\2713"}#result-dialog.err .result-icon{background:#a8321f}#result-dialog.err .result-icon:before{content:"!"}#result-dialog h2{font:32px/1.2 Georgia,serif;margin:0 0 10px}#result-dialog p{color:#4c5c67;font-size:15px;margin:0 0 24px}#result-close{width:100%}.form-submit:disabled{opacity:.7;cursor:wait}.noscript{padding:20px;text-align:center;background:#f1d698;color:#152b3a}
@media(min-width:1101px){.hero-inner{grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1.6fr);grid-template-rows:auto auto auto 1fr;gap:0 24px;align-items:start}.hero-content,.brand-row{display:contents}.wordmark{grid-column:1;grid-row:1/3;align-self:end;z-index:2}.tagline{grid-column:1;grid-row:3;margin:18px 0 0}.hero-action{grid-column:1;grid-row:4;flex-direction:column;gap:10px;align-self:start}.portrait{grid-column:2;grid-row:1/-1;align-self:end;margin:0 -130px -36px -60px}.tagline,.hero-action,.heritage-banner,#services{position:relative;z-index:2}.portrait img{width:100%;max-height:760px}.heritage-banner{grid-column:3;grid-row:1;align-self:center;margin:0 auto}#services{grid-column:3;grid-row:2/-1;margin-top:18px}.script{font-size:clamp(68px,6vw,86px)}h1{font-size:clamp(38px,3.4vw,49px)}h1 span{font-size:clamp(21px,1.95vw,28px)}}
@media(max-width:1050px){.header nav{gap:20px}.hero-inner{gap:12px;padding-left:3%;padding-right:4%;grid-template-columns:.85fr 1.15fr}.script{font-size:62px}h1{font-size:37px}h1 span{font-size:20px}.service{padding:17px;gap:14px;grid-template-columns:53px 1fr 72px}.service-number{width:52px;height:52px}.service strong{font-size:23px}.service-art{width:65px;height:65px}.portrait{margin-left:-50px}.portrait img{width:125%}.contact-links{gap:30px}.contact-links>a{font-size:21px}}
@media(max-width:760px){.header{padding:15px 5%;min-height:76px}.header nav>a{display:none}.header nav>a[href="blog/"]{display:block;font-size:12px}.mini-brand{font-size:16px;letter-spacing:1px}.mini-brand small{font-size:8px;letter-spacing:1px}.monogram{width:36px;height:36px;line-height:36px;font-size:27px}.button.compact{font-size:12px;padding:9px 12px;min-height:42px}.hero-inner{display:flex;flex-direction:column;padding:34px 6% 0;gap:0}.hero-content{width:100%;order:0}.brand-row{max-width:540px;margin:auto;gap:16px}.script{font-size:clamp(48px,12vw,76px)}h1{font-size:clamp(29px,7.7vw,46px)}h1 span{font-size:clamp(15px,4vw,24px);letter-spacing:3px}.tagline{font-size:18px;margin-top:22px}.ribbon{font-size:14px;margin:0 12px 15px}.service{padding:15px;grid-template-columns:54px 1fr 60px;gap:13px}.service strong{font-size:22px}.service-art{width:58px;height:58px}.hero-action{justify-content:center;margin:25px 0}.portrait{order:1;align-self:center;width:min(460px,100%);margin:3px 0 0;height:420px;justify-content:center;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:contain;object-position:top;mask-image:linear-gradient(#000 75%,transparent 100%)}.coastal-panorama{height:95px}.content-section,.why-section,.latest-section,.faq-section{padding:52px 6%}.content-section>h2,.why-section h2,.latest-section>h2{font-size:34px}.info-grid,.why-section,.latest-grid{grid-template-columns:1fr}.info-grid{gap:14px}.why-section{gap:25px}.resource-card{max-width:480px;width:100%;margin:auto}.resource-image{height:210px}.contact{padding:40px 6% 28px}.contact h2{font-size:36px}.contact-links{flex-direction:column;align-items:center;gap:23px;margin:26px 0}.contact-links>a{font-size:21px;width:100%;max-width:375px;gap:13px}.availability{flex-direction:column;gap:8px;padding-top:23px;margin-top:32px}.availability span+span{border:0;padding:0}footer p{max-width:360px;margin:15px auto}dialog{padding:22px;max-height:94dvh;width:calc(100% - 20px)}.form-grid{grid-template-columns:1fr;gap:14px}.dialog-head h2{font-size:29px}.wide{grid-column:auto}}
@media(max-width:380px){.mini-brand{gap:7px}.header{padding-left:12px;padding-right:12px}.service strong{font-size:20px}.service{padding:13px 10px;gap:9px}.service-art{width:50px;height:50px}.contact-links>a{font-size:18px}.hero-action{gap:12px}.hero-action .button{font-size:14px}.portrait{height:380px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Final alignment refinements */
@media(min-width:1101px){.portrait img{transform:translateX(-72px)}}

/* Accessibility / anti-spam helpers. */
.service-number svg{width:34px;height:34px;display:block}
.sr-only,h1 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* Mobile navigation */
.menu-toggle{display:none;background:transparent;border:1px solid #d3ad5e88;border-radius:10px;width:44px;height:44px;padding:10px;cursor:pointer}
.menu-toggle span{display:block;height:2px;background:var(--gold);margin:5px 0;border-radius:2px}
@media(max-width:760px){
 .header{position:relative;z-index:50}
 .menu-toggle{display:block;margin-left:auto}
 .header nav{display:none;position:absolute;top:calc(100% + 1px);left:5%;right:5%;padding:14px;background:#061d2ef7;border:1px solid #d3ad5e66;border-radius:14px;box-shadow:0 16px 35px #0008;flex-direction:column;align-items:stretch;gap:5px}
 .header nav.open{display:flex}
 .header nav>a,.header nav>a[href="blog/"]{display:block;padding:12px 14px;font-size:15px;color:#f7f3e8;border-radius:9px}
 .header nav>a:hover{background:#ffffff0d;color:var(--gold)}
 .header nav .button.compact{width:100%;margin-top:5px}
}

/* Prevent horizontal page drift on all screen sizes */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{position:relative}
img,svg,video,canvas{max-width:100%}
