:root{--navy:#0f2a44;--navy2:#163a5c;--deep:#0a1e33;--white:#fff;--canvas:#f6f1e4;--canvas2:#ece4d0;--brass:#b8913a;--brass2:#d8b765;--red:#a63a32;--ink:#1d2733;--rope:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='10'%3E%3Cpath d='M0 9 Q6 -1 12 5 T24 1' fill='none' stroke='%23b8913a' stroke-width='3'/%3E%3Cpath d='M0 5 Q6 11 12 5' fill='none' stroke='%238a6a24' stroke-width='1.2'/%3E%3C/svg%3E")}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:22px;line-height:1.6;color:var(--ink);background:var(--canvas)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.2;color:var(--navy);letter-spacing:.01em}
h2{font-size:2.2em;text-align:center;margin:0 0 .6em}
h2::after{content:"";display:block;width:180px;height:10px;margin:.35em auto 0;background:var(--rope) repeat-x center}
h3{font-size:1.5em;text-align:center}
a{color:var(--navy2)}.center{text-align:center}
.nav{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5em;padding:.5em 1em;background:var(--navy);border-bottom:3px solid var(--brass)}
.brand{display:flex;align-items:center;gap:.5em;color:#fff;text-decoration:none;font-weight:bold}
.brand img{height:52px;border-radius:50%;box-shadow:0 0 0 2px var(--brass)}.nav nav a{color:var(--brass2);text-decoration:none;margin:0 .6em;font-size:1em}
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(10,31,58,.45) 0,rgba(10,31,58,.08) 30%,rgba(10,31,58,.05) 60%,rgba(8,24,46,.5) 100%),url(assets/hero.jpg) center 40%/cover no-repeat,var(--navy);color:#fff;text-align:center;padding:3em 1em 7.5em}
.hero::before{content:"";position:absolute;left:50%;top:170px;width:1800px;height:1800px;transform:translate(-50%,-50%);background:repeating-conic-gradient(from 0deg,rgba(255,240,200,.06) 0deg 4deg,transparent 4deg 18deg);-webkit-mask:radial-gradient(circle,#000 0,transparent 60%);mask:radial-gradient(circle,#000 0,transparent 60%);pointer-events:none}
.hero-inner{position:relative;z-index:1;text-shadow:0 2px 10px rgba(0,0,0,.85),0 0 3px rgba(0,0,0,.6);max-width:820px;margin:0 auto;padding:1.2em 1.4em;border-radius:24px;background:radial-gradient(closest-side,rgba(8,24,46,.4) 0,rgba(8,24,46,.25) 60%,transparent 100%)}
.hero-caption{position:absolute;left:0;right:0;bottom:78px;z-index:1;margin:0;font-style:italic;font-size:.85em;letter-spacing:.06em;color:#fff;opacity:.92;text-shadow:0 1px 6px rgba(0,0,0,.9)}
@media(max-width:700px){.hero-caption{bottom:46px;font-size:.7em}}
.compass{position:absolute;right:-60px;bottom:30px;width:380px;opacity:.07;pointer-events:none}
.hero h1{color:#fff;font-size:3em;margin:.3em 0;text-shadow:0 2px 6px #0008}
.hero-logo{width:240px;max-width:60%;border-radius:50%;box-shadow:0 0 0 5px var(--brass),0 0 0 9px rgba(255,255,255,.85),0 0 80px rgba(255,236,180,.55)}
.tag{font-size:1.4em}
.wave{position:absolute;left:0;bottom:-1px;width:100%;height:70px;display:block}
.btn{display:inline-block;margin:.4em;padding:.7em 1.4em;border-radius:50px;background:var(--brass);color:#14202c;font-weight:bold;text-decoration:none;box-shadow:0 4px 12px #0005;border:2px solid var(--brass2)}
.btn.big{font-size:1.3em;background:linear-gradient(#d8b765,#b8913a)}.btn.ghost{background:transparent;color:#fff;border:3px solid #fff;box-shadow:none}
.verse{background:var(--canvas);color:var(--navy);padding:2.5em 1em 2.8em;border-bottom:10px solid transparent;border-image:var(--rope) 0 0 10 0 repeat}
blockquote{max-width:900px;margin:auto;font-size:1.4em;font-style:italic;text-align:center}
cite{display:block;margin-top:.6em;color:var(--red);font-style:normal;font-weight:bold;letter-spacing:.05em}
.wrap{max-width:1050px;margin:auto;padding:3em 1em}.lead{font-size:1.35em;text-align:center;color:var(--navy2);font-style:italic}
.band{background:var(--canvas2)}.band.dark{background:var(--navy)}.band.dark h2{color:#fff}
.cards{display:flex;flex-wrap:wrap;gap:1em;justify-content:center}
.card{flex:1 1 260px;max-width:340px;background:#fff;border-radius:10px;padding:1.2em;text-align:center;box-shadow:0 4px 14px #0f2a4422;border:2px solid var(--brass);outline:2px dashed rgba(184,145,58,.45);outline-offset:-9px}
.role{text-transform:uppercase;letter-spacing:.08em;font-size:.8em;color:var(--red);font-weight:bold}
.name{display:block;font-size:1.2em;font-weight:bold;color:var(--navy);text-decoration:none;word-break:break-word}
.svc .day{font-size:1.5em;font-weight:bold;color:var(--navy)}.svc .time{font-size:1.4em;font-weight:bold}.svc .what{font-size:1.2em;color:var(--red)}
.placeholder{border:3px dashed var(--brass)!important;background:#fffdf6}
.note{padding:1em;border-radius:12px;margin-top:1.5em;text-align:center}
.steps li{margin-bottom:.7em}.steps li::marker{color:var(--brass);font-weight:bold}
footer{background:var(--deep);color:#e6dcc4;border-top:4px solid var(--brass);text-align:center;padding:2em 1em 5em;font-size:.9em}
.callbar{display:none}
@media(max-width:700px){body{font-size:20px}.hero h1{font-size:2.1em}h2{font-size:1.8em}.nav nav{width:100%;display:flex;justify-content:space-around}.nav nav a{margin:0}.compass{width:240px;right:-70px}.wave{height:40px}
.callbar{display:block;position:fixed;bottom:0;left:0;right:0;background:var(--red);border-top:3px solid var(--brass);color:#fff;text-align:center;padding:.8em;font-weight:bold;font-size:1.2em;text-decoration:none;z-index:9}}
.dial{font-size:1.25em;margin:.6em 0 1em}.dial-box{background:#fff;border:3px solid var(--brass);border-radius:12px;padding:.7em;color:var(--ink)}
@media(max-width:700px){body{padding-bottom:3.5em}}
.hero a{text-shadow:none}
@font-face{font-family:"Great Vibes";src:url("assets/fonts/GreatVibes-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
.hero h1.script-title{font-family:"Great Vibes","Pinyon Script","Brush Script MT",cursive;font-weight:400;font-size:5.2em;line-height:1.1;letter-spacing:.01em;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.85),0 0 18px rgba(0,0,0,.55)}
.brand-name{font-family:"Great Vibes","Pinyon Script","Brush Script MT",cursive;font-weight:400;font-size:1.65em;line-height:1;letter-spacing:.01em}
@media(max-width:700px){.hero h1.script-title{font-size:3.3em}.brand-name{font-size:1.3em}}

.arc-brand{position:relative;width:min(900px,100%);margin:0 auto}
.arc-title{display:block;width:100%;height:auto;overflow:visible}
.arc-brand .hero-logo{position:absolute;left:50%;top:30%;transform:translateX(-50%);width:34%;max-width:none}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.arc-brand{width:calc(100% + 36px);margin:0 -18px}}

.arc-brand .hero-logo{top:34%;width:30%}
.arc-sub{font-family:'Great Vibes',cursive;color:#fff;font-size:clamp(3.4rem,10vw,8.5rem);line-height:1;margin:4% 0 0;text-shadow:0 3px 6px #000,0 0 18px #08182e}
.arc-brand{display:flex;flex-direction:column;align-items:center}.arc-brand .arc-title{position:relative}.arc-brand .arc-sub{position:relative}
.cards:has(> .card:only-child){justify-content:center;display:flex}.cards>.card:only-child{max-width:420px;width:100%;text-align:center}
