/* Julian — soft zine / scrapbook palette (LIGHT MODE — instantly different from siblings) */
:root{
  --c-bg:#f5ecdc;--c-bg-2:#ede1cd;--c-card:#fff8eb;--c-border:#d6c8af;
  --c-text:#3a3530;--c-dim:#7a6f64;--c-bright:#1c1916;
  --c-rose:#cf9b94;--c-rose-deep:#a86b62;--c-rose-soft:#e8c8c1;
  --c-sage:#8b9a7d;--c-sage-deep:#5e6c54;--c-sage-soft:#c0c9b3;
  --c-charcoal:#2a2628;--c-blush:#f0d8d2;--c-gold:#9a7d4a;
  --r-sm:6px;--r-md:14px;--r-lg:22px;--r-xl:32px;--r-pill:999px;
  --trans:.3s ease;
  --font-h:'DM Serif Display',Georgia,serif;
  --font-acc:'Cormorant Garamond',Georgia,serif;
  --font-b:'Inter',-apple-system,sans-serif;
  --paper-shadow:0 2px 6px rgba(58,53,48,.08),0 8px 24px rgba(58,53,48,.06);
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;font-family:var(--font-acc);color:var(--c-text);background:var(--c-bg);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;font-weight:400}
a{color:var(--c-rose-deep);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--c-charcoal)}
img,svg{max-width:100%}
.container{max-width:1080px;margin:0 auto;padding:0 24px}
.skip-link{position:absolute;left:-9999px;background:var(--c-rose-deep);color:#fff;padding:10px 16px;border-radius:var(--r-md);font-weight:600}.skip-link:focus{left:8px;top:8px;z-index:999}

/* Paper texture background */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/><feColorMatrix values='0 0 0 0 0.42  0 0 0 0 0.36  0 0 0 0 0.30  0 0 0 0.05 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  opacity:.5;mix-blend-mode:multiply;
}
.site-header,main,.site-footer{position:relative;z-index:1}

/* Header — light, airy */
.site-header{background:var(--c-bg);border-bottom:1px solid var(--c-border);padding:18px 0}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.brand{display:inline-flex;align-items:center;gap:14px;text-decoration:none}
.brand-mark{font-family:var(--font-h);font-style:italic;font-size:1.6rem;color:var(--c-rose-deep);line-height:1;padding:6px 12px;background:var(--c-rose-soft);border-radius:50%}
.brand-mark-lg{font-size:2.2rem;padding:10px 18px}
.brand-text strong{display:block;font-family:var(--font-h);font-style:italic;font-weight:400;font-size:1.6rem;color:var(--c-charcoal);line-height:1;letter-spacing:-.02em}
.brand-handle,.brand-text em{display:block;font-family:var(--font-acc);font-style:italic;font-size:.9rem;color:var(--c-sage-deep);margin-top:3px;font-weight:500}
.nav{display:flex;gap:28px;flex-wrap:wrap}
.nav a{color:var(--c-charcoal);font-family:var(--font-acc);font-style:italic;font-size:1.05rem;font-weight:500;padding:6px 0;text-decoration:none;border-bottom:1px solid transparent;transition:border-color var(--trans)}
.nav a:hover{border-bottom-color:var(--c-rose-deep)}
@media(max-width:780px){.nav{display:none}}

/* Buttons — pill, paper-soft */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 26px;border-radius:var(--r-pill);font-family:var(--font-acc);font-style:italic;font-weight:600;font-size:1.02rem;border:1px solid transparent;cursor:pointer;transition:all var(--trans);text-decoration:none!important;letter-spacing:0;line-height:1.2}
.btn-primary{background:var(--c-rose-deep);color:var(--c-bg);border-color:var(--c-rose-deep);box-shadow:var(--paper-shadow)}
.btn-primary:hover{background:var(--c-charcoal);border-color:var(--c-charcoal);transform:translateY(-1px)}
.btn-outline{background:transparent;color:var(--c-charcoal);border:1px solid var(--c-charcoal)}
.btn-outline:hover{background:var(--c-charcoal);color:var(--c-bg)}
.btn-sm{padding:9px 18px;font-size:.92rem}
.btn-lg{padding:15px 32px;font-size:1.1rem}
.btn-xl{padding:20px 38px;font-size:1.2rem}
.btn-block{display:flex;width:100%}

/* Hero — soft, romantic */
.hero{padding:80px 0 90px;text-align:center;position:relative}
.hero-inner{max-width:820px;margin:0 auto}
.eyebrow{display:inline-block;font-family:var(--font-acc);font-style:italic;font-size:.9rem;font-weight:500;color:var(--c-sage-deep);letter-spacing:.04em;margin-bottom:18px;padding:0;background:none;border:none}
.hero-name{font-family:var(--font-h);font-style:italic;font-weight:400;font-size:clamp(4rem,11vw,8rem);line-height:.95;color:var(--c-charcoal);margin:0 0 12px;letter-spacing:-.04em}
.hero-name em{font-style:italic;color:var(--c-rose-deep);text-shadow:2px 2px 0 var(--c-rose-soft)}
.hero-handle{font-family:var(--font-acc);font-style:italic;font-size:1.1rem;color:var(--c-sage-deep);margin:4px 0 18px;letter-spacing:.02em}
.hero-tag{font-family:var(--font-acc);font-style:italic;font-size:1.4rem;color:var(--c-text);max-width:640px;margin:0 auto 20px;line-height:1.5;font-weight:500}
.hero-tag strong{font-style:normal;font-weight:600;color:var(--c-charcoal)}
.hero-mark{font-family:var(--font-acc);color:var(--c-rose-deep);font-size:1rem;letter-spacing:.6em;margin:20px 0}
.hero-trust{display:flex;flex-wrap:wrap;gap:14px 24px;justify-content:center;margin:0 0 32px;padding:0;list-style:none}
.hero-trust li{font-family:var(--font-acc);font-style:italic;font-size:.95rem;color:var(--c-sage-deep);font-weight:500}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}

/* Headings */
h1,h2,h3,h4{font-family:var(--font-h);font-weight:400;color:var(--c-charcoal);line-height:1.1;margin:0 0 .4em;letter-spacing:-.02em}
h2{font-size:clamp(2.2rem,4.5vw,3.2rem);font-style:italic}
h3{font-size:1.5rem;font-style:italic}
h4{font-size:.85rem;letter-spacing:.06em;color:var(--c-sage-deep);font-style:italic;text-transform:lowercase;font-family:var(--font-acc);font-weight:600}

/* Sections */
.section{padding:84px 0}
.section-alt{background:var(--c-bg-2)}
.section-head{text-align:center;margin-bottom:52px}
.section-head .eyebrow{margin-bottom:12px}
.section-head p{font-family:var(--font-acc);font-style:italic;font-size:1.18rem;color:var(--c-text);max-width:600px;margin:0 auto;line-height:1.5}

/* Two-col */
.two-col{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:start}
@media(max-width:880px){.two-col{grid-template-columns:1fr;gap:32px}}
p{margin:0 0 1em;color:var(--c-text)}
p strong{color:var(--c-charcoal);font-weight:600}
em{color:var(--c-rose-deep)}

/* Tag list */
.tag-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:18px 0 0}
.tag{display:inline-block;padding:6px 14px;font-family:var(--font-acc);font-style:italic;font-size:.92rem;color:var(--c-charcoal);background:var(--c-rose-soft);border-radius:var(--r-pill)}

/* Quick facts — paper card with slight tilt */
.quick-facts{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:28px;box-shadow:var(--paper-shadow);transform:rotate(-1deg);transition:transform var(--trans)}
.quick-facts:hover{transform:rotate(0)}
.quick-facts dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:11px 18px}
.quick-facts dt{font-family:var(--font-acc);font-style:italic;font-size:.86rem;color:var(--c-sage-deep);font-weight:600;align-self:center}
.quick-facts dd{margin:0;color:var(--c-charcoal);font-size:1rem;align-self:center;font-family:var(--font-acc)}
.quick-facts dd a{color:var(--c-charcoal);text-decoration-color:var(--c-rose-deep)}

/* Style cards — scrapbook collage with slight rotations */
.styles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px}
.style-card{padding:32px 26px;border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--paper-shadow);transition:transform var(--trans);position:relative}
.style-card h3{margin-bottom:10px;color:var(--c-charcoal)}
.style-card p{color:var(--c-text);font-size:1rem;margin:0;font-family:var(--font-acc)}
.style-card:nth-child(1){transform:rotate(-1deg)}
.style-card:nth-child(2){transform:rotate(.8deg)}
.style-card:nth-child(3){transform:rotate(-.5deg)}
.style-card:nth-child(4){transform:rotate(1.2deg)}
.style-card:hover{transform:rotate(0) translateY(-4px)}
.sc-rose{background:var(--c-blush)}
.sc-sage{background:var(--c-sage-soft)}
.sc-charcoal{background:var(--c-charcoal);color:var(--c-bg)}
.sc-charcoal h3{color:var(--c-blush)}
.sc-charcoal p{color:var(--c-bg)}
.sc-cream{background:var(--c-card)}

/* FAQ */
.faq-grid{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.faq-grid details{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--paper-shadow)}
.faq-grid details[open]{border-color:var(--c-rose-deep)}
.faq-grid summary{cursor:pointer;padding:18px 22px;font-family:var(--font-h);font-style:italic;font-size:1.15rem;color:var(--c-charcoal);list-style:none;position:relative;padding-right:54px}
.faq-grid summary::-webkit-details-marker{display:none}
.faq-grid summary::after{content:"✦";position:absolute;right:22px;top:50%;transform:translateY(-50%);color:var(--c-rose-deep);font-size:1rem;transition:transform var(--trans)}
.faq-grid details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-grid details p{padding:0 22px 22px;color:var(--c-text);margin:0;font-size:1rem;line-height:1.7;font-family:var(--font-acc)}

/* Section CTA */
.section-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}

/* CTA section — soft */
.cta-section{padding:96px 0;text-align:center;background:linear-gradient(180deg,var(--c-bg),var(--c-blush))}
.cta-section h2{font-family:var(--font-h);font-style:italic;font-size:clamp(2.4rem,5vw,3.8rem);margin-bottom:18px;color:var(--c-charcoal)}
.cta-section p{font-family:var(--font-acc);font-style:italic;font-size:1.25rem;color:var(--c-text);max-width:520px;margin:0 auto 32px}

/* Footer */
.site-footer{background:var(--c-bg-2);border-top:1px solid var(--c-border);padding:60px 0 26px;color:var(--c-text)}
.footer-grid{display:grid;grid-template-columns:1.3fr 2fr;gap:52px;margin-bottom:32px}
.footer-brand{display:flex;align-items:center;gap:18px}
.footer-brand strong{display:block;font-family:var(--font-h);font-style:italic;color:var(--c-charcoal);font-size:1.4rem}
.footer-brand em{display:block;font-family:var(--font-acc);font-style:italic;color:var(--c-sage-deep);font-size:.92rem;margin-top:4px}
.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.footer-links h4{font-family:var(--font-acc);font-style:italic;color:var(--c-rose-deep);font-size:.95rem;margin:0 0 12px;font-weight:600}
.footer-links ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.footer-links a,.footer-links li{color:var(--c-text);font-family:var(--font-acc);font-size:.98rem;font-style:italic}
.footer-links a:hover{color:var(--c-rose-deep)}
.footer-bottom{border-top:1px solid var(--c-border);padding-top:20px;font-size:.86rem;color:var(--c-dim);text-align:center}
@media(max-width:780px){.footer-grid{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr 1fr}}

/* Sticky CTA */
.sticky-cta{position:fixed;right:18px;bottom:18px;z-index:50;background:var(--c-rose-deep);color:var(--c-bg);padding:13px 22px;font-family:var(--font-acc);font-style:italic;font-size:1rem;font-weight:600;border-radius:var(--r-pill);text-decoration:none!important;box-shadow:var(--paper-shadow);transition:all var(--trans)}
.sticky-cta:hover{background:var(--c-charcoal);transform:translateY(-2px)}

/* Booking widget */
.booking-widget{position:fixed;left:18px;bottom:18px;z-index:50}
.booking-bubble{background:var(--c-rose-deep);color:var(--c-bg);width:54px;height:54px;border-radius:50%;border:none;box-shadow:var(--paper-shadow);cursor:pointer;display:flex;align-items:center;justify-content:center}
.booking-widget.is-open .booking-bubble .bk-open{display:none}
.booking-bubble .bk-close{display:none}
.booking-widget.is-open .booking-bubble .bk-close{display:block}
.booking-panel{position:absolute;left:0;bottom:70px;width:340px;max-width:calc(100vw - 36px);max-height:78vh;overflow-y:auto;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:22px;box-shadow:var(--paper-shadow)}
.booking-head{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--c-border)}
.booking-head strong{display:block;font-family:var(--font-h);font-style:italic;font-size:1.2rem;color:var(--c-charcoal);font-weight:400}
.booking-head em{display:block;color:var(--c-sage-deep);font-family:var(--font-acc);font-style:italic;font-size:.85rem;margin-top:3px}
.booking-form label{display:block;margin-bottom:10px}
.booking-form span{display:block;font-family:var(--font-acc);font-style:italic;font-size:.9rem;color:var(--c-sage-deep);font-weight:600;margin-bottom:4px}
.booking-form input,.booking-form select{width:100%;padding:10px 12px;background:var(--c-bg);border:1px solid var(--c-border);color:var(--c-charcoal);font-family:var(--font-acc);font-size:.96rem;border-radius:var(--r-sm)}
.booking-form input:focus,.booking-form select:focus{outline:none;border-color:var(--c-rose-deep)}
.booking-form input[type="submit"]{background:var(--c-rose-deep);color:var(--c-bg);border:1px solid var(--c-rose-deep);font-weight:600;cursor:pointer;padding:14px;font-family:var(--font-acc);font-style:italic;text-transform:none;letter-spacing:0}
.booking-note{font-family:var(--font-acc);font-style:italic;color:var(--c-dim);font-size:.88rem;margin-top:10px;text-align:center}

/* Gallery */
.gallery-empty{text-align:center;padding:60px 20px;color:var(--c-dim);font-family:var(--font-acc);font-style:italic;font-size:1.05rem}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
