:root{--ink:#0d2a2e;--ink2:#143b40;--cream:#f4efe6;--sand:#c2a56b;--hair:rgba(194,165,107,.28);--haird:rgba(13,42,46,.16)}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{font-family:'Jost',sans-serif;font-weight:300;font-size:1.04rem;line-height:1.75;color:var(--ink);background:var(--cream)}
h1,h2,h3,.serif{font-family:'Fraunces',serif;font-weight:300;line-height:1.14}
.tc{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;font-weight:500}
.eyebrow{color:var(--sand);display:block;margin-bottom:1rem}
.sub{font-family:'Fraunces',serif;font-style:italic;font-weight:300;font-size:1.25rem;opacity:.85}
h2{font-size:clamp(2rem,4.2vw,3.2rem)}
section{padding:96px 0}
.navbar{background:rgba(13,42,46,.93);backdrop-filter:blur(12px);border-bottom:1px solid var(--hair);padding:.7rem 0}
.navbar-brand{font-family:'Fraunces',serif;font-weight:300;color:var(--cream)!important;letter-spacing:.14em;text-transform:uppercase;font-size:1.05rem;line-height:1.1}
.navbar-brand small{display:block;font-family:'Jost',sans-serif;font-size:.58rem;letter-spacing:.34em;color:var(--sand);margin-top:3px}
.nav-link{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(244,239,230,.82)!important;font-weight:400;transition:color .3s}
.nav-link:hover{color:var(--sand)!important}
.navbar-toggler{border-color:var(--hair);filter:invert(1)}
.btn-sand,.btn-ghost{border-radius:0;font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;padding:15px 36px;font-weight:500;transition:.3s}
.btn-sand{background:var(--sand);color:var(--ink);border:1px solid var(--sand)}
.btn-sand:hover{background:transparent;color:var(--sand)}
.btn-ghost{border:1px solid rgba(244,239,230,.4);color:var(--cream)}
.btn-ghost:hover{border-color:var(--sand);color:var(--sand)}
.btn-ghost.dk{border-color:var(--haird);color:var(--ink)}
.btn-ghost.dk:hover{border-color:var(--ink);color:var(--ink)}
.hero{position:relative;min-height:min(calc(100vh - 62px),640px);display:flex;align-items:flex-end;padding:0;color:var(--cream);background:var(--ink) url(img/hero.webp) center 72%/cover}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,42,46,.55) 0%,rgba(13,42,46,.25) 35%,rgba(13,42,46,.88) 100%)}
.hero .container{position:relative;padding-top:60px;padding-bottom:56px}
.hero h1{font-size:clamp(2.4rem,5vw,4.2rem);max-width:15ch;text-shadow:0 0 3px #000,0 2px 16px rgba(0,0,0,.9),0 0 40px rgba(0,0,0,.7)}
.hero .sub,.hero .tc{text-shadow:0 0 3px #000,0 2px 16px rgba(0,0,0,.95),0 0 40px rgba(0,0,0,.85)}
.hero .sub{font-size:1.3rem;max-width:34rem;margin:1.2rem 0 2rem;opacity:.95}
.tile{height:22px;background-color:var(--ink);background-image:linear-gradient(90deg,rgba(194,165,107,.5) 1px,transparent 1px),linear-gradient(180deg,rgba(194,165,107,.5) 1px,transparent 1px),linear-gradient(135deg,#1b5a60,#2b8088 50%,#1b5a60);background-size:22px 22px,22px 22px,100% 100%;border-top:1px solid var(--sand);border-bottom:1px solid var(--sand)}
.dark{background:var(--ink);color:var(--cream)}
.dark .sub{color:var(--cream)}
.idx{list-style:none;padding:0;margin:0}
.idx li{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--hair);padding:20px 0;font-family:'Fraunces',serif;font-weight:300;font-size:1.5rem;color:var(--cream)}
.idx li:last-child{border-bottom:1px solid var(--hair)}
.idx span{font-family:'Jost',sans-serif;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sand);align-self:center;text-align:right}
.frame{border:1px solid var(--sand);padding:10px}
.frame img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.svc{border-top:1px solid var(--haird);padding-top:1.4rem;height:100%}
.svc h3{font-size:1.7rem}
.svc .tc{color:var(--sand);display:block;margin-bottom:.7rem}
.step{border-top:1px solid var(--hair);padding:1.4rem 0 0}
.step h3{font-size:1.5rem;color:var(--cream)}
.step p{opacity:.8;font-size:.97rem}
.port a{display:block;color:inherit;text-decoration:none}
.port .ph{border:1px solid var(--haird);padding:8px;background:transparent}
.port img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;transition:opacity .3s}
.port figcaption{font-family:'Fraunces',serif;font-size:1.35rem;padding-top:.9rem}
.port .col-md-6:nth-child(even){margin-top:56px}
.faq .accordion-item{background:transparent;border:0;border-top:1px solid var(--haird);border-radius:0}
.faq .accordion-item:last-child{border-bottom:1px solid var(--haird)}
.faq .accordion-button{background:transparent;color:var(--ink);font-family:'Fraunces',serif;font-weight:300;font-size:1.25rem;padding:1.3rem 0;box-shadow:none;border-radius:0}
.faq .accordion-button:not(.collapsed){color:var(--ink);background:transparent}
.faq .accordion-body{padding:0 0 1.5rem;max-width:820px}
.price{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(3.4rem,9vw,6.4rem);line-height:1;color:var(--sand)}
.vend img{height:64px;width:auto;max-width:100%;object-fit:contain;filter:grayscale(1);opacity:.75;transition:.3s}
.vend a:hover img{filter:none;opacity:1}
.contact a{color:var(--cream);text-decoration:none;border-bottom:1px solid var(--hair)}
.contact a:hover{color:var(--sand)}
.contact dt{color:var(--sand);margin-top:1.4rem}
.contact dd{margin:0;font-size:1.1rem}
.map iframe{width:100%;height:100%;min-height:340px;border:1px solid var(--sand);display:block;filter:saturate(.7)}
footer{background:var(--ink);color:rgba(244,239,230,.7);text-align:center;padding:48px 0 40px;font-size:.85rem}
footer a{color:var(--sand);text-decoration:none}
footer .brandf{font-family:'Fraunces',serif;color:var(--cream);letter-spacing:.14em;text-transform:uppercase;font-size:1.1rem}
@media(max-width:767px){section{padding:64px 0}.port .col-md-6:nth-child(even){margin-top:0}.hero .container{padding-bottom:56px}.idx li{font-size:1.25rem;flex-direction:column;gap:2px}.idx span{text-align:left}}
