@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Montserrat:wght@400;500;600&display=swap');

:root { --am-gold:#d1ad65; --am-gold-ink:#886320; --am-paper:#f7f5ef; --am-green:#163b2b; --am-ink:#171715; --am-muted:#69665f; --am-white:#fff; }
html { scroll-behavior:smooth; }
body { margin:0; }
/* The custom homepage is not edited with Odoo's website builder.  Odoo still
   injects its frontend-to-backend toolbar for logged-in administrators; when
   the standard positioning utilities are unavailable it becomes a large
   document-flow block.  Keep it out of this standalone homepage entirely. */
body > .o_frontend_to_backend_nav { display:none !important; }
.almaram-site { color:var(--am-ink); background:var(--am-paper); font-family:'Montserrat',Arial,sans-serif; overflow:hidden; }
.almaram-site *, .almaram-site *::before, .almaram-site *::after { box-sizing:border-box; }
.almaram-site h1,.almaram-site h2,.almaram-site h3 { margin:0; font-family:'Cormorant Garamond',Georgia,serif; font-weight:500; }
.almaram-site p { line-height:1.75; }
.almaram-site em { color:var(--am-gold-ink); font-style:italic; }
.am-hero em,.am-restaurant em { color:var(--am-gold); }
.am-header { position:fixed; z-index:50; top:0; left:0; right:0; height:100px; padding:14px clamp(24px,5vw,88px); border-bottom:1px solid rgba(255,255,255,.16); background:linear-gradient(rgba(8,18,12,.58),rgba(8,18,12,.08)); display:flex; align-items:center; justify-content:space-between; transition:.35s ease; }
.am-header.is-scrolled { height:78px; background:rgba(15,21,17,.96); box-shadow:0 10px 35px rgba(0,0,0,.16); backdrop-filter:blur(12px); }
.am-brand { height:64px; width:230px; flex-shrink:0; display:flex; align-items:center; overflow:hidden; }
.am-brand img { width:100%; height:100%; object-fit:contain; }
.am-header.is-scrolled .am-brand { height:54px; width:190px; }
.am-nav { display:flex; gap:clamp(18px,2vw,34px); align-items:center; }
.am-nav a { color:#fff; font-size:12px; font-weight:500; text-decoration:none; letter-spacing:.04em; }
.am-nav > a:not(.am-button)::after { content:""; display:block; width:0; height:1px; margin-top:5px; background:var(--am-gold); transition:.25s; }
.am-nav > a:hover::after { width:100%; }
.am-button { display:inline-flex; min-height:52px; padding:0 28px; align-items:center; justify-content:center; border:1px solid transparent; border-radius:0; font-size:12px; font-weight:600; letter-spacing:.035em; text-decoration:none!important; transition:.25s ease; }
.am-button--gold { color:#17251b!important; background:var(--am-gold); border-color:var(--am-gold); }
.am-button--gold:hover { background:#e3c78d; border-color:#e3c78d; transform:translateY(-2px); }
.am-button--outline { color:#fff!important; border-color:rgba(255,255,255,.6); background:rgba(8,18,12,.2); }
.am-button--outline:hover { color:var(--am-ink)!important; background:#fff; }
.am-nav-cta { margin-left:8px; min-height:46px; }
.am-menu-toggle { display:none; width:44px; height:44px; background:none; border:0; padding:10px; cursor:pointer; }
.am-menu-toggle span { display:block; height:1px; margin:7px 0; background:#fff; transition:transform .25s,opacity .25s; }
.am-hero { position:relative; min-height:min(960px,100svh); display:flex; align-items:center; color:#fff; }
.am-hero__image,.am-hero__shade { position:absolute; inset:0; width:100%; height:100%; }
.am-hero__image { object-fit:cover; object-position:center; }
.am-hero__shade { background:linear-gradient(90deg,rgba(7,18,11,.83) 0%,rgba(7,18,11,.49) 50%,rgba(7,18,11,.10) 100%),linear-gradient(0deg,rgba(5,14,8,.48),transparent 48%); }
.am-hero__content { position:relative; z-index:2; width:min(780px,84vw); margin-left:clamp(25px,5.5vw,105px); padding:150px 0 100px; }
.am-hero h1 { font-size:clamp(60px,6.2vw,96px); line-height:1.02; letter-spacing:-.035em; }
.am-hero p { width:min(470px,100%); margin:26px 0 34px; font-size:15px; color:rgba(255,255,255,.9); }
.am-actions { display:flex; flex-wrap:wrap; gap:13px; }
.am-scroll { position:absolute; z-index:2; bottom:28px; right:45px; color:#fff!important; text-transform:uppercase; font-size:9px; letter-spacing:.28em; text-decoration:none!important; writing-mode:vertical-rl; }
.am-scroll span { display:block; width:1px; height:54px; margin:0 auto 13px; background:var(--am-gold); }
.am-section { padding:clamp(80px,8vw,120px) max(24px,calc((100vw - 1280px)/2)); }
.am-intro { display:grid; grid-template-columns:.95fr 1fr 1fr; gap:22px; align-items:center; }
.am-intro__copy { padding-right:clamp(12px,2.5vw,42px); }
.am-intro h2,.am-story h2 { font-size:clamp(42px,4vw,62px); line-height:1.06; }
.am-intro__copy p,.am-story__copy p { max-width:510px; margin:28px 0; color:var(--am-muted); font-size:14px; }
.am-text-link { display:inline-flex; align-items:center; min-height:44px; color:var(--am-gold-ink)!important; text-decoration:none!important; text-transform:uppercase; font-size:11px; font-weight:600; letter-spacing:.08em; }
.am-text-link span { display:inline-block; padding-left:8px; transition:.2s; }
.am-text-link:hover span { transform:translateX(5px); }
.am-experience { position:relative; height:490px; overflow:hidden; color:#fff; }
.am-experience::after { content:""; position:absolute; inset:30% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.86)); }
.am-experience img { width:100%; height:100%; object-fit:cover; transition:transform .8s ease; }
.am-experience:hover img { transform:scale(1.04); }
.am-experience > div { position:absolute; z-index:2; left:30px; right:25px; bottom:28px; }
.am-experience h3 { font-size:38px; }
.am-experience p { margin:4px 0 9px; font-size:12px; }
.am-experience a { display:inline-flex; align-items:center; min-height:44px; color:#e7cd96!important; font-size:11px; text-decoration:none!important; }
.am-weddings { padding-top:20px; }
.am-section-title { margin-bottom:38px; text-align:center; }
.am-section-title h2 { color:var(--am-ink); font-size:clamp(42px,4.5vw,66px); letter-spacing:-.02em; }
.am-section-title p { margin:12px 0; color:var(--am-muted); font-size:14px; }
.am-gallery { display:grid; grid-template-columns:1.2fr .8fr .8fr; grid-template-rows:250px 250px; gap:14px; }
.am-gallery figure { margin:0; overflow:hidden; }
.am-gallery__large { grid-row:span 2; }
.am-gallery figure:last-child { grid-column:span 2; }
.am-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.am-gallery figure:hover img { transform:scale(1.035); }
.am-gallery-link { display:flex; width:fit-content; margin:24px auto 0; }
.am-gallery-hint { display:none; }
.am-restaurant { min-height:720px; display:grid; grid-template-columns:1.12fr .88fr; align-items:center; background:#14271e; color:#fff; }
.am-restaurant__media { position:relative; align-self:stretch; min-height:650px; }
.am-restaurant__media > img:first-child { width:90%; height:100%; object-fit:cover; object-position:center; opacity:.9; }
.am-restaurant__detail { position:absolute; right:2%; bottom:7%; width:42%; height:auto; aspect-ratio:1; object-fit:cover; border:8px solid #14271e; }
.am-restaurant__copy { max-width:570px; padding:70px clamp(30px,7vw,120px) 70px 35px; }
.am-restaurant h2 { font-size:clamp(52px,5vw,80px); line-height:.96; }
.am-restaurant p { margin:30px 0; color:#d5d4cf; font-size:14px; }
.am-story { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(45px,7vw,125px); align-items:center; }
.am-label { color:var(--am-gold-ink); text-transform:uppercase; font-size:11px; letter-spacing:.14em; }
.am-story__copy h2 { margin-top:16px; }
.am-story__image { height:520px; margin:0; }
.am-story__image img { width:100%; height:100%; object-fit:cover; }
.am-contact { position:relative; padding:100px 24px; color:#fff; text-align:center; background:linear-gradient(rgba(15,55,38,.92),rgba(15,55,38,.92)),url('/overclock_almaram_website/static/src/img/hero-wedding.jpg') center/cover; }
.am-contact__inner { max-width:940px; margin:auto; }
.am-contact h2 { font-size:clamp(45px,5vw,72px); line-height:1.06; letter-spacing:-.02em; }
.am-contact p { margin:10px 0 28px; }
.am-actions--center { justify-content:center; }
.am-footer { position:relative; display:grid; grid-template-columns:1.4fr .7fr 1fr; gap:55px; padding:65px clamp(24px,6vw,110px) 32px; color:#d1d0ca; background:#121312; font-size:12px; }
.am-footer__brand img { width:220px; height:auto; object-fit:contain; }
.am-footer h3 { color:#fff; font-family:'Montserrat',sans-serif; font-size:12px; text-transform:uppercase; letter-spacing:.12em; }
.am-footer a,.am-footer p { display:block; margin:9px 0; color:#d1d0ca!important; text-decoration:none!important; }
.am-footer__legal { grid-column:1/-1; display:flex; justify-content:center; align-items:center; gap:18px; padding-top:25px; border-top:1px solid #333; text-align:center; color:#aaa99f!important; }
.am-footer__powered { display:inline-flex!important; align-items:center; direction:ltr; unicode-bidi:isolate; white-space:nowrap; }
.am-footer__powered img { display:block; width:112px; height:auto; }
.am-motion .am-reveal { opacity:0; transform:translateY(18px); transition:opacity .65s ease,transform .65s ease; }
.am-motion .am-reveal.is-visible { opacity:1; transform:none; }

@media (max-width: 1100px) {
  .am-header { height:82px; padding:9px 18px; }
  .am-brand { width:180px; height:54px; }
  .am-menu-toggle { display:block; position:relative; z-index:52; }
  .am-nav { position:fixed; z-index:51; inset:0; padding:110px 36px 45px; flex-direction:column; align-items:flex-start; gap:25px; background:#101f17; overflow-y:auto; visibility:hidden; transform:translateX(100%); transition:transform .3s ease,visibility .3s; }
  .am-nav.is-open { transform:none; visibility:visible; }
  .am-nav a { font-family:'Cormorant Garamond',serif; font-size:30px; }
  .am-nav-cta { margin:12px 0 0; font-family:'Montserrat',sans-serif!important; font-size:12px!important; }
  .am-menu-toggle.is-open span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
  .am-menu-toggle.is-open span:nth-child(2){ opacity:0; }
  .am-menu-toggle.is-open span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }
  .am-intro { grid-template-columns:1fr 1fr; }
  .am-intro__copy { grid-column:1/-1; padding:0 0 35px; }
  .am-experience { height:440px; }
  .am-gallery { grid-template-columns:1fr 1fr; grid-template-rows:300px 220px 220px; }
  .am-gallery__large { grid-column:span 2; grid-row:auto; }
  .am-gallery figure:last-child { grid-column:span 1; }
  .am-restaurant { grid-template-columns:1fr; }
  .am-restaurant__media { min-height:540px; }
  .am-restaurant__copy { padding:65px 28px 85px; }
  .am-story { grid-template-columns:1fr; }
  .am-story__image { height:440px; }
}
@media (max-width: 560px) {
  .am-hero { min-height:740px; min-height:max(700px,100svh); align-items:flex-end; padding-bottom:52px; }
  .am-hero__image { object-position:57% center; }
  .am-hero__shade { background:linear-gradient(0deg,rgba(5,16,9,.95) 0%,rgba(5,16,9,.68) 48%,rgba(5,16,9,.24) 100%); }
  .am-hero__content { margin:0 24px; padding:145px 0 0; width:auto; }
  .am-eyebrow { font-size:9px; letter-spacing:.16em; margin-bottom:20px; }
  .am-hero h1 { font-size:clamp(46px,12.4vw,66px); line-height:1.03; }
  .am-hero p { margin:22px 0 28px; font-size:13px; line-height:1.85; }
  .am-actions { flex-direction:column; align-items:stretch; }
  .am-scroll { display:none; }
  .am-section { padding:75px 22px; }
  .am-intro { display:block; }
  .am-experience { height:410px; margin-top:18px; }
  .am-intro__copy { padding-bottom:28px; }
  .am-weddings { padding-top:70px; }
  .am-gallery { display:flex; margin-right:-22px; padding-right:22px; overflow-x:auto; padding-bottom:16px; scrollbar-width:thin; scrollbar-color:var(--am-gold) #e5e0d4; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; }
  .am-gallery figure,.am-gallery__large { flex:0 0 80vw; height:380px; scroll-snap-align:center; }
  .am-gallery-hint { display:block; margin:12px 0 0; color:var(--am-muted); font-size:11px; }
  .am-gallery-hint span { margin-left:8px; }
  .am-restaurant__media { min-height:420px; }
  .am-restaurant__media > img:first-child { width:100%; }
  .am-restaurant__detail { width:43%; right:4%; }
  .am-story__image { height:330px; }
  .am-contact { padding:78px 22px; }
  .am-footer { grid-template-columns:1fr; gap:26px; padding:55px 24px 25px; }
  .am-footer__legal { grid-column:1; align-items:flex-start; flex-direction:column; gap:6px; text-align:left; }
}
@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}.almaram-site *,.almaram-site *::after{transition:none!important}.am-motion .am-reveal{opacity:1;transform:none} }

/* Shared finishing details and keyboard access. */
.almaram-site h1,.almaram-site h2 { text-wrap:balance; }
.almaram-site section[id],.am-gallery,#main-content { scroll-margin-top:100px; }
.almaram-site a:focus-visible,.almaram-site button:focus-visible,.am-gallery:focus-visible { outline:2px solid var(--am-gold); outline-offset:6px; }
.am-skip { position:fixed; top:12px; left:20px; z-index:100; padding:14px 20px; color:#fff; background:#163b2b; transform:translateY(-160%); }
.am-skip:focus { transform:none; }
.am-eyebrow { display:block; margin-bottom:24px; color:#e7d6b0; text-transform:uppercase; font-size:10px; font-weight:600; letter-spacing:.22em; line-height:1.8; }
.am-footer a:hover { color:var(--am-gold)!important; }
@media (min-width:901px) and (max-width:1100px) { .am-brand { width:180px; } .am-nav { gap:18px; } .am-nav-cta { padding:0 16px; } }
@media (max-width:560px) { .am-eyebrow { font-size:9px; letter-spacing:.16em; margin-bottom:20px; } }
