/* Fontovi: optional uz preload, da se tekst ne prelomi drukčije kad font stigne kasno (CLS); bez fonta ostaju podešeni Georgia i Arial. */
@font-face { font-family:"GL Editorial"; src:url("/assets/fonts/gl-newsreader-roman-latin.woff2") format("woff2"); font-weight:400 600; font-style:normal; font-display:optional; }
@font-face { font-family:"GL Editorial"; src:url("/assets/fonts/gl-newsreader-italic-latin.woff2") format("woff2"); font-weight:400 600; font-style:italic; font-display:optional; }
@font-face { font-family:"GL Text"; src:url("/assets/fonts/gl-source-sans-3-latin.woff2") format("woff2"); font-weight:400 600; font-style:normal; font-display:optional; }
@font-face { font-family:"GL Editorial Fallback"; src:local("Georgia"); size-adjust:95.900%; ascent-override:76.643%; descent-override:27.632%; line-gap-override:0%; }
@font-face { font-family:"GL Editorial Fallback"; src:local("Georgia Italic"); font-style:italic; size-adjust:87.610%; ascent-override:83.894%; descent-override:30.248%; line-gap-override:0%; }
@font-face { font-family:"GL Text Fallback"; src:local("Arial"); size-adjust:89.443%; ascent-override:111.804%; descent-override:36.448%; line-gap-override:0%; }
@layer base, layout, components, responsive, motion;
@layer base {
  :root { --ivory:#f7f4ee; --ink:#242320; --stone:#e6ded1; --bronze:#8a6a36; --muted:#5b564e; --line:#d8d0c3; --serif:"GL Editorial","GL Editorial Fallback",Georgia,serif; --sans:"GL Text","GL Text Fallback",Arial,sans-serif; }
  * { box-sizing:border-box; }
  html { scroll-behavior:smooth; scroll-padding-top:104px; }
  body { margin:0; background:var(--ivory); color:var(--ink); font:19px/1.65 var(--sans); font-kerning:normal; font-variant-ligatures:common-ligatures; font-optical-sizing:auto; -webkit-font-smoothing:antialiased; }
  body.dialog-open { overflow:hidden; }
  h1,h2,h3,p,figure { margin:0; }
  h1,h2,h3 { font-family:var(--serif); font-weight:400; line-height:1.12; text-wrap:balance; }
  h1 { font-size:clamp(38px,4.5vw,68px); letter-spacing:-.025em; }
  h2 { font-size:clamp(36px,3.5vw,52px); letter-spacing:-.02em; }
  p { text-wrap:pretty; max-width:68ch; }
  h3 { font-weight:500; font-size:29px; letter-spacing:-.025em; }
  em { font-weight:400; color:var(--bronze); }
  a { color:inherit; text-decoration:none; }
  button,input,select,textarea { font:inherit; }
  button,a,input,select,textarea,summary { -webkit-tap-highlight-color:transparent; }
  button { cursor:pointer; color:inherit; }
  button:disabled { cursor:default; }
  img,svg { display:block; max-width:100%; }
  button { border:0; }
  :focus-visible { outline:3px solid #6b4d28; outline-offset:5px; }
  ::selection { color:var(--ivory); background:var(--bronze); }
  [hidden] { display:none!important; }
  .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; }
  .skip-link { position:fixed; z-index:20; top:12px; left:12px; padding:12px 20px; background:var(--ink); color:white; transform:translateY(-160%); }
  .skip-link:focus { transform:translateY(0); }
}
@layer layout {
  .container { width:min(1280px,calc(100% - 96px)); margin-inline:auto; }
  .section { padding-block:104px; }
  .section-heading { display:flex; justify-content:space-between; gap:70px; align-items:end; margin-bottom:48px; }
  .section-heading>p { max-width:440px; color:var(--muted); }
  .eyebrow { font:13px/1.5 var(--sans); font-weight:600; letter-spacing:.025em; margin-bottom:22px; }
  .small,.helper { color:var(--muted); font-size:16px; }
  .helper { margin-top:13px; }
  .button { display:inline-flex; align-items:center; justify-content:center; gap:30px; min-height:54px; padding:15px 23px; font-size:16px; font-weight:600; line-height:1.4; border:1px solid transparent; border-radius:3px; }
  .button-secondary { background:transparent; border-color:#8b8171; color:var(--ink); }
  .button-secondary:hover { background:var(--stone); }
  .button:active { transform:translateY(1px); }
  .button-dark:focus-visible,.mobile-cta:focus-visible { outline-color:var(--ivory); outline-offset:-6px; }
  .button-dark { background:var(--ink); color:var(--ivory); }
  .button-dark:hover { background:#4b4030; }
  .text-link { position:relative; display:inline-flex; align-items:center; min-height:48px; font-size:18px; background:none; padding:0; border:0; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
  .text-link::after { content:""; position:absolute; left:0; right:0; bottom:9px; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .4s ease-out; }
  .text-link:is(:hover,:focus-visible)::after { transform:scaleX(1); }
  .text-link:hover { color:var(--bronze); border-color:var(--bronze); }

}
@layer components {
  .site-header { position:sticky; top:0; z-index:5; background:var(--ivory); border-bottom:1px solid var(--line); }
  .header-inner { display:flex; min-height:92px; align-items:center; gap:40px; }
  .wordmark { font-family:var(--serif); display:inline-flex; align-items:center; gap:13px; font-size:40px; line-height:1; letter-spacing:-.07em; min-height:48px; }
  .wordmark>span { font:14px var(--sans); font-weight:600; letter-spacing:.24em; border-left:1px solid #aaa08e; padding-left:14px; }
  .desktop-nav { display:flex; gap:25px; margin:auto; font-size:16px; }
  .desktop-nav a { display:flex; align-items:center; min-height:48px; white-space:nowrap; }
  .desktop-nav a:hover { color:var(--bronze); }
  .desktop-nav a[aria-current="page"],.mobile-menu nav a[aria-current="page"] { text-decoration:underline; text-underline-offset:6px; text-decoration-color:var(--bronze); }
  .header-cta { display:inline-flex; justify-content:center; align-items:center; min-height:48px; font-size:15px; line-height:1.3; padding:10px 16px; border:1px solid #8b8171; border-radius:3px; flex-shrink:0; }
  .header-cta:hover { background:var(--stone); }

  .menu-toggle { display:none; }
  .hero { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:70px; padding-block:54px 50px; }
  .hero-copy { padding-bottom:26px; }
  .hero .eyebrow { display:flex; align-items:center; gap:12px; }

  .hero h1 { max-width:610px; }
  .hero-description { color:var(--muted); max-width:480px; margin-top:28px; }
  .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px 28px; margin-top:33px; }
  .hero-actions .text-link { min-height:48px; }
  .hero-art { position:relative; overflow:hidden; aspect-ratio:1.12; background:var(--ink); border-radius:180px 180px 0 0; }
  .hero-art>img { width:100%; height:100%; object-fit:cover; }
  .art-caption { position:absolute; left:40px; right:30px; bottom:38px; color:var(--ivory); }

  .art-caption>p { margin-top:12px; font:clamp(30px,3vw,42px)/1.12 var(--serif); letter-spacing:-.03em; }
  .art-caption em { color:#e5d3b2; }

  figcaption { color:var(--muted); font-size:12px; margin-top:10px; text-align:right; line-height:1.5; }
  .intro-line { display:flex; gap:36px; align-items:center; border-block:1px solid var(--line); padding-block:24px; }
  .intro-line>span:first-child { text-transform:uppercase; letter-spacing:.1em; font-size:12px; }
  .intro-line>p { margin-left:auto; font:20px var(--serif); color:var(--muted); }

  .service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px 32px; }
  .service-card { position:relative; min-width:0; }
  .service-visual text,.service-hero-art text { font-family:var(--serif); }
  .service-card-copy { min-width:0; }
  .service-visual { position:relative; aspect-ratio:1.65; background:#e9e1d5; display:flex; align-items:center; justify-content:center; overflow:hidden; margin-bottom:21px; }
  .service-visual::after { content:''; position:absolute; inset:0; box-shadow:inset 0 0 65px #74664e12; pointer-events:none; }
  .service-visual svg { width:74%; height:74%; color:#8a6a36; transition:transform .4s; }
  .service-card:nth-child(4n+2) .service-visual { background:#292a29; }
  .service-card:nth-child(4n+2) .service-visual svg { color:#dcc695; }
  .service-card:nth-child(4n+3) .service-visual { background:#e4e3dd; }
  .service-card:nth-child(4n) .service-visual { background:#ede8df; }
  .service-card h3 { font-size:30px; line-height:1.2; margin-bottom:13px; }
  .service-card p:not(.eyebrow) { color:var(--muted); font-size:18px; line-height:1.7; }
  .service-card-link { display:block; width:100%; text-align:left; background:none; padding:0; border-radius:3px; }
  .service-card-link h3 { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:6px; text-decoration-color:#b5aa98; }
  .service-card-link:is(:hover,:focus-visible) h3 { text-decoration-color:var(--ink); }
  @media(hover:hover) { .service-card-link:hover .service-visual svg { transform:scale(1.035); } }
  .offer-overview-link { margin-top:20px; }
  .experience-section .section-heading { display:block; max-width:760px; }
  .experience-section .section-prose { max-width:68ch; margin-top:28px; }
  .process-section .section-heading { display:block; max-width:680px; }
  .process-section .section-heading>p { max-width:60ch; margin-top:24px; }
  .occasion-moments>.section-heading { display:block; max-width:700px; }
  .occasion-moments>.section-heading>p { max-width:60ch; margin-top:24px; }
  .service-pricing { padding-block:76px; }
  .overview-hero { grid-template-columns:1.4fr 1fr; padding-block:35px 52px; }
  .overview-hero h1 { max-width:680px; }
  .overview-hero .hero-description { max-width:580px; }
  .contact-hero { grid-template-columns:1.25fr 1fr; gap:80px; padding-block:35px 64px; align-items:start; }
  .contact-hero .hero-description { max-width:520px; }
  .contact-hero .helper { max-width:480px; }
  .contact-preparation { border-top:1px solid var(--line); padding-top:24px; }
  .contact-preparation h2 { font-size:30px; }
  .contact-preparation dl { margin:24px 0 0; }
  .contact-preparation dl>div+div { margin-top:22px; }
  .contact-preparation dt { font-size:18px; font-weight:600; }
  .contact-preparation dd { margin:5px 0 0; color:var(--muted); font-size:18px; max-width:420px; }
  .contact-preparation dd a { color:var(--ink); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
  .page-about .about-hero { grid-template-columns:1.2fr 1fr; padding-block:35px 64px; }
  .page-about .about-hero .hero-description { max-width:520px; }
  .privacy-hero { grid-template-columns:1fr; padding-block:35px 40px; }
  .privacy-hero .hero-copy { max-width:760px; padding-bottom:0; }
  .privacy-body { display:grid; gap:36px; justify-items:start; padding-top:0; }
  .privacy-item { max-width:760px; }
  .privacy-item h2 { font-size:30px; margin:0 0 12px; }
  .privacy-item p { margin:0 0 12px; color:var(--muted); max-width:65ch; }
  .articles-hero { grid-template-columns:1fr; padding-block:35px 40px; }
  .articles-hero .hero-copy { max-width:760px; padding-bottom:0; }
  .article-hero .hero-description { margin-bottom:14px; }
  .article-hero-text { grid-template-columns:1fr; padding-block:35px 40px; }
  .article-hero-text .hero-copy { max-width:760px; padding-bottom:0; }
  .article-meta { margin:0 0 22px; font-size:15px; color:var(--muted); }
  .article-body { display:grid; gap:44px; justify-items:start; padding-top:0; }
  .article-section { max-width:760px; }
  .article-section h2 { font-size:34px; margin:0 0 14px; }
  .article-section p { margin:0 0 14px; max-width:68ch; }
  .article-list { margin:6px 0 0; padding-left:22px; display:grid; gap:8px; }
  .article-group { padding-top:0; }
  .article-group > h2 { font-size:34px; margin:0 0 24px; }
  .related-article-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:22px 40px; }
  .related-article-list a { font:24px/1.25 var(--serif); color:var(--ink); text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
  .related-article-list p { margin:8px 0 0; color:var(--muted); font-size:16px; }
  @media (max-width:760px) { .related-article-list { grid-template-columns:1fr; } }
  .article-section a, .article-faq .faq-list a { color:var(--ink); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
  .article-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:28px; }
  .article-card-link { display:flex; flex-direction:column; height:100%; border:1px solid var(--line); color:inherit; text-decoration:none; }
  .article-card-image img { display:block; width:100%; height:auto; object-fit:contain; }
  .article-card-copy { padding:22px 24px 26px; display:flex; flex-direction:column; gap:10px; flex:1; }
  .article-card-copy h3 { font-size:28px; margin:0; }
  .article-card-copy p { margin:0; color:var(--muted); }
  .article-card-copy .occasion-cue { margin-top:auto; }
  .article-card-link:hover h3 { text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
  @media (min-width:761px) {
    .article-grid > .article-card:last-child:nth-child(odd):not(:first-child) { grid-column:1 / -1; }
    .article-grid > .article-card:last-child:nth-child(odd):not(:first-child) .article-card-link { flex-direction:row; }
    .article-grid > .article-card:last-child:nth-child(odd):not(:first-child) .article-card-image { flex:0 0 calc(50% - 14px); }
    .article-grid > .article-card:last-child:nth-child(odd):not(:first-child) .article-card-copy { justify-content:center; padding:32px 36px; }
  }
  @media (max-width:760px) { .article-grid { grid-template-columns:1fr; } .article-body .article-section h2 { font-size:28px; } .article-card-copy h3 { font-size:24px; } }
  .privacy-item a, .footer-bottom a { color:var(--ink); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
  .page-about .about-scope { padding:44px; background:var(--stone); border-top:1px solid #b5aa98; }
  .page-about .about-scope .eyebrow { color:#5b564e; }
  .page-about .about-scope h2 { font-size:clamp(34px,3.2vw,48px); max-width:360px; }
  .page-about .about-scope>p:last-child { margin-top:24px; color:#5b564e; font-size:18px; }
  .page-about .about-routes { border-top:1px solid var(--line); }
  .page-about .about-route-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
  .page-about .about-route { min-width:0; border-top:1px solid var(--line); padding-top:20px; }
  .page-about .about-route h3 { font-weight:500; font-size:29px; }
  .page-about .about-route a { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:48px; }
  .page-about .about-route a>span { flex-shrink:0; color:var(--bronze); font:23px var(--sans); }
  .page-about .about-route a:hover { text-decoration:underline; text-underline-offset:5px; }
  .page-about .about-route p { color:var(--muted); font-size:18px; margin-top:16px; }
  .page-about .about-approach { background:var(--stone); }
  .page-about .about-approach .section-heading>p { max-width:460px; color:#5b564e; }
  .page-about .about-steps { margin:0; }
  .page-about .about-steps li { border-color:#b5aa98; }
  .page-about .about-steps li::before { content:counter(steps,decimal-leading-zero); color:#5b564e; }
  .page-about .about-steps p { color:#5b564e; }
  .page-about .about-area { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
  .page-about .about-area>div>p:not(.eyebrow) { color:var(--muted); max-width:520px; }
  .page-about .about-area .text-link { margin-top:20px; }
  .page-gallery .gallery-hero { display:block; padding-block:35px 64px; }
  .page-gallery .gallery-hero .hero-copy { max-width:800px; padding-bottom:0; }
  .page-gallery .gallery-hero h1 { max-width:800px; }
  .page-gallery .gallery-hero .hero-description { max-width:620px; }
  .page-gallery .gallery-collection { border-top:1px solid var(--line); }
  .page-gallery .gallery-grid { display:grid; grid-template-columns:1fr; gap:40px 28px; }
  .page-gallery .gallery-item { min-width:0; margin:0; }
  .page-gallery .gallery-image-link { display:block; aspect-ratio:4/3; background:var(--stone); }
  .page-gallery .gallery-image-link picture { display:block; width:100%; height:100%; }
  .page-gallery .gallery-image-link img { width:100%; height:100%; object-fit:contain; }
  .page-gallery .gallery-caption { text-align:left; margin-top:18px; font-size:18px; line-height:1.6; }
  .page-gallery .gallery-context { color:#5b564e; font-size:12px; line-height:1.5; letter-spacing:.04em; }
  .page-gallery .gallery-description { color:var(--ink); margin-top:10px; overflow-wrap:anywhere; }
  .page-gallery .gallery-credit { color:var(--muted); font-size:12px; margin-top:10px; overflow-wrap:anywhere; }
  .page-gallery .gallery-service-link { display:inline-flex; align-items:center; gap:14px; min-height:48px; margin-top:8px; border-bottom:1px solid var(--line); font-size:16px; color:var(--ink); }
  .page-gallery .gallery-service-link>span { flex-shrink:0; font-size:20px; }
  .page-gallery .gallery-service-link:hover { text-decoration:underline; text-underline-offset:4px; }
  .site-footer a[aria-current="page"] { text-decoration:underline; text-underline-offset:5px; }
  .selection-jumps { background:var(--stone); padding:32px; }
  .selection-jumps .eyebrow { color:#5b564e; }
  .selection-jumps a { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; align-items:center; min-height:64px; border-top:1px solid #b5aa98; padding-block:14px; font:24px/1.25 var(--serif); }
  .selection-jumps a>span:first-child { font:14px var(--sans); color:#5b564e; }
  .selection-jumps a:hover { text-decoration:underline; text-underline-offset:5px; }
  .overview-offer { border-top:1px solid var(--line); }
  .selection-section { padding-block:80px; background:var(--stone); }
  .selection-section .section-heading>p { color:#5b564e; }
  .selection-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
  .selection-group { border-top:1px solid #b5aa98; padding-top:24px; }
  .selection-group>p { color:#5b564e; font-size:18px; margin-top:18px; }
  .selection-group ul { list-style:none; padding:0; margin:20px 0 0; }
  .selection-group li { padding-block:10px; border-bottom:1px solid #b5aa98; font-size:16px; line-height:1.5; }
  .selection-note { color:#5b564e; font-size:16px; margin:35px 0 12px; max-width:680px; }
  .occasion-section { background:var(--stone); padding-block:88px; }
  .occasion-section .section-heading>p { color:#5b564e; }
  .occasion-grid { display:grid; grid-template-columns:1fr 1fr; gap:36px; }
  .occasion { border-top:1px solid #b5aa98; padding-top:28px; position:relative; }
  .occasion h3 { font-size:37px; margin-bottom:16px; }
  .occasion p { max-width:460px; color:#5b564e; margin-bottom:20px; }
  .occasion-link { display:block; border-radius:3px; }
  .occasion-link h3 { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:6px; text-decoration-color:#b5aa98; }
  .occasion-link:is(:hover,:focus-visible) h3 { text-decoration-color:var(--ink); }
  .occasion-cue { position:relative; display:inline-flex; align-items:center; min-height:48px; font-size:18px; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
  .occasion-cue::after { content:""; position:absolute; left:0; right:0; bottom:9px; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .4s ease-out; }
  .occasion-link:is(:hover,:focus-visible) .occasion-cue::after { transform:scaleX(1); }
  .occasion-hero { grid-template-columns:1.25fr 1fr; padding-top:30px; }
  .occasion-hero .hero-description { max-width:540px; }
  .occasion-hero .hero-art { aspect-ratio:1; }
  .occasion-jumps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-block:1px solid var(--line); }
  .occasion-jumps a { display:flex; align-items:center; gap:16px; min-height:68px; padding:15px 24px; font-size:16px; }
  .occasion-jumps a+a { border-left:1px solid var(--line); }
  .occasion-jumps a>span:first-child { color:var(--muted); font-size:12px; }
  .occasion-jumps a>span:last-child { margin-left:auto; }
  .occasion-jumps a:hover { text-decoration:underline; text-underline-offset:4px; }
  .occasion-chapter { display:grid; grid-template-columns:1.2fr 1fr; gap:100px; padding-block:44px; border-top:1px solid var(--line); }
  .occasion-chapter:last-child { padding-bottom:0; }
  .chapter-copy { position:relative; max-width:540px; }
  .chapter-copy h3 { font-size:34px; }
  .chapter-copy p { color:var(--muted); font-size:18px; margin-top:20px; }
  .occasion-service-links { list-style:none; padding:0; margin:0; }
  .occasion-service-links { display:grid; gap:12px; }
  .occasion-service-links a { display:block; padding:20px 24px; background:#eeeadf; border:1px solid var(--line); border-radius:3px; }
  .occasion-service-name { display:block; font:500 26px/1.2 var(--serif); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; text-decoration-color:#b5aa98; }
  .occasion-service-description { display:block; font-size:17px; line-height:1.6; color:var(--muted); margin-top:10px; }
  .occasion-service-links a>span:last-child { flex-shrink:0; }
  .occasion-service-links a:hover .occasion-service-name { text-decoration-color:var(--ink); }
  .occasion-practical .section-heading>div { max-width:520px; }
  .occasion-practical .section-heading>p { max-width:520px; }
  .practical-inquiry { margin-top:32px; }
  .process-grid { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px; counter-reset:steps; }
  .process-grid li { counter-increment:steps; border-top:1px solid var(--line); padding-top:25px; }
  .process-grid li::before { content:counter(steps,decimal-leading-zero); font:13px var(--sans); color:var(--bronze); display:block; margin-bottom:32px; }
  .process-grid h3 { font-weight:500; font-size:29px; margin-bottom:15px; }
  .process-grid p { font-size:18px; color:var(--muted); }
  .faq-section { border-top:1px solid var(--line); display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; }
  .faq-list details { border-bottom:1px solid var(--line); }
  summary { list-style:none; cursor:pointer; }
  summary::-webkit-details-marker { display:none; }
  .faq-list summary { display:flex; justify-content:space-between; gap:24px; padding:23px 0; font-size:18px; line-height:1.5; }
  .faq-list summary::after { content:'+'; flex-shrink:0; font-size:22px; color:var(--bronze); }
  .faq-list details[open] summary::after { content:'-'; }
  .faq-list details>p { padding-bottom:26px; font-size:18px; color:var(--muted); max-width:590px; }
  .inquiry-section { padding-block:96px; background:#eeeadf; }
  .inquiry-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; }
  .inquiry-copy { align-self:start; position:sticky; top:138px; }
  .inquiry-copy>p:not(.eyebrow) { color:var(--muted); max-width:360px; margin-top:26px; }
  .inquiry-copy .inquiry-helper { font-size:16px; }
  .required-note { font-size:12px; color:var(--muted); margin-bottom:23px; }
  .field { margin-bottom:22px; min-width:0; }
  .field>label { display:block; margin-bottom:8px; font-size:15px; }
  .field>label>span { color:var(--muted); }
  input:not([type=checkbox]),select,textarea { width:100%; min-height:50px; border:1px solid #aaa18f; border-radius:0; background:#f7f4ee; color:var(--ink); padding:11px 13px; font-size:18px; line-height:1.5; }
  input[type=date],input[type=month] { min-width:0; -webkit-appearance:none; }
  input:disabled { opacity:.5; cursor:not-allowed; }
  input::placeholder,textarea::placeholder { color:#776e60; opacity:1; }
  textarea { resize:vertical; }
  .form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
  .check-line { display:flex; align-items:center; gap:10px; min-height:44px; font-size:15px; cursor:pointer; }
  input[type=checkbox] { accent-color:var(--ink); flex-shrink:0; width:19px; height:19px; margin:0; cursor:pointer; }
  .date-option { margin-top:-14px; margin-bottom:18px; }
  fieldset { border:0; padding:0; margin:0 0 28px; min-width:0; }
  legend { padding:0; font-size:15px; margin-bottom:12px; }
  .service-options { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
  .field-error { font-size:15px; color:#9b2924; margin-top:8px; }
  .optional-fields { border-block:1px solid #cbc1af; margin-bottom:26px; }
  .optional-fields>summary { display:flex; gap:8px; align-items:center; padding:16px 0; font-size:15px; flex-wrap:wrap; }
  .optional-fields>summary>span { color:var(--muted); font-size:12px; }
  .optional-fields>summary>span:last-child { font-size:20px; margin-left:auto; }
  .optional-fields[open]>summary>span:last-child { transform:rotate(45deg); }
  .optional-content { padding-top:10px; }
  .form-submit { width:100%; }
  .site-footer { padding-block:65px 24px; }
  .footer-top { display:flex; justify-content:space-between; align-items:center; gap:32px; padding-bottom:54px; }
  .footer-top>p { font:30px/1.2 var(--serif); }
  .footer-top>div { font-size:15px; display:flex; flex-direction:column; gap:15px; }
  .footer-top>div a { min-height:44px; display:flex; align-items:center; gap:26px; border-bottom:1px solid var(--line); }
  .footer-bottom { border-top:1px solid var(--line); padding-top:20px; font-size:12px; color:var(--muted); display:flex; justify-content:space-between; gap:20px; }
  .mobile-cta { display:none; }
  dialog { border:1px solid var(--line); padding:52px; width:min(650px,calc(100% - 40px)); max-height:85dvh; overflow:auto; background:var(--ivory); color:var(--ink); }
  dialog::backdrop { background:#17171399; backdrop-filter:blur(3px); }
  .close-button { position:absolute; top:12px; right:12px; width:48px; height:48px; background:none; font:32px var(--sans); }
  .service-dialog>h2 { font-size:41px; margin-bottom:23px; }
  .service-dialog>p:not(.eyebrow):not(.helper) { color:var(--muted); margin-bottom:30px; }
  .summary-dialog { width:min(720px,calc(100% - 40px)); }
  .summary-dialog>h2 { margin-bottom:22px; }
  .summary-dialog>p:not(.eyebrow) { font-size:16px; color:var(--muted); }
  #summary-content { white-space:pre-wrap; overflow-wrap:anywhere; background:var(--stone); padding:22px; font:14px/1.8 var(--sans); }
  .summary-actions { display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
  #copy-status { min-height:24px; margin-top:14px; }
  #send-status { min-height:24px; margin:14px 0 0; font-weight:600; }
  #send-status:empty { margin:0; min-height:0; }
  .breadcrumbs { padding-top:25px; font-size:12px; color:var(--muted); }
  .breadcrumbs ol { display:flex; flex-wrap:wrap; align-items:center; gap:3px 12px; list-style:none; margin:0; padding:0; }
  .breadcrumbs li { display:flex; align-items:center; gap:12px; }
  .breadcrumbs li+li::before { content:'/'; color:var(--muted); }
  .breadcrumbs a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
  .breadcrumbs [aria-current] { color:var(--ink); }
  .service-hero { padding-top:30px; }
  .service-hero .hero-description { max-width:480px; }
  .service-hero-text { grid-template-columns:1fr; }
  .service-hero-text .hero-copy { max-width:760px; }
  .service-visual-empty { display:flex; align-items:center; justify-content:center; aspect-ratio:3 / 2; background:var(--stone); color:var(--ink); }
  .service-visual-empty span { font:28px/1 var(--serif); }
  .service-hero-art { min-height:390px; background:var(--stone); border-radius:180px 180px 0 0; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px; padding:35px; }
  .service-hero-art>svg { width:54%; max-width:230px; height:auto; color:var(--bronze); }
  .service-hero-art>p { font:500 clamp(26px,2.5vw,34px)/1.14 var(--serif); text-align:center; letter-spacing:-.03em; }
  .service-hero-art em { color:#725222; }
  [data-page-url="/usluge/led-plesni-podij/"] .service-hero-art { background:#292a29; color:var(--ivory); }
  [data-page-url="/usluge/led-plesni-podij/"] .service-hero-art>svg,
  [data-page-url="/usluge/led-plesni-podij/"] .service-hero-art em { color:#dcc695; }
  [data-page-url="/usluge/360-photobooth/"] .service-hero-art { background:#e4e3dd; }
  .section-heading>div { min-width:0; }
  .experience-section .section-heading>div:first-child,.service-needs .section-heading>div:first-child,.related-section .section-heading>div:first-child { flex:1; max-width:540px; }
  .section-prose { flex:1; max-width:520px; color:var(--muted); }
  .section-prose p+p { margin-top:18px; }
  .service-needs { padding-block:80px; background:var(--stone); }
  .service-needs .section-heading>p { color:#5b564e; }
  .needs-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; margin:0; }
  .needs-grid>div { border-top:1px solid #b5aa98; padding-top:21px; }
  .needs-grid dt { font:26px/1.2 var(--serif); margin-bottom:14px; }
  .needs-grid dd { margin:0; color:#5b564e; font-size:18px; }
  .service-pricing { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:start; }
  .service-pricing>div>p:not(.eyebrow) { color:var(--muted); max-width:520px; }
  .service-pricing .text-link { margin-top:22px; }
  .related-section { padding-block:80px; background:#eeeadf; }
  .related-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
  .related-grid .service-card-link { display:grid; grid-template-columns:135px minmax(0,1fr); gap:24px; align-items:start; }
  .related-grid .service-visual { aspect-ratio:1; margin:0; }
  .related-grid .service-visual svg { width:78%; height:78%; }
}
@layer responsive {
  @media(min-width:641px) { .page-gallery .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
  @media(min-width:1024px) { .page-gallery .gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
  @media(min-width:1600px) { .hero { gap:100px; } .hero-art { aspect-ratio:1.12; } }
  @media(max-width:1150px) {
    .container { width:calc(100% - 64px); }
    .header-inner { gap:25px; }
    .desktop-nav { gap:16px; font-size:15px; }
    .header-cta { max-width:200px; font-size:12px; gap:16px; }
    .hero { gap:40px; }
    .hero-actions { gap:18px; }
    .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 28px; }
    .service-visual { aspect-ratio:1.4; }
    .service-card h3 { font-weight:500; font-size:29px; }
    .service-card p:not(.eyebrow) { font-size:18px; }
    .inquiry-layout { gap:55px; }
    .service-options { grid-template-columns:1fr; }
  }
  @media(max-width:900px) {
    .desktop-nav { display:none; }
    .header-cta { margin-left:auto; }
    .header-inner { justify-content:space-between; min-height:78px; }
    .menu-toggle { display:flex; gap:16px; align-items:center; min-height:48px; background:none; padding:0; font-size:12px; }
    .menu-lines { width:24px; height:9px; border-block:1px solid var(--ink); }
    .mobile-menu { max-width:none; width:100%; height:100dvh; max-height:100dvh; margin:0; padding:26px 32px 40px; border:0; }
    .menu-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:28px; font:14px var(--sans); letter-spacing:.12em; }
    .menu-heading .close-button { position:static; }
    .mobile-menu nav>a { display:flex; justify-content:space-between; gap:15px; padding:16px 0; border-bottom:1px solid var(--line); font:24px/1.3 var(--serif); }
    .mobile-menu>.small { margin-top:25px; }
    .hero { gap:32px; }
    .hero h1 { font-size:46px; }
    .hero-description { font-size:18px; }
    .hero-art { aspect-ratio:1; border-radius:140px 140px 0 0; }
    .art-caption { left:26px; right:26px; bottom:28px; }
    .art-caption>p { font-size:38px; }
    .hero .button { gap:12px; font-size:15px; padding-inline:16px; }
    .intro-line { gap:20px; }
    .intro-line>p { font-size:18px; }
    .section { padding-block:75px; }
    .section-heading { gap:40px; }
    .section-heading>p { max-width:300px; font-size:18px; }
    .process-grid { gap:28px; }
    .process-grid h3 { font-size:27px; }
    .faq-section { gap:45px; }
    .inquiry-layout { grid-template-columns:1fr; gap:42px; }
    .inquiry-copy { position:static; }
    .inquiry-copy>p:not(.eyebrow) { max-width:520px; }
    .service-options { grid-template-columns:1fr 1fr; }
    .inquiry-form { max-width:660px; width:100%; }
    .service-hero-art { min-height:320px; padding:24px; border-radius:140px 140px 0 0; }
    .service-hero-art>svg { width:90%; }
    .service-hero-art>p { font-size:26px; }
    .needs-grid { grid-template-columns:1fr 1fr; gap:30px; }
    .service-pricing { gap:40px; }
    .related-grid { gap:30px; }
    .related-grid .service-card-link { display:block; }
    .related-grid .service-visual { aspect-ratio:1.6; margin-bottom:20px; }
    .related-grid .service-visual svg { width:62%; }
    .overview-hero { grid-template-columns:1fr; }
    .contact-hero { grid-template-columns:1fr; gap:24px; }
    .contact-preparation dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
    .contact-preparation dl>div+div { margin-top:0; }
    .page-about .about-hero { grid-template-columns:1fr; gap:28px; }
    .page-about .about-scope { padding:32px; }
    .page-about .about-scope h2 { max-width:600px; }
    .page-about .about-scope>p:last-child { max-width:600px; }
    .page-about .about-route-grid { gap:26px; }
    .page-about .about-route h3 { font-size:25px; }
    .page-about .about-area { gap:40px; }
    .selection-jumps { max-width:660px; width:100%; }
    .selection-grid { grid-template-columns:1fr; gap:32px; }
    .selection-group>p { max-width:620px; }
    .occasion-hero { grid-template-columns:1fr; }
    .occasion-hero .hero-figure { max-width:560px; width:100%; }
    .occasion-hero .hero-art { aspect-ratio:1.6; }
    .occasion-jumps a { gap:10px; padding-inline:14px; }
    .occasion-chapter { grid-template-columns:1fr 1fr; gap:36px; }
    .chapter-copy { padding-left:0; }
    .chapter-copy h3 { font-size:30px; }
  }
  @media(max-width:640px) {
    html { scroll-padding-top:90px; }
    body { font-size:18px; padding-bottom:84px; }
    .container { width:calc(100% - 40px); }
    .header-inner { min-height:72px; }
    .header-cta { display:none; }
    .wordmark { font-size:36px; }
    .wordmark>span { font-size:12px; }
    .hero { grid-template-columns:1fr; gap:32px; padding-top:35px; padding-bottom:34px; }
    .hero-copy { padding-bottom:0; }
    .hero .eyebrow { margin-bottom:19px; }
    .hero h1 { font-size:clamp(35px,9.8vw,42px); max-width:480px; letter-spacing:-.025em; }
    .hero-description { font-size:18px; margin-top:22px; max-width:370px; }
    .hero-actions { margin-top:25px; gap:18px 24px; }
    .hero .button { min-height:54px; font-size:16px; gap:20px; padding-inline:20px; }
    .hero-actions .text-link { font-size:15px; }
    .hero-art { aspect-ratio:1.75; border-radius:150px 150px 0 0; }
    .hero-art>img { object-position:center 35%; }
    .art-caption>p { font-size:30px; }


    figcaption { font-size:12px; text-align:left; }
    .intro-line { flex-wrap:wrap; gap:7px 15px; padding-block:20px; }
    .intro-line>span:first-child { font-size:12px; }
    .intro-line>p { margin:0; font-size:18px; order:3; width:100%; }

    .section { padding-block:58px; }
    .section-heading { display:block; margin-bottom:30px; }
    .section-heading>p { max-width:450px; margin-top:22px; }
    .eyebrow { font-size:12px; margin-bottom:17px; }
    h2 { font-size:37px; }
    .service-grid,.related-grid { grid-template-columns:1fr; gap:24px; }
    .service-grid .service-card-link,.related-grid .service-card-link { display:grid; grid-template-columns:68px minmax(0,1fr); align-items:start; gap:16px; padding-bottom:24px; border-bottom:1px solid var(--line); }
    .service-grid .service-visual,.related-grid .service-visual { aspect-ratio:1; margin:0; }
    .service-grid .service-visual svg,.related-grid .service-visual svg { width:82%; height:82%; }

    .service-card h3 { font-size:26px; margin-bottom:10px; }
    .service-card p:not(.eyebrow) { font-size:17px; line-height:1.6; }
    .occasion-section { padding-block:57px; }
    .occasion-grid { grid-template-columns:1fr; gap:35px; }
    .occasion h3 { font-size:32px; }
    .occasion p { font-size:18px; }
    .process-grid { grid-template-columns:1fr; gap:26px; }
    .process-grid li { padding-left:43px; position:relative; padding-top:24px; }
    .process-grid li::before { position:absolute; top:31px; left:0; }
    .process-grid h3 { font-size:28px; margin-bottom:12px; }
    .process-grid p { font-size:18px; }
    .faq-section { grid-template-columns:1fr; gap:27px; }
    .faq-list summary { font-size:18px; padding-block:20px; }
    .inquiry-section { padding-block:58px; }
    .inquiry-copy>p:not(.eyebrow) { margin-top:22px; }
    .inquiry-layout { gap:32px; }
    .form-row { grid-template-columns:1fr; gap:0; }
    .field>label,.service-selection legend { font-size:16px; }
    .service-options { grid-template-columns:1fr; }
    .check-line { font-size:16px; min-height:46px; }
    .date-option { margin-top:-10px; }
    .optional-fields>summary { font-size:15px; gap:6px; }
    .optional-fields>summary>span:not(:last-child) { font-size:12px; }
    .site-footer { padding-top:45px; }
    .footer-top { display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:start; padding-bottom:32px; }
    .footer-top>p { font-size:24px; }
    .footer-top>div { grid-column:1/-1; }
    .footer-top>div a { align-self:start; }
    .footer-bottom { flex-direction:column; gap:6px; font-size:12px; }
    .mobile-cta { display:flex; align-items:center; justify-content:space-between; position:fixed; z-index:4; bottom:0; left:0; right:0; min-height:68px; background:var(--ink); color:var(--ivory); padding:18px 24px calc(18px + env(safe-area-inset-bottom,0px)); font-size:16px; gap:15px; }
    .mobile-cta>span { font-size:23px; }
    .mobile-cta.is-hidden,body.dialog-open .mobile-cta { display:none; }
    dialog { padding:48px 24px 26px; max-height:90dvh; width:calc(100% - 24px); }
    .service-dialog>h2 { font-size:33px; }
    .service-dialog>.button { width:100%; gap:20px; }
    .summary-dialog { width:calc(100% - 24px); }
    .summary-dialog h2 { font-size:33px; }
    #summary-content { padding:16px; font-size:15px; }
    .summary-actions { gap:10px; }
    .summary-actions>.button { width:100%; }
    .breadcrumbs { padding-top:13px; font-size:12px; }
    .breadcrumbs ol { gap:1px 8px; }
    .breadcrumbs li { gap:8px; }
    .service-hero { padding-top:22px; }
    .service-hero-art { min-height:0; padding:26px 22px; border-radius:140px 140px 0 0; gap:0; }
    .service-hero-art>svg { width:120px; max-width:46%; }
    .service-hero-art>p { font-size:26px; }
    .section-prose { margin-top:22px; font-size:18px; }
    .service-needs,.related-section { padding-block:58px; }
    .needs-grid { grid-template-columns:1fr; gap:23px; }
    .needs-grid>div { padding-top:18px; }
    .needs-grid dt { font-size:26px; margin-bottom:10px; }
    .needs-grid dd { font-size:18px; }
    .service-pricing { grid-template-columns:1fr; gap:25px; }
    .service-pricing>div>p:not(.eyebrow) { font-size:18px; }
    .overview-hero { padding-top:22px; }
    .contact-hero { padding-top:22px; }
    .contact-preparation dl { grid-template-columns:1fr; gap:16px; margin-top:18px; }
    .contact-preparation h2 { font-size:28px; }
    .page-about .about-hero { padding-block:22px 34px; }
    .page-about .about-scope { padding:25px; }
    .page-about .about-scope h2 { font-size:34px; }
    .page-about .about-scope>p:last-child { margin-top:18px; font-size:18px; }
    .page-about .about-route-grid { grid-template-columns:1fr; gap:26px; }
    .page-about .about-route h3 { font-size:28px; }
    .page-about .about-route p { margin-top:10px; font-size:18px; }
    .page-about .about-area { grid-template-columns:1fr; gap:24px; }
    .page-about .about-area>div>p:not(.eyebrow) { font-size:18px; }
    .page-gallery .gallery-hero { padding-block:22px 34px; }
    .page-gallery .gallery-grid { gap:32px; }
    .page-gallery .gallery-caption { margin-top:15px; }
    .selection-jumps { padding:24px; }
    .selection-jumps a { gap:12px; font-size:23px; }
    .selection-section { padding-block:58px; }
    .selection-group>p { font-size:18px; }
    .occasion-hero { padding-top:22px; }
    .occasion-hero .hero-art { aspect-ratio:1.75; }
    .occasion-jumps { grid-template-columns:1fr; }
    .occasion-jumps a { min-height:52px; padding-inline:0; }
    .occasion-jumps a+a { border-left:0; border-top:1px solid var(--line); }
    .occasion-chapter { grid-template-columns:1fr; gap:18px; padding-block:30px; }
    .chapter-copy { padding-left:0; }

    .chapter-copy h3 { font-size:30px; }
    .chapter-copy p { margin-top:16px; }
    .occasion-service-links a { font-size:18px; min-height:54px; }
  }
  @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }
}

@layer motion {
  @media(prefers-reduced-motion:no-preference) {
    .motion-ready .reveal-item { transition:opacity .5s ease-out,transform .5s ease-out; }
    .motion-ready .reveal-pending { opacity:0; transform:translateY(14px); }
  }
  @media(prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    *,*::before,*::after { transition:none!important; animation:none!important; }
    .reveal-item { opacity:1!important; transform:none!important; }
    .button:active,.service-card-link:hover .service-visual svg { transform:none; }
  }
  .reveal-item:focus-within { opacity:1!important; transform:none!important; transition:none!important; }
  @media print { .reveal-item { opacity:1!important; transform:none!important; } }
}

/* Slike iz odabrane zbirke: puni kadar, bez teksta preko fotografija. */
@layer components {
  .photo-frame { overflow:hidden; border-radius:4px; background:var(--stone); }
  .photo-frame>.service-photo { width:100%; height:auto; display:block; }
  .hero-figure>.photo-frame { box-shadow:0 16px 48px #211e1810; }
  .service-photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; margin-top:44px; }
  .service-photos-single { grid-template-columns:1fr; max-width:960px; margin-inline:auto; }
  .about-photo .service-photos { margin-top:8px; margin-bottom:72px; }
}
@layer responsive {
  .service-visual.photo-thumbnail { aspect-ratio:3/2; background:var(--stone); }
  .service-visual.photo-thumbnail::after { display:none; }
  .photo-thumbnail>.service-photo { width:100%; height:100%; object-fit:contain; }
  @media(max-width:640px) {
    .service-grid .service-card-link,.related-grid .service-card-link { grid-template-columns:112px minmax(0,1fr); align-items:start; }
    .service-photos { grid-template-columns:1fr; gap:18px; margin-top:30px; }
    .hero-figure>.photo-frame { box-shadow:0 8px 26px #211e1810; }
  }
}

/* 0.18: jedan kontakt i različit ritam stranica prema prigodi. */
@layer responsive {
  .contact-invitation { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding-block:64px; border-top:1px solid var(--line); }
  .contact-invitation h2 { max-width:560px; }
  .contact-invitation>div:last-child { align-self:center; max-width:510px; }
  .contact-invitation p:not(.eyebrow) { color:var(--muted); margin-bottom:24px; }
  .page-home .occasion-grid { gap:24px; }
  .page-home .occasion { padding:0; border:0; background:var(--ivory); }
  .page-home .occasion-event { background:var(--ink); color:var(--ivory); }
  .page-home .occasion-cover { aspect-ratio:3/2; overflow:hidden; }
  .page-home .occasion-cover img { width:100%; height:100%; object-fit:contain; }
  .page-home .occasion-card-copy { padding:32px 36px; }
  .page-home .occasion-card-copy p { max-width:43ch; }
  .page-home .occasion-event p { color:#d8cdbd; }
  .page-home .occasion-event .occasion-link:is(:hover,:focus-visible) h3 { text-decoration-color:#e7d4af; }
  .page-home .occasion-event :focus-visible { outline-color:#f3d8a4; }

  .wedding-hero { grid-template-columns:.88fr 1.12fr; gap:56px; padding-block:38px 58px; }
  .wedding-hero h1 { font-size:clamp(46px,4.5vw,64px); }
  .wedding-hero .hero-description { max-width:44ch; }
  .wedding-hero figcaption { font:italic 20px/1.5 var(--serif); text-align:left; margin-top:18px; color:#655947; }
  .wedding-jumps { display:flex; justify-content:center; gap:50px; border-block:1px solid var(--line); padding-block:12px; }
  .wedding-jumps a { display:flex; align-items:center; min-height:48px; font-size:16px; text-decoration:underline; text-underline-offset:6px; text-decoration-color:#b5aa98; }
  .wedding-story-heading { max-width:700px; margin:0 auto 64px; text-align:center; }
  .wedding-story-heading>p:last-child { color:var(--muted); max-width:50ch; margin:24px auto 0; }
  .wedding-moment { grid-template-columns:1fr 1fr; gap:64px; border:0; padding:0; margin-top:80px; align-items:center; }
  .wedding-moment:nth-of-type(even) .moment-photo { order:2; }
  .moment-copy { min-width:0; }
  .moment-copy h3 { font-size:40px; line-height:1.15; max-width:20ch; }
  .moment-copy>p:not(.eyebrow) { margin-top:24px; font-size:18px; color:var(--muted); }
  .page-occasion .occasion-service-links { gap:0; margin-top:24px; }
  .page-occasion .occasion-service-links a { padding:14px 0; min-height:48px; background:none; border:0; border-bottom:1px solid var(--line); border-radius:0; }
  .page-occasion .occasion-service-name { font:400 18px/1.5 var(--sans); }
  .wedding-brief { background:#e9e0d4; padding-block:64px; }
  .wedding-brief>.container { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
  .wedding-brief h2 { max-width:16ch; }
  .wedding-brief p:not(.eyebrow) { color:#5b564e; margin-bottom:28px; max-width:50ch; }

  .event-intro-band { background:#242723; color:#f7f4ee; }
  .event-hero { grid-template-columns:1fr 1fr; gap:64px; padding-block:64px 48px; }
  .event-hero h1 { font-size:clamp(44px,4.9vw,70px); }
  .event-hero .eyebrow { color:#e3cea7; }
  .event-hero .hero-description,.event-hero .helper { color:#d8cdbd; }
  .event-hero .event-button { color:#242723; background:#eddfc7; border-color:#eddfc7; }
  .event-hero .text-link { color:#f7f4ee; }
  .event-intro-band :focus-visible,.event-zone-wide :focus-visible { outline-color:#f3d8a4; }
  .event-types { display:flex; flex-wrap:wrap; gap:18px 40px; padding-block:22px; border-top:1px solid #62675d; color:#e3d9c9; font-size:14px; }
  .event-zones { display:grid; grid-template-columns:1fr 1fr; gap:48px 32px; }
  .event-zone { display:block; border:0; padding:0; min-width:0; }
  .event-zone .moment-copy { padding-top:28px; }
  .event-zone .moment-copy h3 { font-size:38px; }
  .event-zone-wide { grid-column:1/-1; background:#242723; color:#f7f4ee; padding:44px; }
  .event-zone-wide:last-child { padding-bottom:44px; }
  .event-zone-wide .moment-copy { display:grid; grid-template-columns:1.2fr 1fr; column-gap:64px; padding:0; }
  .event-zone-wide .eyebrow { grid-column:1; color:#e3cea7; }
  .event-zone-wide h3 { grid-column:1; }
  .event-zone-wide .moment-copy>p:not(.eyebrow) { grid-column:1; color:#d8cdbd; }
  .event-zone-wide .occasion-service-links { grid-column:2; grid-row:1/4; align-self:center; margin:0; }
  .event-zone-wide .occasion-service-links a { border-color:#62675d; }
  .event-zone-wide .occasion-service-links a:hover .occasion-service-name { text-decoration-color:#f7f4ee; }
  .event-brief { display:grid; grid-template-columns:1.1fr 1fr; gap:80px; background:#e9e4da; padding:56px; }
  .event-brief-copy>p:not(.eyebrow) { margin:24px 0 28px; font-size:18px; color:#5b564e; }
  .event-brief-list { margin:0; }
  .event-brief-list>div { padding-block:20px; border-bottom:1px solid #b5aa98; }
  .event-brief-list>div:first-child { padding-top:0; }
  .event-brief-list dt { font-size:20px; font-weight:600; }
  .event-brief-list dd { margin:8px 0 0; color:#5b564e; font-size:17px; }
  @media(max-width:900px) {
    .wedding-hero,.event-hero { grid-template-columns:1fr; gap:36px; }
    .wedding-hero .hero-copy,.event-hero .hero-copy { max-width:740px; }
    .wedding-hero h1,.event-hero h1 { font-size:46px; }
    .wedding-hero .hero-description,.event-hero .hero-description { max-width:60ch; }
    .wedding-moment { grid-template-columns:1fr; gap:30px; margin-top:60px; }
    .wedding-moment:nth-of-type(even) .moment-photo { order:0; }
    .wedding-moment .moment-copy { max-width:680px; }
    .wedding-brief>.container,.contact-invitation { gap:36px; }
    .event-zone-wide .moment-copy { grid-template-columns:1fr; }
    .event-zone-wide .occasion-service-links { grid-column:auto; grid-row:auto; margin-top:24px; }
    .event-brief { gap:36px; padding:36px; }
    .event-zones { gap:36px 24px; }
  }
  @media(max-width:640px) {
    .contact-invitation { grid-template-columns:1fr; gap:22px; padding-block:44px; }
    .page-home .occasion-card-copy { padding:26px; }
    .wedding-hero,.event-hero { padding-block:30px 34px; gap:30px; }
    .wedding-hero h1,.event-hero h1 { font-size:clamp(35px,9.8vw,42px); }
    .wedding-hero figcaption { font-size:18px; }
    .wedding-jumps { flex-direction:column; gap:0; padding-block:8px; }
    .wedding-jumps a { min-height:48px; }
    .wedding-story-heading { margin-bottom:40px; text-align:left; }
    .wedding-story-heading>p:last-child { margin-top:22px; }
    .wedding-moment { margin-top:44px; gap:24px; }
    .moment-copy h3,.event-zone .moment-copy h3 { font-size:32px; }
    .wedding-brief { padding-block:48px; }
    .wedding-brief>.container { grid-template-columns:1fr; gap:24px; }
    .event-types { gap:12px 24px; padding-block:20px; font-size:13px; }
    .event-zones { grid-template-columns:1fr; gap:36px; }
    .event-zone .moment-copy { padding-top:24px; }
    .event-zone-wide,.event-zone-wide:last-child { padding:28px; }
    .event-zone-wide .moment-copy { padding-top:0; }
    .event-brief { grid-template-columns:1fr; padding:28px; gap:36px; }
  }

  /* 0.33.0: paket 1 - kontakt, obrazac, CTA i izbornik. */
  .contact-hero { padding-block:30px 48px; align-items:end; }
  .contact-quick { background:var(--stone); padding:28px 30px; }
  .contact-quick .eyebrow { margin-bottom:16px; }
  .contact-quick .contact-actions { margin-top:0; flex-direction:column; align-items:stretch; gap:12px; }
  .contact-quick .helper { margin-top:14px; }
  .contact-quick .helper a { color:var(--ink); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
  .inquiry-layout:has(> .inquiry-notes) { row-gap:0; }
  .inquiry-layout:has(> .inquiry-notes) .inquiry-copy { position:static; }
  .inquiry-layout > .inquiry-notes { grid-column:1; grid-row:2; align-self:start; }
  .inquiry-layout > .inquiry-form { grid-row:1 / span 2; }
  .contact-actions .button { min-height:52px; }
  .inquiry-notes { margin-top:30px; padding-top:20px; border-top:1px solid var(--line); max-width:360px; }
  .inquiry-notes h3 { font-size:24px; font-weight:500; margin:0 0 14px; }
  .inquiry-notes dl { margin:0; }
  .inquiry-notes dt { font-size:16px; font-weight:600; }
  .inquiry-notes dd { margin:4px 0 16px; font-size:16px; color:var(--muted); }
  .field .date-option { margin:8px 0 0; }
  .field-error { font-size:15px; color:#9b2924; margin:8px 0 0; }
  .service-hint { margin:-4px 0 14px; font-size:16px; color:var(--ink); font-weight:600; }
  .field [aria-invalid="true"] { border-color:#9b2924; box-shadow:inset 0 0 0 1px #9b2924; }
  #send-status.is-error { color:#9b2924; }
  .send-fallback { display:flex; flex-wrap:wrap; gap:12px; margin-top:14px; }
  .send-fallback[hidden] { display:none; }
  .menu-actions { display:grid; gap:16px; margin-top:26px; }
  .menu-actions .button { width:100%; }
  .menu-contact { display:flex; flex-wrap:wrap; gap:10px 24px; margin:0; font-size:17px; }
  .menu-contact a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
  @media(max-width:1150px) {
    .header-cta { max-width:none; font-size:14px; }
    .header-cta .cta-extra { display:none; }
  }
  @media(max-width:900px) {
    .inquiry-layout > .inquiry-notes { grid-column:auto; grid-row:auto; }
    .inquiry-layout > .inquiry-form { grid-row:auto; }
    .contact-hero { align-items:start; }
  }
  @media(max-width:640px) {
    /* Gumbi uvoda jedan ispod drugog: raspored ne ovisi o širini fonta pri učitavanju. */
    .hero-actions { flex-direction:column; align-items:flex-start; gap:6px; }
    .hero-actions .button { width:100%; }
    .contact-actions { flex-direction:column; align-items:stretch; gap:12px; }
    .contact-actions .button { width:100%; }
    .inquiry-notes { max-width:none; }
  }
  /* 0.34.0: bez kartica samih u redu, članak s bočnim stupcem, podnožje. */
  /* 0.39.0: ponuda i priprema upita u jednoj sekciji, WhatsApp na mobitelu, ljepljiv naslov uz pitanja. */
  .service-offer .offer-copy { max-width:560px; }
  .service-offer .offer-copy p { color:#5b564e; margin:0 0 8px; }
  .service-offer .needs-title { font:400 26px/1.2 var(--serif); margin:56px 0 24px; }
  .mobile-wa { display:none; }
  /* Kvadratići za odabir barem 24 x 24 px (WCAG 2.2, veličina mete). */
  .check-line input[type="checkbox"], .field input[type="checkbox"] { width:24px; height:24px; flex:0 0 24px; }
  .not-found-hero { grid-template-columns:1fr; padding-block:56px 40px; }
  .not-found-hero .hero-copy { max-width:720px; padding-bottom:0; }
  .not-found-links { padding-top:0; }
  .not-found-links > h2 { font-size:34px; margin:0 0 24px; }
  /* Eventi: putanja u tamnoj traci uvoda, bez svijetlog šava iznad. */
  .event-intro-band .breadcrumbs, .event-intro-band .breadcrumbs li+li::before { color:#d8cdbd; }
  .event-intro-band .breadcrumbs a, .event-intro-band .breadcrumbs [aria-current] { color:#f7f4ee; }
  @media(min-width:901px) { .faq-section > div:first-child { position:sticky; top:122px; align-self:start; } }
  @media(max-width:640px) {
    .service-offer .needs-title { margin-top:40px; font-size:24px; }
    .mobile-cta { right:104px; }
    .mobile-wa { display:flex; align-items:center; justify-content:center; position:fixed; z-index:4; bottom:0; right:0; width:104px; min-height:68px; padding:18px 8px calc(18px + env(safe-area-inset-bottom,0px)); background:#3b3f36; color:var(--ivory); font-size:15px; font-weight:600; border-left:1px solid #5b5f55; }
    .mobile-wa:focus-visible { outline:3px solid var(--ivory); outline-offset:-6px; }
    .mobile-wa.is-hidden,body.dialog-open .mobile-wa { display:none; }
  }
  .service-included { padding-top:0; }
  .included-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); column-gap:48px; border-top:1px solid #b5aa98; }
  .included-list li { position:relative; padding:14px 0 14px 30px; border-bottom:1px solid var(--line); font-size:18px; line-height:1.5; }
  .included-list li::before { content:""; position:absolute; left:4px; top:24px; width:10px; height:6px; border-left:2px solid var(--bronze); border-bottom:2px solid var(--bronze); transform:rotate(-45deg); }
  @media(max-width:760px) { .included-list { grid-template-columns:1fr; } .included-list li { font-size:17px; } }
  .occasion-links { margin:36px 0 0; font-size:18px; color:var(--muted); }
  .occasion-links a { color:var(--ink); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
  .related-articles-more { margin-top:24px; }
  .article-layout { display:grid; grid-template-columns:minmax(0,760px) minmax(260px,320px); justify-content:space-between; column-gap:64px; padding-top:0; }
  .article-layout > .article-body { padding:0; }
  .article-aside-inner { position:sticky; top:122px; display:grid; gap:28px; }
  .article-toc ol { list-style:none; margin:14px 0 0; padding:0; border-top:1px solid var(--line); }
  .article-toc li a { display:block; padding:9px 0; border-bottom:1px solid var(--line); font-size:16px; line-height:1.4; color:var(--muted); text-decoration:none; }
  .article-toc li a:hover { color:var(--ink); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
  .article-aside-cta { background:var(--stone); padding:26px 24px; }
  .article-aside-title { font:500 26px/1.2 var(--serif); margin:0 0 10px; }
  .article-aside-cta p:not(.article-aside-title) { font-size:16px; color:var(--muted); margin:0 0 18px; }
  .article-aside-cta .button { width:100%; }
  .article-aside-services ul { list-style:none; margin:12px 0 0; padding:0; }
  .article-aside-services a { display:flex; align-items:center; min-height:44px; border-bottom:1px solid var(--line); font-size:17px; color:var(--ink); text-decoration:none; }
  .article-aside-services a:hover { text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
  .footer-top>div.footer-contact a.footer-phone { font:500 24px/1.2 var(--serif); }
  .footer-bottom a { display:inline-flex; align-items:center; min-height:44px; }
  .footer-bottom { align-items:baseline; }
  @media(min-width:901px) {
    .event-zones > .event-zone:last-child:nth-child(odd):not(.event-zone-wide) { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; column-gap:32px; align-items:center; }
    .event-zones > .event-zone:last-child:nth-child(odd):not(.event-zone-wide) .moment-copy { padding:0 0 0 24px; }
  }
  @media(min-width:641px) and (max-width:1150px) {
    .service-grid > .service-card:last-child:nth-child(odd) { grid-column:1 / -1; }
    .service-grid > .service-card:last-child:nth-child(odd) .service-card-link { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:28px; align-items:center; }
    .service-grid > .service-card:last-child:nth-child(odd) .service-visual { margin-bottom:0; }
  }
  @media(min-width:761px) {
    .article-grid > .article-card:last-child:nth-child(odd):not(:first-child) .article-card-image { align-self:center; }
  }
  @media(max-width:1023px) {
    .article-layout { display:block; }
    .article-aside { display:none; }
  }
  @media(max-width:640px) {
    /* Usluga: slika odmah ispod naslova, prije uvodnog teksta. */
    .service-hero:not(.service-hero-text) { display:flex; flex-direction:column; align-items:stretch; gap:0; }
    .service-hero:not(.service-hero-text) .hero-copy { display:contents; }
    .service-hero:not(.service-hero-text) .hero-copy > * { order:3; }
    .service-hero:not(.service-hero-text) .hero-copy > .eyebrow { order:0; }
    .service-hero:not(.service-hero-text) .hero-copy > h1 { order:1; }
    .service-hero:not(.service-hero-text) .hero-figure { order:2; margin:22px 0 24px; }
    .footer-top>p { grid-column:1 / -1; }
  }
  @media(max-width:360px) {
    .service-grid .service-card-link,.related-grid .service-card-link { grid-template-columns:84px minmax(0,1fr); gap:14px; }
  }
  /* Mobitel uz povećanje 200 % (oko 195 px): manji znak, Izbornik samo s crtama, uža donja traka, bez vodoravnog pomicanja. */
  @media(max-width:300px) {
    .container { width:calc(100% - 20px); }
    .header-inner { gap:8px; }
    .wordmark { font-size:24px; gap:6px; }
    .wordmark>span { font-size:9px; letter-spacing:.12em; padding-left:6px; }
    .menu-toggle { min-width:44px; justify-content:center; }
    .menu-toggle>span:first-child { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
    h1,h2,h3,p,li,dt,dd,a { overflow-wrap:anywhere; hyphens:auto; }
    .mobile-cta { right:64px; min-height:56px; padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px)); font-size:13px; line-height:1.3; gap:6px; overflow-wrap:normal; hyphens:manual; }
    .mobile-cta>span { font-size:18px; }
    .mobile-wa { width:64px; min-height:56px; padding:10px 4px calc(10px + env(safe-area-inset-bottom,0px)); font-size:11px; overflow-wrap:normal; hyphens:manual; }
  }
}
/* Osvježenje 0.51.0: tamni "noćni" dijelovi (brojke, koraci, poziv, podnožje), zlatni naglasci, numerirane usluge i savjeti sa slikom.
   U sloju responsive jer dio starijih pravila za poziv i podnožje živi u njemu (red 602 i dalje). */
@layer base {
  :root { --night:#171512; --gold:#c9a46a; --on-night:#f2ece2; --on-night-muted:#bdb3a4; --night-line:#3b362f; }
}
@layer responsive {
  .header-cta { background:var(--ink); color:var(--ivory); border-color:var(--ink); font-weight:600; }
  .header-cta:hover { background:#3b362f; }
  .header-cta:focus-visible { outline-color:var(--bronze); }
  .hero-figure>.photo-frame { outline:1px solid #cdb994; outline-offset:12px; }
  .stats-band { background:var(--night); color:var(--on-night); }
  .stats-list { list-style:none; margin-inline:auto; padding:38px 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
  .stats-list li { border-left:1px solid var(--night-line); padding-left:28px; }
  .stats-list li:first-child { border-left:0; padding-left:0; }
  .stats-list strong { display:block; font:400 48px/1 var(--serif); letter-spacing:-.03em; color:var(--gold); }
  .stats-list span { display:block; margin-top:12px; font-size:15px; line-height:1.4; color:var(--on-night-muted); }
  .service-grid { counter-reset:usluga; }
  .service-grid>.service-card { counter-increment:usluga; }
  .service-grid .service-card-copy::before { content:counter(usluga,decimal-leading-zero); display:block; font:600 12px/1 var(--sans); letter-spacing:.16em; color:var(--bronze); margin-bottom:14px; }
  .service-visual.photo-thumbnail,.article-card-image { overflow:hidden; border-radius:3px; }
  .home-article-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
  .home-article-grid .article-card-link { border:0; background:#fffdf9; box-shadow:0 1px 0 var(--line); border-radius:3px; }
  .home-article-grid .article-card-image { border-radius:3px 3px 0 0; }
  .home-article-grid .article-card-copy { padding:20px 20px 22px; gap:8px; }
  .home-article-grid .article-card-copy .eyebrow { margin:0; color:var(--bronze); }
  .home-article-grid .article-card-copy h3 { font-size:23px; line-height:1.25; }
  .home-articles .section-heading { align-items:end; }
  .process-section { background:var(--night); box-shadow:0 0 0 100vmax var(--night); clip-path:inset(0 -100vmax); color:var(--on-night); }
  .process-section h2,.process-section h3 { color:var(--on-night); }
  .process-section .eyebrow { color:var(--gold); }
  .process-section .section-heading>p,.process-section .process-grid p { color:var(--on-night-muted); }
  .process-section .process-grid li { border-top-color:var(--night-line); }
  .process-section .process-grid li::before { font:400 64px/1 var(--serif); letter-spacing:-.03em; color:var(--gold); margin-bottom:22px; }
  .process-section+.faq-section { border-top:0; }
  .process-section :focus-visible,.stats-band :focus-visible,.contact-invitation :focus-visible,.site-footer :focus-visible { outline-color:var(--gold); }
  .contact-invitation { background:var(--night); color:var(--on-night); border-top:0; border-radius:4px; padding:64px 64px; margin-bottom:80px; }
  .contact-invitation h2 { color:var(--on-night); }
  .contact-invitation .eyebrow { color:var(--gold); }
  .contact-invitation p:not(.eyebrow) { color:var(--on-night-muted); }
  .contact-invitation .button-dark { background:var(--gold); color:var(--night); }
  .contact-invitation .button-dark:hover { background:#d8b77f; }
  .contact-invitation .button-dark:focus-visible { outline-color:var(--on-night); }
  .site-footer { background:var(--night); box-shadow:0 0 0 100vmax var(--night); clip-path:inset(0 -100vmax); color:var(--on-night); }
  .site-footer a,.site-footer .wordmark { color:var(--on-night); }
  .site-footer .footer-top>p { color:var(--on-night); }
  .site-footer .footer-top>div a { border-bottom-color:var(--night-line); }
  .site-footer .footer-top>div.footer-contact a.footer-phone { color:var(--gold); }
  .site-footer .footer-bottom { border-top-color:var(--night-line); color:var(--on-night-muted); }
  .site-footer .footer-bottom a { color:var(--on-night); }
}
@layer responsive {
  @media(max-width:1100px) { .home-article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
  /* Do 640 px prostor za donju traku s upitom nosi tamno podnožje, a ne svijetla pozadina tijela. */
  @media(max-width:640px) { body { padding-bottom:0; } .site-footer { padding-bottom:calc(84px + 24px); } .hero-figure>.photo-frame { outline-offset:8px; } }
  @media(max-width:760px) {
    .stats-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 20px; padding:30px 0; }
    .stats-list li,.stats-list li:first-child { border-left:0; padding-left:0; border-top:1px solid var(--night-line); padding-top:16px; }
    .stats-list strong { font-size:38px; }
    .stats-list span { font-size:14px; }
    .home-article-grid { grid-template-columns:1fr; gap:18px; }
    .home-article-grid .article-card-link { flex-direction:row; }
    .home-article-grid .article-card-image { flex:0 0 38%; align-self:center; border-radius:3px 0 0 3px; }
    .home-article-grid .article-card-copy { padding:14px 16px; }
    .home-article-grid .article-card-copy h3 { font-size:19px; }
    .home-article-grid .article-card-copy .occasion-cue { display:none; }
    .process-section .process-grid li { padding-left:0; }
    .process-section .process-grid li::before { position:static; font-size:48px; margin-bottom:14px; }
    .contact-invitation { padding:40px 24px; margin-bottom:56px; border-radius:0; width:100%; }
  }
}
@layer motion {
  @media(prefers-reduced-motion:no-preference) and (hover:hover) {
    .service-visual.photo-thumbnail img,.article-card-image img { transition:transform .6s ease; }
    .service-card-link:hover .service-visual.photo-thumbnail img,.article-card-link:hover .article-card-image img { transform:scale(1.04); }
  }
}
/* Kartice usluga na početnoj i pregledu (0.51.0): podloga, zlatni broj na slici, podizanje i zlatna linija pri prelasku mišem. */
@layer responsive {
  @media(min-width:641px) {
    .service-grid .service-card-link { position:relative; height:100%; display:flex; flex-direction:column; background:#fffdf9; border-radius:4px; overflow:hidden; box-shadow:0 1px 0 var(--line),0 0 0 1px #ece5d9; }
    .service-grid .service-visual { margin:0; border-radius:0; }
    .service-grid .service-visual::before { content:counter(usluga,decimal-leading-zero); position:absolute; z-index:1; top:14px; left:14px; padding:7px 9px 6px; border-radius:2px; background:var(--night); color:var(--gold); font:600 12px/1 var(--sans); letter-spacing:.16em; }
    .service-grid .service-card-copy { padding:22px 24px 26px; display:flex; flex-direction:column; flex:1; }
    .service-grid .service-card-copy::before { display:none; }
    .service-grid .service-card-copy::after { content:'Istražite uslugu →'; margin-top:auto; padding-top:16px; font:600 14px/1.4 var(--sans); letter-spacing:.02em; color:var(--bronze); }
    .service-grid .service-card-link::after { content:''; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--gold); transform:scaleX(0); transform-origin:left; }
    .service-grid .service-card-link:is(:hover,:focus-visible) { box-shadow:0 18px 40px #211e1817,0 0 0 1px #e2d6c2; }
    .service-grid .service-card-link:is(:hover,:focus-visible)::after { transform:scaleX(1); }
    .service-grid .service-card { height:100%; }
  }
  @media(max-width:640px) {
    .service-grid .service-card-copy::after { content:'Istražite →'; display:block; margin-top:8px; font:600 14px/1.4 var(--sans); color:var(--bronze); }
  }
}
@layer motion {
  @media(prefers-reduced-motion:no-preference) and (hover:hover) and (min-width:641px) {
    .service-grid .service-card-link { transition:transform .35s ease,box-shadow .35s ease; }
    .service-grid .service-card-link::after { transition:transform .45s ease; }
    .service-grid .service-card-copy::after { transition:transform .35s ease; }
    .service-grid .service-card-link:hover { transform:translateY(-6px); }
    .service-grid .service-card-link:hover .service-card-copy::after { transform:translateX(6px); }
    .service-grid .service-visual.photo-thumbnail img { transition:transform .8s ease; }
    .service-grid .service-card-link:hover .service-visual.photo-thumbnail img { transform:scale(1.06); }
  }
  @media(prefers-reduced-motion:no-preference) {
    .motion-ready .service-grid>.reveal-item:nth-child(3n+2) { transition-delay:.08s; }
    .motion-ready .service-grid>.reveal-item:nth-child(3n) { transition-delay:.16s; }
  }
}
/* Podstranice (0.51.0): galerija usluge na tamnoj podlozi, Prvi ples na Vjenčanjima kao noćni dio, Eventi u istoj noćnoj boji, savjeti kao kartice. */
@layer responsive {
  .service-photos { background:var(--night); box-shadow:0 0 0 100vmax var(--night); clip-path:inset(-52px -100vmax); margin-top:96px; margin-bottom:52px; }
  .service-photos .photo-frame { background:#24211c; }
  @media(min-width:900px) { .service-photos:has(>:nth-child(3):last-child),.service-photos:has(>:nth-child(5):last-child),.service-photos:has(>:nth-child(7):last-child) { grid-template-columns:repeat(3,minmax(0,1fr)); } }
  #prvi-ples.wedding-moment { background:var(--night); box-shadow:0 0 0 100vmax var(--night); clip-path:inset(0 -100vmax); padding-block:72px; color:var(--on-night); }
  #prvi-ples .eyebrow { color:var(--gold); }
  #prvi-ples .moment-copy h3 { color:var(--on-night); }
  #prvi-ples .moment-copy>p:not(.eyebrow) { color:var(--on-night-muted); }
  #prvi-ples .occasion-service-links a { border-bottom-color:var(--night-line); color:var(--on-night); }
  #prvi-ples .occasion-service-name { color:var(--on-night); text-decoration-color:#7c715f; }
  #prvi-ples .occasion-service-links a:hover .occasion-service-name { text-decoration-color:var(--gold); }
  #prvi-ples a:not(.occasion-service-links a) { color:var(--on-night); }
  #prvi-ples :focus-visible { outline-color:var(--gold); }
  .event-intro-band,.event-zone-wide { background:var(--night); }
  .event-hero .eyebrow,.event-zone-wide .eyebrow { color:var(--gold); }
  .event-zone-wide .occasion-service-links a { border-color:var(--night-line); }
  .related-card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  @media(max-width:1100px) { .related-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
  @media(max-width:760px) { .related-card-grid { grid-template-columns:1fr; } }
  @media(max-width:640px) { .service-photos { margin-top:72px; clip-path:inset(-36px -100vmax); margin-bottom:36px; } #prvi-ples.wedding-moment { padding-block:48px; } }
}
@layer responsive {
  .process-grid li::before { font:400 40px/1 var(--serif); letter-spacing:-.02em; color:var(--bronze); margin-bottom:18px; }
  .event-hero .event-button { background:var(--gold); border-color:var(--gold); color:var(--night); }
  @media(max-width:640px) { .process-grid li { padding-left:0; } .process-grid li::before { position:static; font-size:36px; margin-bottom:12px; } }
}
/* Kontakt, O nama, Savjeti i članci (0.51.0): tamne kartice sa zlatnim gumbom, savjeti po tri u redu, numerirane prednosti. */
@layer responsive {
  .contact-quick,.article-aside-cta,.page-about .about-scope { background:var(--night); color:var(--on-night); border-radius:4px; border-top:0; }
  .contact-quick .eyebrow,.page-about .about-scope .eyebrow { color:var(--gold); }
  .page-about .about-scope h2,.article-aside-cta .article-aside-title { color:var(--on-night); }
  .page-about .about-scope>p:last-child,.article-aside-cta p:not(.article-aside-title),.contact-quick .helper { color:var(--on-night-muted); }
  .contact-quick .helper a { color:var(--on-night); }
  .contact-quick .button-dark,.article-aside-cta .button-dark { background:var(--gold); color:var(--night); }
  .contact-quick .button-dark:hover,.article-aside-cta .button-dark:hover { background:#d8b77f; }
  .contact-quick .button-secondary { border-color:#6d6355; color:var(--on-night); }
  .contact-quick .button-secondary:hover { background:#24211c; }
  .contact-quick :focus-visible,.article-aside-cta :focus-visible,.page-about .about-scope :focus-visible { outline-color:var(--gold); }
  .article-card-link { border:0; background:#fffdf9; box-shadow:0 1px 0 var(--line),0 0 0 1px #ece5d9; border-radius:4px; overflow:hidden; }
  .article-card-copy .eyebrow { color:var(--bronze); margin:0; }
  .article-group h2 { display:flex; align-items:center; gap:18px; }
  .article-group h2::after { content:''; flex:1; height:1px; background:var(--line); }
  @media(min-width:1100px) {
    .article-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .article-grid > .article-card:last-child:nth-child(odd):not(:first-child) { grid-column:auto; }
    .article-grid > .article-card:last-child:nth-child(odd):not(:first-child) .article-card-link { flex-direction:column; }
    .article-grid > .article-card:last-child:nth-child(odd):not(:first-child) .article-card-image { flex:none; }
    .article-grid > .article-card:last-child:nth-child(odd):not(:first-child) .article-card-copy { justify-content:flex-start; padding:22px 24px 26px; }
    .article-grid .article-card-copy h3 { font-size:24px; line-height:1.25; }
  }
  .about-values .about-route-grid { counter-reset:prednost; }
  .about-values .about-route { counter-increment:prednost; }
  .about-values .about-route::before { content:counter(prednost,decimal-leading-zero); display:block; font:400 34px/1 var(--serif); color:var(--bronze); margin-bottom:14px; }
}
@layer responsive {
  @media(min-width:1100px) { .about-values .about-route-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; } }
  @media(min-width:641px) and (max-width:1099px) { .about-values .about-route-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
}
/* Luksuzni efekti (0.53.0): sporo približavanje fotografije u uvodu, zlatni odsjaj u naslovu, sporije pojavljivanje odjeljaka s izoštravanjem,
   zlatna linija ispod malih naslova, mekani prijelaz između stranica i iskrice u tamnim dijelovima. Sadržaj se uvijek učitava odmah. */
@layer responsive {
  .section-heading .eyebrow::after { content:''; display:block; width:40px; height:1px; margin-top:12px; background:var(--gold); transform-origin:left; }
  .stats-band,.contact-invitation { position:relative; overflow:hidden; isolation:isolate; }
  .stats-band::before,.stats-band::after,.contact-invitation::before,.contact-invitation::after { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.45; }
  .stats-band::before,.contact-invitation::before { background-image:radial-gradient(circle at 6% 28%,#e8cf9c 0 1px,transparent 1.8px),radial-gradient(circle at 19% 76%,#e8cf9c 0 1.3px,transparent 2px),radial-gradient(circle at 34% 18%,#e8cf9c 0 .9px,transparent 1.6px),radial-gradient(circle at 47% 64%,#e8cf9c 0 1.2px,transparent 2px),radial-gradient(circle at 61% 30%,#e8cf9c 0 1px,transparent 1.8px),radial-gradient(circle at 74% 82%,#e8cf9c 0 1.3px,transparent 2px),radial-gradient(circle at 88% 22%,#e8cf9c 0 1px,transparent 1.8px),radial-gradient(circle at 96% 58%,#e8cf9c 0 .9px,transparent 1.6px); }
  .stats-band::after,.contact-invitation::after { background-image:radial-gradient(circle at 12% 54%,#f3e2bd 0 1px,transparent 1.8px),radial-gradient(circle at 27% 38%,#f3e2bd 0 .8px,transparent 1.5px),radial-gradient(circle at 41% 86%,#f3e2bd 0 1.1px,transparent 1.9px),radial-gradient(circle at 55% 14%,#f3e2bd 0 .9px,transparent 1.6px),radial-gradient(circle at 68% 52%,#f3e2bd 0 1.2px,transparent 2px),radial-gradient(circle at 82% 66%,#f3e2bd 0 .8px,transparent 1.5px),radial-gradient(circle at 92% 88%,#f3e2bd 0 1px,transparent 1.8px); opacity:.25; }
}
@layer motion {
  @media(prefers-reduced-motion:no-preference) {
    .motion-ready .reveal-item { transition:opacity .9s cubic-bezier(.2,.65,.2,1),transform .9s cubic-bezier(.2,.65,.2,1),filter .9s ease; }
    .motion-ready .reveal-pending { opacity:0; transform:translateY(24px); filter:blur(6px); }
    .section-heading .eyebrow::after { transition:transform 1.2s cubic-bezier(.2,.65,.2,1) .35s; }
    .motion-ready .reveal-pending .eyebrow::after { transform:scaleX(0); }
    .hero-figure .photo-frame img { animation:glamur-priblizavanje 16s cubic-bezier(.25,.1,.25,1) both; transform-origin:50% 45%; }
    .page-home #hero-title em { background:linear-gradient(100deg,var(--bronze) 0 42%,#e2c690 50%,var(--bronze) 58% 100%); background-size:260% 100%; background-position:100% 0; -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; animation:glamur-sjaj 2.8s ease .8s both; }
    .stats-band::before,.contact-invitation::before { animation:glamur-iskrice 5s ease-in-out infinite alternate; }
    .stats-band::after,.contact-invitation::after { animation:glamur-iskrice 7s ease-in-out 2.5s infinite alternate-reverse; }
    @view-transition { navigation:auto; }
    ::view-transition-old(root),::view-transition-new(root) { animation-duration:.45s; }
  }
  @keyframes glamur-priblizavanje { from { transform:scale(1.07); } to { transform:scale(1); } }
  @keyframes glamur-sjaj { from { background-position:100% 0; } to { background-position:0 0; } }
  @keyframes glamur-iskrice { 0% { opacity:.12; } 50% { opacity:.6; } 100% { opacity:.2; } }
}
/* Društvene mreže (0.54.0): zlatne ikone u podnožju i na Kontaktu, kraći tekst; puno ime mreže ostaje u aria-label. */
@layer responsive {
  .social-icon { width:20px; height:20px; flex-shrink:0; color:var(--gold); }
  .site-footer .footer-top>div.footer-contact a.social-link { gap:12px; }
  .site-footer a.social-link:hover,.site-footer a.social-link:focus-visible { color:var(--gold); }
  .contact-quick .social-row { display:flex; flex-wrap:wrap; gap:10px 22px; }
  .contact-quick .social-row .social-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:var(--on-night); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
  .contact-quick .social-row .social-link:hover { color:var(--gold); }
}
/* Banner za kolačiće (0.55.0): Google Analytics tek nakon pristanka; Prihvaćam i Odbijam jednake veličine. */
@layer responsive {
  .cookie-banner { position:fixed; right:24px; bottom:24px; z-index:40; width:min(420px,calc(100% - 48px)); padding:22px 24px 24px; background:var(--night); color:var(--on-night); border-radius:4px; box-shadow:0 18px 50px #0000004d; font-size:15px; line-height:1.55; }
  .cookie-banner .cookie-title { font:400 24px/1.2 var(--serif); color:var(--on-night); margin-bottom:8px; }
  .cookie-banner p { color:var(--on-night-muted); }
  .cookie-banner a { color:var(--on-night); text-decoration:underline; text-underline-offset:3px; }
  .cookie-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:16px; }
  .cookie-actions .button { min-height:48px; padding:10px 14px; font-size:15px; }
  .cookie-accept { background:var(--gold); color:var(--night); }
  .cookie-decline { background:transparent; color:var(--on-night); border-color:#6d6355; }
  .cookie-banner :focus-visible { outline-color:var(--gold); }
  .site-footer [data-cookie-settings] { cursor:pointer; }
  @media(max-width:640px) { .cookie-banner { left:12px; right:12px; bottom:calc(84px + 12px); width:auto; } }
}
/* Donja traka na mobitelu (0.57.0): stalno vidljiva, Nazovite + WhatsApp (zelena ikona), dvije jednake polovice. */
@layer responsive {
  .mobile-bar { display:none; }
  @media(max-width:640px) {
    .mobile-bar { display:grid; grid-template-columns:1fr 1fr; position:fixed; z-index:4; left:0; right:0; bottom:0; background:var(--night); border-top:1px solid var(--night-line); padding-bottom:env(safe-area-inset-bottom,0px); box-shadow:0 -14px 30px -18px rgba(0,0,0,.45); }
    .mobile-bar.is-hidden,body.dialog-open .mobile-bar { display:none; }
    /* Pomicanje na polje ili gumb ostavlja mjesta iznad trake, da je ništa ne prekrije. */
    html { scroll-padding-bottom:calc(90px + env(safe-area-inset-bottom,0px)); }
    .mobile-bar>a { position:static; display:flex; align-items:center; justify-content:center; min-height:76px; width:auto; padding:12px 8px; color:var(--on-night); text-decoration:none; border:0; background:none; overflow-wrap:normal; hyphens:manual; }
    .mobile-bar>.mobile-call,.mobile-bar>.mobile-wa { gap:12px; font:600 18px/1.2 var(--sans); letter-spacing:.01em; touch-action:manipulation; -webkit-tap-highlight-color:rgba(201,164,106,.25); }
    .mobile-bar>a:active { background:rgba(255,255,255,.06); }
    .site-footer { padding-bottom:calc(100px + env(safe-area-inset-bottom,0px)); }
    .mobile-bar>.mobile-wa { border-left:1px solid var(--night-line); }
    .mobile-bar svg { width:30px; height:30px; flex:none; }
    .mobile-bar>.mobile-call svg { color:var(--gold); }
    .mobile-bar>.mobile-wa svg { color:#25d366; }
    .mobile-bar>a:focus-visible { outline:3px solid var(--on-night); outline-offset:-6px; }
  }
  @media(max-width:360px) { .mobile-bar>.mobile-call,.mobile-bar>.mobile-wa { gap:8px; font-size:16px; } .mobile-bar svg { width:26px; height:26px; } }
}
/* Podnožje na mobitelu (0.57.0): kontakt u jednom bloku, društvene mreže i poveznice u dva stupca, bez dugog niza crta. */
@layer responsive {
  @media(max-width:640px) {
    .site-footer .footer-top { display:grid; grid-template-columns:1fr 1fr; gap:24px 18px; padding-bottom:28px; }
    .site-footer .footer-top>.wordmark,.site-footer .footer-top>p { grid-column:1/-1; }
    .site-footer .footer-top>p { margin-top:-8px; font-size:24px; }
    .site-footer .footer-top>div.footer-contact { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:2px 18px; padding:20px 0 14px; border-block:1px solid var(--night-line); }
    .site-footer .footer-contact>span { grid-column:1/-1; font-size:13px; color:var(--on-night-muted); }
    .site-footer .footer-top>div.footer-contact a { border-bottom:0; align-self:center; }
    .site-footer .footer-top>div.footer-contact a.footer-phone,.site-footer .footer-top>div.footer-contact a[href^="mailto:"] { grid-column:1/-1; }
    .site-footer .footer-top>div.footer-contact a.social-link { gap:9px; font-size:14px; min-width:0; }
    .site-footer .footer-top>div.footer-links { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
    .site-footer .footer-top>div.footer-links a { align-self:stretch; }
    .site-footer .footer-bottom { gap:0; padding-top:14px; }
  }
}
/* Bez rednih brojeva na cijelom webu (0.57.0, vlasnik 31.10.2026.): kartice usluga, prednosti na O nama i svi koraci. */
@layer responsive {
  .service-grid .service-card-copy::before,.service-grid .service-visual::before { content:none; }
  /* O nama, Zašto Glamur Events: prednosti nisu redoslijed, pa bez brojeva. */
  .about-values .about-route::before { content:none; }
  /* Koraci (Kako surađujemo, Kako započeti, Kako izgleda, Cjenik) također bez brojeva; razmak koji je čuvao mjesto za broj više ne treba. */
  .process-grid li::before,.process-section .process-grid li::before,.page-about .about-steps li::before { content:none; }
  .process-grid li { padding-left:0; }
}
/* Cjenik (0.57.0): kartice usluga s početnom cijenom, uključenim stavkama i poveznicom na uslugu. */
@layer responsive {
  .price-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
  .price-card { display:flex; flex-direction:column; gap:16px; padding:32px 28px 28px; border:1px solid var(--line); border-radius:4px; background:#fbf9f5; transition:border-color .4s ease, box-shadow .4s ease; }
  .price-card:hover { border-color:rgba(138,106,54,.5); box-shadow:0 26px 50px -40px rgba(36,35,32,.5); }
  .price-card h3 { font-size:27px; margin:0; }
  .price-card h3 a { color:inherit; text-decoration:none; }
  .price-value { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 8px; margin:0; padding-bottom:18px; border-bottom:1px solid var(--line); font:400 15px/1.3 var(--sans); color:var(--muted); }
  .price-value strong { font:400 42px/1 var(--serif); color:var(--ink); letter-spacing:-.02em; }
  .price-pending strong { font:italic 400 24px/1.2 var(--serif); color:var(--bronze); letter-spacing:0; }
  .price-card > p:not(.price-value) { margin:0; color:var(--muted); }
  .price-includes { list-style:none; margin:0; padding:0; display:grid; gap:9px; font-size:15px; line-height:1.45; }
  .price-includes li { position:relative; padding-left:22px; }
  .price-includes li::before { content:''; position:absolute; left:0; top:.72em; width:10px; height:1px; background:var(--bronze); }
  .price-card .text-link { margin-top:auto; align-self:flex-start; }
  .price-note { margin-top:28px; color:var(--muted); font-size:14px; }
  .page-pricing .price-discount { padding:44px; background:var(--night); color:var(--on-night); border-radius:4px; }
  .page-pricing .price-discount .eyebrow { color:var(--gold); }
  .page-pricing .price-discount h2 { color:var(--on-night); font-size:clamp(32px,3vw,44px); max-width:420px; }
  .page-pricing .price-discount p:not(.eyebrow) { color:var(--on-night-muted); margin:16px 0 0; }
  .page-pricing .price-discount a { color:var(--on-night); text-decoration:underline; text-underline-offset:4px; text-decoration-color:var(--gold); }
  .page-pricing .price-discount :focus-visible { outline-color:var(--gold); }
  @media(max-width:1000px) { .price-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
  @media(max-width:640px) { .page-pricing .price-discount { padding:28px 24px; } .price-grid { grid-template-columns:1fr; } .price-card { padding:28px 22px 24px; } .price-value strong { font-size:38px; } }
}
/* Partner Šarmeri (0.56.1): svijetla kartica s brončanim okvirom, potpis Glamur Events × Šarmeri i istaknut dodatni popust. */
@layer responsive {
  .partner-band { position:relative; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:72px; align-items:center; padding:68px 76px; margin-bottom:88px; border:1px solid rgba(138,106,54,.42); border-radius:4px; background:linear-gradient(135deg,#fcfaf5 0%,#f2eadc 100%); box-shadow:0 34px 70px -48px rgba(36,35,32,.45); overflow:hidden; isolation:isolate; }
  .partner-band::before { content:''; position:absolute; inset:10px; border:1px solid rgba(138,106,54,.16); border-radius:2px; pointer-events:none; }
  .partner-band::after { content:'×'; position:absolute; right:-.04em; bottom:-.36em; font:italic 380px/1 var(--serif); color:rgba(138,106,54,.07); z-index:-1; pointer-events:none; }
  .partner-band .eyebrow { display:flex; align-items:center; gap:14px; color:var(--bronze); text-transform:uppercase; letter-spacing:.16em; font-size:12px; }
  .partner-band .eyebrow::before { content:''; width:36px; height:1px; background:currentColor; }
  .partner-title { display:flex; flex-direction:column; margin:0; font-size:clamp(42px,4.4vw,64px); line-height:1.04; }
  .partner-x { font-style:italic; color:var(--bronze); margin-right:.18em; }
  .partner-roles { list-style:none; margin:36px 0 0; padding:24px 0 0; border-top:1px solid rgba(138,106,54,.3); display:grid; grid-template-columns:1fr 1fr; gap:22px; }
  .partner-roles li { font-size:15px; line-height:1.5; color:var(--muted); }
  .partner-roles strong { display:block; margin-bottom:4px; font:600 12px/1.5 var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--ink); }
  .partner-copy p { color:var(--muted); margin:0 0 16px; max-width:500px; }
  .partner-copy .partner-lead { font:400 24px/1.4 var(--serif); color:var(--ink); margin-bottom:22px; }
  .partner-copy .partner-offer { padding:18px 22px; border-left:2px solid var(--bronze); background:rgba(138,106,54,.09); color:var(--ink); }
  .partner-offer strong { color:var(--bronze); }
  .partner-links { display:flex; flex-wrap:wrap; align-items:center; gap:18px 30px; margin-top:30px; }
  @media(max-width:900px) {
    .partner-band { grid-template-columns:1fr; gap:34px; padding:46px 26px; margin-bottom:56px; }
    .partner-band::after { font-size:240px; }
    .partner-roles { grid-template-columns:1fr; gap:14px; }
    .partner-copy .partner-lead { font-size:21px; }
  }
}
@layer motion {
  @media(prefers-reduced-motion:no-preference) {
    .cookie-banner { animation:glamur-banner .5s cubic-bezier(.2,.65,.2,1) both; }
    @keyframes glamur-banner { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
  }
}
