/* Dasma Shqiptare — Premium Concept 01 */
:root{--ink:#151312;--muted:#6f6962;--ivory:#f7f3ed;--paper:#fffdf9;--line:#ded7ce;--red:#9f1426;--red2:#7f0f1f;--gold:#b79a67;--shadow:0 18px 50px rgba(24,18,12,.10);--header:88px;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.55;padding-top:var(--header)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--red)}.serif{font-family:Georgia,"Times New Roman",serif;font-weight:400}.display{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.035em;font-size:clamp(3rem,7vw,7rem);line-height:.92;margin:0}.h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.025em;font-size:clamp(2.2rem,4.5vw,4.6rem);line-height:1.02;margin:.35rem 0 1.2rem}.lead{font-size:clamp(1.06rem,1.6vw,1.28rem);color:var(--muted);max-width:760px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid var(--ink);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;transition:.2s ease;cursor:pointer;background:transparent}.btn:hover{background:var(--ink);color:white}.btn.red{background:var(--red);border-color:var(--red);color:white}.btn.red:hover{background:var(--red2)}.btn.light{border-color:#fff;color:#fff}.btn.light:hover{background:#fff;color:var(--ink)}
.site-header{position:fixed;z-index:1000;top:0;left:0;right:0;height:var(--header);background:rgba(255,253,249,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(80,68,56,.13)}.header-inner{height:100%;display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:14px;min-width:230px}.brand-mark{width:40px;height:40px;border:1px solid var(--red);display:grid;place-items:center;color:var(--red);font:700 18px Georgia,serif}.brand-copy strong{display:block;font-family:Georgia,serif;font-size:1.08rem;letter-spacing:.02em}.brand-copy span{display:block;font-size:.61rem;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);margin-top:2px}.nav{display:flex;align-items:center;gap:27px;margin-left:auto}.nav>a,.nav .drop>a{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:750;padding:33px 0 30px;border-bottom:2px solid transparent}.nav>a.active,.nav>a:hover,.nav .drop>a:hover{border-color:var(--red)}.drop{position:relative}.drop-menu{position:absolute;top:70px;left:-24px;width:280px;padding:14px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s}.drop:hover .drop-menu{opacity:1;visibility:visible;transform:none}.drop-menu a{display:block;padding:11px 10px;font-size:.74rem;border-bottom:1px solid #eee7de}.drop-menu a:last-child{border-bottom:0}.lang{font-size:.7rem!important;color:var(--muted)}.nav-cta{min-height:42px!important;padding:0 16px!important}.menu-btn{display:none;margin-left:auto;border:0;background:none;width:46px;height:46px;padding:10px}.menu-btn span{display:block;height:1px;background:var(--ink);margin:7px 0}.mobile-panel{display:none}
.hero{min-height:720px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);background:var(--ivory);overflow:hidden}.hero-copy{padding:95px max(5vw,36px) 80px max(5vw,36px);display:flex;flex-direction:column;justify-content:center}.hero-copy .lead{max-width:640px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-note{display:flex;gap:26px;flex-wrap:wrap;margin-top:50px;padding-top:22px;border-top:1px solid var(--line);font-size:.76rem;color:var(--muted)}.hero-note strong{color:var(--ink)}.hero-media{position:relative;background-size:cover;background-position:center 35%;min-height:680px}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,11,9,.08),transparent 50%)}.hero-badge{position:absolute;left:0;bottom:0;background:var(--red);color:#fff;padding:28px 34px;width:min(360px,80%);z-index:2}.hero-badge b{font-family:Georgia,serif;font-size:1.45rem;font-weight:400;display:block}.hero-badge span{font-size:.72rem;opacity:.82;letter-spacing:.08em;text-transform:uppercase}
.section{padding:110px 0}.section.sm{padding:80px 0}.section.dark{background:var(--ink);color:white}.section.ivory{background:var(--ivory)}.section.red{background:var(--red);color:white}.section-head{display:grid;grid-template-columns:.36fr .64fr;gap:64px;align-items:start;margin-bottom:58px}.section-head p{margin-top:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-card{background:var(--paper);min-height:390px;display:flex;flex-direction:column}.service-card img{height:210px;width:100%;object-fit:cover}.service-body{padding:26px 28px 30px;display:flex;flex-direction:column;flex:1}.service-body h3{font:400 1.7rem Georgia,serif;margin:0 0 12px}.service-body p{color:var(--muted);font-size:.94rem}.text-link{margin-top:auto;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:var(--red)}
.split{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.split-media{background-size:cover;background-position:center}.split-copy{padding:90px max(5vw,60px);display:flex;flex-direction:column;justify-content:center}.split-copy.dark{background:var(--ink);color:white}.split-copy.dark .lead{color:#c6beb4}.split-copy .statline{margin-top:36px;padding-top:25px;border-top:1px solid rgba(255,255,255,.18);display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.statline b{font:400 1.45rem Georgia,serif;display:block}.statline span{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;opacity:.62}
.process{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.step{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:230px}.step .num{font:400 2.4rem Georgia,serif;color:var(--gold)}.step h3{font:400 1.25rem Georgia,serif}.step p{font-size:.9rem;color:var(--muted)}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:95px;gap:12px}.shot{overflow:hidden;position:relative;background:#ddd}.shot img{width:100%;height:100%;object-fit:cover;transition:.6s}.shot:hover img{transform:scale(1.025)}.shot.a{grid-column:span 7;grid-row:span 5}.shot.b{grid-column:span 5;grid-row:span 3}.shot.c{grid-column:span 5;grid-row:span 4}.shot.d{grid-column:span 4;grid-row:span 4}.shot.e{grid-column:span 8;grid-row:span 5}.shot.f{grid-column:span 4;grid-row:span 5}
.quote{max-width:980px;margin:auto;text-align:center}.quote blockquote{font:400 clamp(2rem,4vw,4.2rem)/1.08 Georgia,serif;margin:0}.quote p{color:var(--muted);margin-top:28px}.geo-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.geo{border:1px solid var(--line);padding:12px 16px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.dark .geo{border-color:#4d4842}
.page-hero{padding:90px 0 80px;background:var(--ivory);border-bottom:1px solid var(--line)}.page-hero .display{max-width:1000px}.breadcrumbs{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:30px}.content-grid{display:grid;grid-template-columns:.68fr .32fr;gap:80px}.prose{font-size:1.02rem}.prose h2{font:400 2.2rem Georgia,serif;margin-top:42px}.prose h3{font:400 1.4rem Georgia,serif}.prose p,.prose li{color:#514c47}.prose ul{padding-left:20px}.side-card{border-top:3px solid var(--red);background:var(--ivory);padding:28px;position:sticky;top:calc(var(--header) + 30px)}.side-card h3{font:400 1.6rem Georgia,serif}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:40px}.feature{background:var(--paper);padding:26px}.feature h3{font:400 1.25rem Georgia,serif}.feature p{font-size:.9rem;color:var(--muted)}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.package{border:1px solid var(--line);padding:34px;background:var(--paper)}.package.featured{border-color:var(--red);box-shadow:var(--shadow)}.package .tag{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--red);font-weight:800}.package h3{font:400 2rem Georgia,serif}.package ul{padding:0;list-style:none}.package li{padding:10px 0;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}
.contact-grid{display:grid;grid-template-columns:.42fr .58fr;gap:70px}.contact-card{background:var(--ink);color:#fff;padding:42px}.contact-card a{display:block;margin:10px 0}.contact-card .small{opacity:.65;font-size:.85rem}.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field.full{grid-column:1/-1}.field label{display:block;font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-bottom:7px}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#fff;padding:14px 15px;min-height:50px;color:var(--ink)}.field textarea{min-height:150px;resize:vertical}.check-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.check{border:1px solid var(--line);padding:12px;display:flex;gap:8px;align-items:center;font-size:.86rem}.notice{font-size:.79rem;color:var(--muted)}
.cta{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.cta .h2{margin-bottom:0}.cta-actions{display:flex;gap:12px;flex-wrap:wrap}.site-footer{background:#0f0e0d;color:#fff;padding:70px 0 26px}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr .8fr;gap:55px}.footer-brand{font:400 1.65rem Georgia,serif}.footer-brand span{display:block;color:var(--gold);font:700 .62rem Inter,sans-serif;letter-spacing:.15em;text-transform:uppercase;margin-top:7px}.footer-title{font-size:.67rem;letter-spacing:.14em;text-transform:uppercase;color:#928b84;margin-bottom:14px}.footer-col a,.footer-col p{display:block;font-size:.87rem;color:#d2ccc6;margin:7px 0}.footer-bottom{border-top:1px solid #312d29;margin-top:50px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.75rem;color:#8f8881}
.social-float{position:fixed;z-index:900;right:18px;bottom:18px;display:flex;flex-direction:column;gap:9px}.social-float a{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.2);font-weight:800;font-size:.72rem}.social-float a.wa{background:#1f8b56}.social-float a.ig{background:var(--red)}
@media(max-width:980px){:root{--header:74px}.wrap{width:min(var(--max),calc(100% - 32px))}.site-header{height:var(--header)}.header-inner{gap:15px}.brand{min-width:0}.brand-mark{width:34px;height:34px}.brand-copy strong{font-size:.98rem}.nav{display:none}.menu-btn{display:block}.mobile-panel{position:fixed;z-index:999;top:var(--header);left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:18px 24px 26px;max-height:calc(100dvh - var(--header));overflow:auto;scrollbar-width:none}.mobile-panel::-webkit-scrollbar{display:none}.mobile-panel.open{display:block}.mobile-panel a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 28px 55px}.hero-media{min-height:520px}.section{padding:80px 0}.section-head{grid-template-columns:1fr;gap:12px}.service-grid{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}.split-media{min-height:520px}.process{grid-template-columns:1fr 1fr}.content-grid{grid-template-columns:1fr;gap:45px}.side-card{position:static}.package-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.cta{grid-template-columns:1fr}.gallery{grid-auto-rows:72px}}
@media(max-width:620px){.brand-copy span{display:none}.display{font-size:clamp(2.9rem,15vw,4.4rem)}.h2{font-size:clamp(2.1rem,10vw,3.4rem)}.hero-media{min-height:440px}.hero-badge{padding:20px 22px}.section{padding:66px 0}.service-grid{grid-template-columns:1fr}.process{grid-template-columns:1fr}.split-copy{padding:62px 24px}.split-copy .statline{grid-template-columns:1fr}.gallery{display:grid;grid-template-columns:1fr;grid-auto-rows:360px}.shot.a,.shot.b,.shot.c,.shot.d,.shot.e,.shot.f{grid-column:auto;grid-row:auto}.feature-list{grid-template-columns:1fr}.form{grid-template-columns:1fr}.field.full,.check-row{grid-column:1}.check-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.social-float{right:12px;bottom:12px}.social-float a{width:44px;height:44px}}


/* Concept 19 — SWISS WEDDING */
:root{--ink:#111;--muted:#666;--ivory:#f5f5f3;--paper:#fff;--line:#d8d8d4;--red:#a5162d;--red2:#7f1022;--gold:#777;--shadow:none;--max:1360px}
body{background:#fff}.site-header{background:rgba(255,255,255,.98);backdrop-filter:none;border-bottom:1px solid #d9d9d5}.brand{min-width:245px}.brand-copy strong{font-family:Arial,Helvetica,sans-serif;font-weight:750;letter-spacing:-.02em}.brand-copy span{letter-spacing:.16em}.nav>a,.nav .drop>a{font-size:.68rem;letter-spacing:.15em}.display,.h2,.service-body h3,.quote blockquote,.footer-brand{font-family:Helvetica Neue,Arial,sans-serif}.display{font-weight:650;letter-spacing:-.065em;line-height:.88}.h2{font-weight:600;letter-spacing:-.05em}.eyebrow{font-size:.68rem;letter-spacing:.18em}
.hero{grid-template-columns:46% 54%;background:#fff;min-height:780px;border-bottom:1px solid #d8d8d4}.hero-copy{padding:90px 5vw;border-right:1px solid #d8d8d4}.hero-copy .display{font-size:clamp(4rem,7vw,7.4rem)}.hero-media{min-height:780px}.hero-badge{background:#fff;color:#111;border-top:1px solid #111;border-right:1px solid #111;padding:22px 28px;width:360px}.hero-badge b{font-family:Helvetica Neue,Arial,sans-serif;font-weight:600;font-size:1.15rem}.hero-badge span{color:#a5162d}.btn{border-radius:0;letter-spacing:.13em}.section{padding:112px 0}.section-head{grid-template-columns:220px 1fr;border-top:1px solid #111;padding-top:22px}.service-grid{grid-template-columns:repeat(3,1fr);gap:0;background:transparent;border:0;border-top:1px solid #111}.service-card{border-right:1px solid #d8d8d4;background:#fff;min-height:440px}.service-card:last-child{border-right:0}.service-card img{height:250px}.service-body h3{font-weight:600;font-size:1.55rem;letter-spacing:-.03em}.text-link{color:#111}.split{min-height:680px;border-top:1px solid #d8d8d4;border-bottom:1px solid #d8d8d4}.split-copy.dark{background:#111}.split-copy .statline b{font-family:Helvetica Neue,Arial,sans-serif;font-weight:650}.process{border-left:0}.step{border-color:#d8d8d4;padding:34px;min-height:220px}.step .num{font-family:Helvetica Neue,Arial,sans-serif;color:#a5162d;font-weight:600}.gallery{gap:4px}.section.dark{background:#111}.section.red{background:#a5162d}.page-hero{background:#f5f5f3;border-bottom:1px solid #d8d8d4}.feature-list{border-color:#d8d8d4}.side-card{background:#f5f5f3}.site-footer{background:#111}.footer-brand{font-weight:600}
@media(max-width:980px){.hero{grid-template-columns:1fr}.hero-copy{border-right:0;border-bottom:1px solid #d8d8d4}.hero-media{min-height:520px}.section-head{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.service-card{border-bottom:1px solid #d8d8d4}}
@media(max-width:620px){.service-grid{grid-template-columns:1fr}.service-card{border-right:0}}

/* Production refinements — Concept 19 Swiss Wedding */
html{scroll-padding-top:calc(var(--header) + 20px)}
body{overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
main{min-width:0}
.skip-link{position:fixed;left:16px;top:12px;z-index:5000;background:#111;color:#fff;padding:12px 16px;transform:translateY(-180%);transition:transform .16s ease;font-size:.78rem;font-weight:700;letter-spacing:.06em}
.skip-link:focus{transform:none}
a,button,input,select,textarea{outline-offset:3px}
:focus-visible{outline:2px solid var(--red)}
.drop:focus-within .drop-menu{opacity:1;visibility:visible;transform:none}
.btn{white-space:nowrap}
.brand,.nav,.header-inner,.hero>*,.service-card,.content-grid>*,.contact-grid>*,.footer-grid>*{min-width:0}
.brand-mark{padding:5px!important;background:#fff;object-fit:contain}
.mobile-panel a[aria-current="page"]{color:var(--red);font-weight:800}
.mobile-panel{box-shadow:0 16px 30px rgba(0,0,0,.08)}
body.menu-open{overflow:hidden}
.hero-media{background-color:#eee}
.form-status{grid-column:1/-1;padding:14px 16px;border-left:3px solid var(--red);background:#f5f5f3;color:#222;font-size:.9rem}
.form-status.error{border-left-color:#a5162d;background:#fff0f2;color:#65101d}
.form-status.success{border-left-color:#167246;background:#eef8f2;color:#155d3d}
.hp-field{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.field input,.field textarea,.field select{border-radius:0;-webkit-appearance:none;appearance:none}
.field input:focus,.field textarea:focus,.field select:focus{border-color:#111;box-shadow:0 0 0 1px #111;outline:0}
.notice a{text-decoration:underline;text-underline-offset:3px}
.site-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.social-float{bottom:max(18px,env(safe-area-inset-bottom));right:max(18px,env(safe-area-inset-right))}
.social-float a{border:1px solid rgba(255,255,255,.18)}
@media (hover:hover) and (pointer:fine){.service-card img,.shot img{will-change:transform}.service-card:hover img{transform:scale(1.018)}}
@media(max-width:1180px){
  .nav{gap:17px}.nav>a,.nav .drop>a{font-size:.64rem;letter-spacing:.11em}.brand{min-width:220px}
  .hero-copy{padding-left:4vw;padding-right:4vw}.hero-copy .display{font-size:clamp(3.7rem,6.6vw,6.5rem)}
}
@media(max-width:1080px){
  :root{--header:76px}.nav{display:none}.menu-btn{display:block}.site-header{height:var(--header)}
  .mobile-panel{position:fixed;z-index:999;top:var(--header);left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:18px 24px 26px;max-height:calc(100dvh - var(--header));overflow:auto;scrollbar-width:none}
  .mobile-panel::-webkit-scrollbar{display:none}.mobile-panel.open{display:block}.mobile-panel a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
  .hero{grid-template-columns:48% 52%;min-height:690px}.hero-media{min-height:690px}.hero-copy{padding-top:70px;padding-bottom:65px}
  .section{padding:92px 0}.section-head{grid-template-columns:180px 1fr;gap:42px}.footer-grid{gap:34px}
}
@media(max-width:900px){
  .wrap{width:min(var(--max),calc(100% - 40px))}.hero{grid-template-columns:1fr}.hero-copy{border-right:0;border-bottom:1px solid var(--line);padding:68px 32px 54px}.hero-media{min-height:560px}
  .section{padding:82px 0}.section-head{grid-template-columns:1fr;gap:12px}.service-grid{grid-template-columns:1fr 1fr}.service-card{border-bottom:1px solid var(--line)}
  .split{grid-template-columns:1fr}.split-media{min-height:540px}.process{grid-template-columns:1fr 1fr}.content-grid,.contact-grid{grid-template-columns:1fr;gap:46px}.side-card{position:static}.package-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.cta{grid-template-columns:1fr}.gallery{grid-auto-rows:76px}
}
@media(max-width:680px){
  :root{--header:70px}.wrap{width:min(var(--max),calc(100% - 28px))}.header-inner{gap:10px}.brand-mark{width:34px;height:34px}.brand-copy strong{font-size:.95rem}.brand-copy span{display:none}.menu-btn{width:44px;height:44px}
  .display{font-size:clamp(2.65rem,13.4vw,4.3rem);letter-spacing:-.055em;line-height:.92}.h2{font-size:clamp(2rem,9.6vw,3.25rem);letter-spacing:-.045em}.lead{font-size:1.02rem}
  .hero-copy{padding:56px 20px 46px}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .btn{width:100%}.hero-note{display:grid;gap:9px;margin-top:34px}.hero-media{min-height:440px}.hero-badge{width:calc(100% - 28px);padding:18px 20px}.hero-badge b{font-size:1.05rem}
  .section{padding:64px 0}.section.sm{padding:58px 0}.service-grid{grid-template-columns:1fr}.service-card{border-right:0;min-height:0}.service-card img{height:auto;aspect-ratio:4/3}.split-media{min-height:420px}.split-copy{padding:58px 22px}.split-copy .statline{grid-template-columns:1fr;gap:12px}.process{grid-template-columns:1fr}.step{min-height:0;padding:26px}
  .gallery{grid-template-columns:1fr;grid-auto-rows:auto;gap:6px}.shot.a,.shot.b,.shot.c,.shot.d,.shot.e,.shot.f{grid-column:auto;grid-row:auto}.shot img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.shot:nth-child(3n+1) img{aspect-ratio:4/3}
  .page-hero{padding:62px 0 58px}.breadcrumbs{margin-bottom:20px}.feature-list{grid-template-columns:1fr}.form{grid-template-columns:1fr;gap:15px}.field.full,.check-row{grid-column:1}.check-row{grid-template-columns:1fr}.contact-card{padding:30px 24px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-bottom{flex-direction:column;gap:8px}.cta-actions{display:grid;grid-template-columns:1fr}.cta-actions .btn{width:100%}.social-float{right:max(11px,env(safe-area-inset-right));bottom:max(11px,env(safe-area-inset-bottom))}.social-float a{width:44px;height:44px}
}
@media(max-width:380px){.brand-copy strong{font-size:.88rem}.hero-copy{padding-left:16px;padding-right:16px}.mobile-panel{padding-left:18px;padding-right:18px}.contact-card{padding:26px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.shot img,.service-card img{transform:none!important}}


/* Final production pass — Concept 19 / Swiss Wedding v4 */
.social-float{gap:10px}
.social-float a{width:50px;height:50px;background:#fff!important;color:#111!important;border:1px solid #111!important;box-shadow:0 10px 28px rgba(0,0,0,.12);transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}
.social-float a svg{width:22px;height:22px;display:block}
@media (hover:hover) and (pointer:fine){.social-float a:hover{background:var(--red)!important;color:#fff!important;border-color:var(--red)!important;transform:translateY(-2px)}}
.social-float a:focus-visible{outline:2px solid var(--red);outline-offset:3px}

.contact-grid-pro{align-items:start}
.contact-card-pro{padding:44px 40px;position:sticky;top:calc(var(--header) + 28px)}
.contact-eyebrow{color:#d7d7d3}
.contact-title{font-size:clamp(2.2rem,3.2vw,3.5rem);margin-top:.45rem}
.contact-links{margin-top:30px;border-top:1px solid rgba(255,255,255,.2)}
.contact-links a{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:baseline;padding:15px 0;margin:0;border-bottom:1px solid rgba(255,255,255,.14)}
.contact-links a span,.contact-address span,.contact-countries span{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:#aaa}
.contact-links a strong{font-size:.95rem;font-weight:650;overflow-wrap:anywhere}
.contact-links a:hover strong{text-decoration:underline;text-underline-offset:4px}
.contact-address,.contact-countries{padding-top:24px;margin-top:8px}
.contact-address p,.contact-countries p{margin:7px 0 0;color:#ddd;font-size:.92rem;line-height:1.6}
.form-shell{min-width:0}
.form-intro{padding-bottom:26px;margin-bottom:28px;border-bottom:1px solid var(--line)}
.form-intro h2{font-size:clamp(1.8rem,3vw,2.7rem);letter-spacing:-.045em;line-height:1.04;margin:.35rem 0 .8rem}
.form-intro p{color:var(--muted);max-width:720px;margin:0}
.service-fieldset{border:0;padding:0;margin:0;min-width:0}
.service-fieldset legend{display:block;font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-bottom:7px;padding:0}
.consent{display:flex!important;align-items:flex-start;gap:11px;padding:14px 0;border-top:1px solid var(--line);font-size:.82rem;line-height:1.5;color:var(--muted)}
.consent input{width:18px!important;height:18px!important;min-height:0!important;padding:0!important;margin-top:2px;flex:0 0 auto;appearance:auto!important;-webkit-appearance:checkbox!important}
.consent a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.form-required{font-size:.72rem;color:var(--muted)}
.offer-points{list-style:none;padding:0;margin:26px 0;border-top:1px solid var(--line)}
.offer-points li{padding:12px 0;border-bottom:1px solid var(--line);font-size:.9rem}
.faq-list{border-top:1px solid #111}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{cursor:pointer;list-style:none;padding:23px 46px 23px 0;font-weight:700;font-size:1rem;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:4px;top:17px;font-size:1.5rem;font-weight:400;color:var(--red)}
.faq-list details[open] summary:after{content:"−"}
.faq-list details p{max-width:860px;margin:0;padding:0 48px 24px 0;color:var(--muted)}
.compact-actions{margin-top:28px;display:flex;gap:10px;flex-wrap:wrap}
.service-feature-list{grid-template-columns:repeat(3,1fr)}

@media(max-width:900px){
  .contact-card-pro{position:static}.contact-links a{grid-template-columns:130px 1fr}.service-feature-list{grid-template-columns:1fr 1fr}.contact-process{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .social-float a{width:46px;height:46px}.social-float a svg{width:20px;height:20px}
  .contact-card-pro{padding:30px 24px}.contact-links a{grid-template-columns:1fr;gap:3px;padding:13px 0}.contact-links a strong{font-size:.92rem}
  .form-intro{margin-bottom:22px}.form-actions{align-items:stretch;display:grid;grid-template-columns:1fr}.form-actions .btn{width:100%}
  .service-feature-list,.contact-process{grid-template-columns:1fr}.faq-list summary{padding-right:38px}.faq-list details p{padding-right:0}.compact-actions{display:grid;grid-template-columns:1fr}.compact-actions .btn{width:100%}
}
/* Native checkbox sizing inside service selectors */
.check input{width:17px!important;height:17px!important;min-height:0!important;padding:0!important;margin:0!important;flex:0 0 17px;appearance:auto!important;-webkit-appearance:checkbox!important;box-shadow:none!important}
.check{min-height:48px}


/* CONCEPT 28: COUTURE MAGAZINE */

:root{--ink:#111;--muted:#666;--paper:#f9f7f2;--ivory:#ece9e2;--line:#cfcac0;--red:#bd0d2a;--gold:#a88d67;--header:72px;--max:1360px}
body{background:#f9f7f2}.site-header{height:72px;background:#f9f7f2;border-bottom:1px solid #111}.brand-mark{border:0;color:#bd0d2a;font-size:22px}.brand-copy strong{text-transform:uppercase;letter-spacing:.08em}.brand-copy span{display:none}.nav>a,.nav .drop>a{padding:24px 0 21px;font-size:.66rem}.hero{grid-template-columns:44% 56%;background:#f9f7f2;min-height:850px}.hero-copy{padding:90px 3vw 70px 5vw;position:relative}.hero-copy:before{content:"WEDDING / EDITION";position:absolute;left:18px;top:120px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:.62rem;letter-spacing:.22em;color:#bd0d2a}.hero-copy .display{font-size:clamp(5rem,8.2vw,9.5rem);line-height:.78;text-transform:uppercase}.hero-copy .lead{font-size:1rem;max-width:520px}.hero-media{min-height:850px;clip-path:polygon(10% 0,100% 0,100% 100%,0 100%)}.hero-badge{background:#111;color:#fff;left:auto;right:0;width:320px}.section{padding:130px 0}.section-head{grid-template-columns:1fr 1.5fr;border-bottom:1px solid #111;padding-bottom:35px}.service-grid{grid-template-columns:repeat(3,1fr);gap:0;background:transparent;border-top:1px solid #111;border-bottom:1px solid #111}.service-card{border-right:1px solid #111;background:transparent}.service-card:last-child{border-right:0}.service-card img{height:350px;filter:saturate(.8)}.service-body{padding:28px 22px}.service-body h3{text-transform:uppercase;font-size:1.3rem;letter-spacing:.04em}.split{grid-template-columns:43% 57%}.split-media{min-height:760px}.split-copy{padding:100px 7vw}.split-copy.dark{background:#111}.gallery{gap:4px}.page-hero{border-bottom:1px solid #111;background:#f9f7f2}.page-hero .display{text-transform:uppercase;font-size:clamp(4rem,8vw,8rem)}.site-footer{background:#111}.social-float a{border-radius:0!important}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-copy{order:2}.hero-media{order:1;min-height:610px;clip-path:none}.hero-copy:before{display:none}.service-grid{grid-template-columns:1fr 1fr}.service-card:nth-child(2){border-right:0}}
@media(max-width:680px){.hero-copy{padding:42px 20px 54px}.hero-copy .display{font-size:clamp(3.2rem,17vw,5.4rem)}.hero-media{min-height:470px}.service-grid{grid-template-columns:1fr}.service-card{border-right:0;border-bottom:1px solid #111}.service-card img{height:auto;aspect-ratio:4/5}.section{padding:70px 0}}

/* Shared mobile-first quality guard */
html,body{max-width:100%;overflow-x:clip}
img{height:auto}
@media(max-width:1080px){
  .menu-btn{display:block!important}
  .mobile-panel{max-height:calc(100dvh - var(--header));overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
}
@media(max-width:680px){
  .wrap{width:calc(100% - 28px)!important}
  .btn{min-height:48px}
  .hero,.hero-copy,.hero-media,.section,.page-hero,.split,.split-copy,.split-media,.contact-grid,.content-grid,.service-grid,.package-grid,.feature-list,.process,.gallery{min-width:0}
  .lead,.prose,.service-body,.contact-card,.field,.check,.footer-grid>*{overflow-wrap:anywhere}
  .display,.h2{overflow-wrap:normal;word-break:keep-all}
  input,select,textarea{font-size:16px!important}
  .mobile-panel a{min-height:44px;display:flex!important;align-items:center}
}


/* === DASMA SHQIPTARE · ORIGINAL LOGO INTEGRATION === */
.brand{min-width:160px!important;gap:0!important}
.brand-logo{display:block;width:150px;height:auto;max-height:66px;object-fit:contain;flex:0 0 auto}
.footer-logo-wrap{display:inline-flex;align-items:center;justify-content:flex-start;padding:0;line-height:0;max-width:230px;background:transparent}
.footer-logo{display:block;width:210px;max-width:100%;height:auto;object-fit:contain}
@media(max-width:1080px){.brand-logo{width:136px;max-height:64px}.footer-logo{width:195px}}
@media(max-width:980px){.brand{min-width:0!important}.brand-logo{width:128px;max-height:60px}.footer-logo{width:185px}}
@media(max-width:620px){.brand-logo{width:116px;max-height:54px}.footer-logo{width:170px}.footer-logo-wrap{padding:4px 6px}}
body.concept-26 .brand-logo{width:190px;max-height:none}
@media(max-width:1080px){body.concept-26 .brand-logo{width:132px;max-height:62px}}


/* === FINAL POLISH 2026: shared UX / accessibility / mobile === */
:focus-visible{outline:3px solid color-mix(in srgb,var(--red) 82%,#fff 18%);outline-offset:3px}
.site-header.scrolled{box-shadow:0 10px 30px rgba(20,15,12,.08)}
.mobile-panel{overscroll-behavior:contain}
body.menu-open{overflow:hidden}
.mobile-cta-bar{display:none}
.portfolio-tools{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.portfolio-filter{appearance:none;border:1px solid var(--line);background:transparent;color:var(--ink);min-height:44px;padding:0 16px;font:800 .68rem/1 Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:.11em;text-transform:uppercase;cursor:pointer}
.portfolio-filter.active,.portfolio-filter:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.shot[hidden]{display:none!important}
.shot button.lightbox-trigger{all:unset;display:block;width:100%;height:100%;cursor:zoom-in}
.lightbox{position:fixed;inset:0;z-index:2500;background:rgba(10,9,8,.94);display:none;align-items:center;justify-content:center;padding:30px}
.lightbox.open{display:flex}.lightbox figure{margin:0;max-width:min(1200px,94vw);max-height:90vh;display:grid;gap:10px;justify-items:center}.lightbox img{max-width:100%;max-height:82vh;object-fit:contain}.lightbox figcaption{color:#eee;font-size:.82rem;text-align:center}.lightbox-close{position:absolute;right:18px;top:18px;width:48px;height:48px;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.25);color:#fff;font-size:1.8rem;line-height:1;cursor:pointer}
.lightbox-close:focus-visible{outline-color:#fff}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:58px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.25);color:#fff;font-size:1.7rem;cursor:pointer}.lightbox-prev{left:18px}.lightbox-next{right:18px}
.footer-title{letter-spacing:.11em}
.footer-col a{min-height:30px}
/* Viele Stadt-Links: auf Touch-Geräten etwas dichter, ohne die Trefferfläche zu opfern */
@media(max-width:680px){
  .footer-col a{min-height:36px;padding:6px 0;margin:2px 0}
  .site-footer{padding-bottom:calc(26px + env(safe-area-inset-bottom))}
}
.form-status.error{display:block;background:#fff2f2;color:#7a1020;border:1px solid #d9a4aa;padding:14px 16px;margin-bottom:18px}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.faq-list summary{min-height:48px}
@media(max-width:1080px){
  .mobile-panel{padding-bottom:calc(28px + env(safe-area-inset-bottom))}
  .mobile-panel a{font-weight:700}
}
@media(max-width:680px){
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
  .social-float{display:none!important}
  .mobile-cta-bar{position:fixed;display:grid;grid-template-columns:.88fr 1.12fr;left:0;right:0;bottom:0;z-index:1800;background:var(--paper);border-top:1px solid var(--line);padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));gap:8px;box-shadow:0 -10px 28px rgba(20,15,12,.08)}
  .mobile-cta-bar a{display:flex;align-items:center;justify-content:center;min-height:46px;font-size:.7rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ink)}
  .mobile-cta-wa{background:transparent;color:var(--ink)}.mobile-cta-offer{background:var(--red);border-color:var(--red)!important;color:#fff}
  .portfolio-tools{display:grid;grid-template-columns:1fr 1fr}.portfolio-filter{padding:0 10px;font-size:.63rem}
  .lightbox{padding:16px 10px 78px}.lightbox-nav{top:auto;bottom:14px;transform:none}.lightbox-prev{left:calc(50% - 58px)}.lightbox-next{right:calc(50% - 58px)}.lightbox-close{top:10px;right:10px}
  .footer-logo-wrap{max-width:min(280px,100%)}.footer-logo{width:min(260px,100%)!important}
}


/* === CONCEPT 28 FINAL: COUTURE MAGAZINE === */
body.concept-28{--header:88px}
body.concept-28 .site-header{height:var(--header)}
body.concept-28 .brand{min-width:280px!important}
body.concept-28 .brand-logo{
  width:min(320px,42vw);
  max-width:100%;
  max-height:48px;
  height:auto;
  background:transparent;padding:0;border-radius:0;object-fit:contain;
}
body.concept-28 .footer-logo-wrap{
  background:transparent;padding:0;border:0;max-width:min(340px,100%);
}
body.concept-28 .footer-logo{
  width:min(320px,100%);
  max-width:100%;
  max-height:none;
  height:auto;
}
body.concept-28 .editorial-ribbon{border-top:1px solid #111;border-bottom:1px solid #111;background:#fff}
body.concept-28 .editorial-ribbon-inner{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:18px;overflow:hidden}
body.concept-28 .editorial-ribbon span{font-size:.62rem;font-weight:850;letter-spacing:.17em;white-space:nowrap}
body.concept-28 .editorial-note{display:grid;grid-template-columns:.26fr .52fr .22fr;gap:38px;align-items:start;border-top:1px solid #111;border-bottom:1px solid #111;padding:44px 0}
body.concept-28 .editorial-note .h2{margin:0}body.concept-28 .editorial-note .lead{font-size:1rem;margin:0}
body.concept-28 .editorial-note .geo-row{margin:0;align-content:start}
body.concept-28 .service-card{position:relative;overflow:hidden}body.concept-28 .service-card:before{content:"";position:absolute;left:0;top:0;height:4px;width:0;background:var(--red);z-index:3;transition:width .3s ease}body.concept-28 .service-card:hover:before{width:100%}
body.concept-28 .page-hero{position:relative;overflow:hidden}body.concept-28 .page-hero:after{content:"DASMA / EDITION";position:absolute;right:3vw;bottom:12px;font-size:.58rem;letter-spacing:.2em;color:var(--red)}
body.concept-28 .portfolio-tools{border-top:1px solid #111;padding-top:16px}
body.concept-28 .faq-section{background:#fff}
@media(max-width:900px){body.concept-28 .editorial-note{grid-template-columns:1fr;gap:18px}body.concept-28 .editorial-ribbon-inner{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}body.concept-28 .editorial-ribbon-inner::-webkit-scrollbar{display:none}}
@media(max-width:1080px){
  body.concept-28 .brand{min-width:240px!important}
  body.concept-28 .brand-logo{width:min(280px,40vw);max-height:52px}
  body.concept-28 .footer-logo-wrap{max-width:min(290px,100%)}
  body.concept-28 .footer-logo{width:min(280px,100%)}
}
@media(max-width:680px){
  body.concept-28{--header:82px}
  body.concept-28 .site-header{height:var(--header)}
  body.concept-28 .brand{min-width:0!important}
  body.concept-28 .brand-logo{width:min(255px,68vw);max-height:64px;padding:0}
  body.concept-28 .footer-logo-wrap{max-width:min(280px,92vw);margin:0 auto}
  body.concept-28 .footer-logo{width:min(260px,92vw)}
  body.concept-28 .editorial-ribbon{margin-top:-1px}
  body.concept-28 .editorial-ribbon-inner{min-height:42px}
  body.concept-28 .editorial-note{padding:30px 0}
  body.concept-28 .page-hero:after{display:none}
}

/* === LIVE REVIEW 2026-08-28: contrast + presentation polish === */
body.concept-28{
  --muted:#56514d;
  --line:#c5beb5;
  --gold:#7a6549;
}
body.concept-28 .section.dark .quote p{color:#d8d1ca}
body.concept-28 .split-copy.dark .statline span{opacity:1;color:#ddd6cf}
body.concept-28 .contact-card .small{opacity:1;color:#d8d2cc}
body.concept-28 .hero-badge span{opacity:1}
body.concept-28 .footer-title{color:#bbb4ad}
body.concept-28 .footer-bottom{color:#aaa39d}
body.concept-28 .footer-col a,body.concept-28 .footer-col p{color:#ddd7d1}
body.concept-28 .dark .geo{border-color:#736c65}
body.concept-28 .editorial-ribbon span{color:#2a2826}
body.concept-28 .step .num{color:var(--gold)}
body.concept-28 .page-hero .breadcrumbs{color:#59544f}
body.concept-28 .brand-copy span,body.concept-28 .lang{color:#55514d}
body.concept-28 .lead,body.concept-28 .service-body p,body.concept-28 .step p,body.concept-28 .quote p,body.concept-28 .notice,body.concept-28 .faq-list details p{font-weight:450}
body.concept-28 .display,body.concept-28 .h2,body.concept-28 h1,body.concept-28 h2,body.concept-28 h3{text-wrap:balance}
body.concept-28 p,body.concept-28 .lead{text-wrap:pretty}

/* Display/headline: no overlapping lines, no mid-word breaks sitewide */
body.concept-28 .display,
body.concept-28 .h2,
body.concept-28 h1.display,
body.concept-28 h2.h2{
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
  text-wrap:balance;
}
body.concept-28 .display{
  line-height:1.1;
  letter-spacing:-.03em;
}
body.concept-28 .h2{
  line-height:1.14;
  letter-spacing:-.02em;
}
body.concept-28 .hero-copy .display{
  font-size:clamp(3.1rem,6.4vw,6.8rem);
  line-height:1.02;
  text-transform:uppercase;
  text-wrap:pretty;
  max-width:12ch;
}
body.concept-28 .page-hero .display{
  font-size:clamp(2.05rem,4.4vw,4.1rem);
  line-height:1.16;
  letter-spacing:-.025em;
  max-width:min(920px,100%);
  text-transform:uppercase;
  margin:0 0 .4rem;
}
body.concept-28 .page-hero .lead{
  margin-top:1.1rem;
  max-width:42rem;
}
body.concept-28 .section-head .h2,
body.concept-28 .split-copy .h2,
body.concept-28 .cta .h2,
body.concept-28 .quote .h2{
  line-height:1.14;
}
@media(max-width:980px){
  body.concept-28 .page-hero .display{
    font-size:clamp(1.95rem,5.8vw,3.2rem);
    line-height:1.18;
  }
  body.concept-28 .hero-copy .display{
    font-size:clamp(2.8rem,9.5vw,4.8rem);
    line-height:1.05;
    max-width:none;
  }
  body.concept-28 .h2{
    font-size:clamp(1.9rem,4.8vw,3.2rem);
    line-height:1.16;
  }
}
@media(max-width:680px){
  body.concept-28 .eyebrow{font-size:.74rem;letter-spacing:.15em}
  body.concept-28 .lead{line-height:1.62}
  body.concept-28 .hero-note{font-size:.79rem;line-height:1.55}
  body.concept-28 .page-hero .display{
    font-size:clamp(1.75rem,7.8vw,2.55rem);
    line-height:1.2;
  }
  body.concept-28 .hero-copy .display{
    font-size:clamp(2.55rem,11.5vw,3.8rem);
    line-height:1.06;
  }
  body.concept-28 .h2{
    font-size:clamp(1.75rem,7.2vw,2.6rem);
    line-height:1.18;
  }
}


/* --- Footer icons + contact studio (2026-09) --- */
.footer-ico-link{
  display:flex !important;
  align-items:flex-start;
  gap:10px;
  margin:8px 0 !important;
  min-height:34px;
  line-height:1.35;
  text-decoration:none;
}
.footer-ico-link > span:last-child{flex:1;min-width:0}
.footer-ico{
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin-top:2px;
  color:#c9c2ba;
  display:grid;
  place-items:center;
}
.footer-ico svg{width:18px;height:18px;display:block}
.footer-ico-link--addr{align-items:flex-start}
.footer-col--contact .footer-ico-link:hover .footer-ico,
.footer-col--social .footer-ico-link:hover .footer-ico{color:#fff}
.footer-col--social .footer-ico-link{align-items:center}





/* Desktop: float icons clean, square, never over footer content awkwardly */
body.concept-28 .social-float{
  right:max(18px,env(safe-area-inset-right));
  bottom:max(18px,env(safe-area-inset-bottom));
  left:auto;
  flex-direction:column;
  gap:10px;
  z-index:900;
}
body.concept-28 .social-float a{
  width:48px;height:48px;border-radius:0!important;
}
body.cms-live-mode.concept-28 .social-float{opacity:.35;pointer-events:none}

@media (max-width: 900px) {
  .site-footer{padding:48px 0 32px}
  .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:28px 22px;
    align-items:start;
  }
  .footer-grid > :first-child{
    grid-column:1 / -1;
    text-align:center;
  }
  .footer-grid > :first-child .footer-logo-wrap,
  .footer-grid > :first-child p{
    margin-left:auto;margin-right:auto;
  }
  .footer-col{min-width:0}
  .footer-ico-link{min-height:40px;align-items:center}
  .footer-ico{margin-top:0}
  /* Tablet: float stays right; hide in live edit */
  body.cms-live-mode.concept-28 .social-float{display:none!important}
}
@media (max-width: 680px) {
  .footer-grid{grid-template-columns:1fr;gap:20px}
  .footer-col{
    padding-bottom:16px;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .footer-col:last-of-type{border-bottom:0;padding-bottom:0}
  .footer-title{margin-bottom:10px}
  .footer-bottom{
    text-align:center;
    justify-content:center;
    margin-top:28px;
    padding-top:18px;
  }
  .site-footer{padding-bottom:28px}
  /* Mobile CTA bar owns quick contact — hide float to avoid double icons */
  body.concept-28 .social-float{display:none!important}
}
@media (max-width: 620px) {
  .footer-grid > :first-child{text-align:left}
  .footer-grid > :first-child .footer-logo-wrap,
  .footer-grid > :first-child p{margin-left:0;margin-right:0}
}

/* --- contact map embed --- */
.contact-address{
  padding-top:28px !important;
  margin-top:10px !important;
  border-top:1px solid rgba(255,255,255,.2);
}
.contact-address > span{
  display:block;
}
.contact-address-body{
  margin-top:14px;
  display:grid;
  gap:8px;
}
.contact-studio{
  margin:0 !important;
  color:#fff !important;
  font-size:1.02rem !important;
  line-height:1.4 !important;
  letter-spacing:-.01em;
}
.contact-street{
  margin:0 !important;
  color:#d8d2cc !important;
  font-size:.92rem !important;
  line-height:1.55 !important;
}
.contact-studio-web{
  display:inline-flex;
  width:fit-content;
  margin:2px 0 0;
  color:#fff;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none !important;
  border-bottom:1px solid rgba(255,255,255,.35);
  padding-bottom:2px;
}
.contact-studio-web:hover{
  border-bottom-color:#fff;
}
.contact-map-panel{
  margin-top:20px;
  margin-left:-40px;
  margin-right:-40px;
  margin-bottom:-44px;
  background:#0a0908;
}
.contact-map-embed{
  margin:0;
  border:0;
  overflow:hidden;
  height:172px;
  background:#141312;
}
.contact-map-embed iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  filter:grayscale(.4) contrast(1.08) brightness(.92);
}
.contact-map-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:15px 40px;
  margin:0 !important;
  color:#fff !important;
  text-decoration:none !important;
  font-size:.68rem;
  font-weight:750;
  letter-spacing:.12em;
  text-transform:uppercase;
  border-top:1px solid rgba(255,255,255,.12);
  background:#111;
  transition:background .18s ease,color .18s ease;
}
.contact-map-cta:hover{
  background:var(--red);
  color:#fff !important;
}
.contact-countries{
  margin-top:58px !important;
  padding-top:24px !important;
}
@media (max-width:980px){
  .contact-map-panel{
    margin-left:-30px;
    margin-right:-30px;
    margin-bottom:-30px;
  }
  .contact-map-cta{padding-left:30px;padding-right:30px}
  .contact-card-pro{padding-bottom:0}
}
@media (max-width:680px){
  .contact-map-panel{
    margin-left:-24px;
    margin-right:-24px;
    margin-bottom:-30px;
  }
  .contact-map-embed{height:150px}
  .contact-map-cta{padding:14px 24px;font-size:.64rem}
  .contact-studio{font-size:.98rem !important}
  .contact-countries{margin-top:48px !important}
}

/* --- footer balance --- */
body.concept-28 .site-footer{
  padding:64px 0 28px;
}
/* Brand left, link columns packed right — avoids the dead zone in a 4-equal grid */
body.concept-28 .footer-grid{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:flex-start;
  gap:28px 40px;
}
body.concept-28 .footer-grid > :first-child{
  flex:0 1 440px;
  max-width:min(440px,100%);
  margin-right:clamp(20px,4vw,72px);
}
body.concept-28 .footer-grid > :nth-child(n+2){
  flex:0 0 auto;
  min-width:150px;
}
body.concept-28 .footer-logo-wrap{
  max-width:min(440px,100%) !important;
}
body.concept-28 .footer-logo{
  width:min(440px,100%) !important;
  max-width:100% !important;
}
body.concept-28 .footer-grid > :first-child > p{
  max-width:38ch !important;
  margin-top:14px !important;
  font-size:.9rem !important;
  line-height:1.55 !important;
  color:#cfc8c1 !important;
}
body.concept-28 .footer-title{
  margin-bottom:16px;
}
body.concept-28 .footer-col a,
body.concept-28 .footer-ico-link{
  margin:6px 0 !important;
}
body.concept-28 .footer-bottom{
  margin-top:42px;
}
.footer-bottom .footer-copy{
  display:inline-flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0.35rem 0.45rem;
}
.footer-powered-by{
  display:inline-flex;
  align-items:center;
  gap:0.3rem;
  flex:0 0 auto;
  color:inherit;
}
.footer-powered-by-label{
  font-size:0.75rem;
  font-weight:600;
  letter-spacing:0.02em;
  text-transform:lowercase;
  white-space:nowrap;
}
.footer-powered-icon{
  display:inline-block;
  width:2.5rem;
  height:2.5rem;
  object-fit:contain;
  flex:0 0 auto;
  vertical-align:middle;
}
@media (max-width:1100px){
  body.concept-28 .footer-grid{gap:24px 32px}
  body.concept-28 .footer-grid > :first-child{flex-basis:360px;max-width:360px}
  body.concept-28 .footer-logo,
  body.concept-28 .footer-logo-wrap{
    max-width:min(360px,100%) !important;
  }
  body.concept-28 .footer-logo{width:min(360px,100%) !important}
}
@media (max-width:900px){
  body.concept-28 .footer-grid > :first-child{
    flex:1 1 100%;
    max-width:none;
    margin-right:0;
  }
  body.concept-28 .footer-logo,
  body.concept-28 .footer-logo-wrap{
    max-width:min(340px,100%) !important;
  }
  body.concept-28 .footer-logo{width:min(340px,100%) !important}
}
@media (max-width:620px){
  body.concept-28 .footer-grid > :nth-child(n+2){
    flex:1 1 100%;
    min-width:0;
  }
  body.concept-28 .footer-logo,
  body.concept-28 .footer-logo-wrap{
    max-width:min(300px,92vw) !important;
  }
  body.concept-28 .footer-logo{width:min(300px,92vw) !important}
}

/* --- inquiry form --- */
.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}
.form.form--inquiry{display:flex;flex-direction:column;gap:0}
.form-block{padding:28px 0;border-top:1px solid var(--line)}
.form-block:first-of-type{border-top:0;padding-top:4px}
.form-block__head{display:flex;align-items:flex-start;gap:16px;margin-bottom:18px}
.form-block__num{font:400 1.35rem Georgia,serif;color:var(--gold);letter-spacing:.04em;line-height:1;min-width:2ch}
.form-block__title{font:400 1.35rem Georgia,serif;margin:0;letter-spacing:-.02em}
.form-block__hint{margin:4px 0 0;font-size:.82rem;color:var(--muted)}
.form-block__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
.form--inquiry .field label{font-size:.66rem;letter-spacing:.11em;color:#5c564f}
.form--inquiry .field input,
.form--inquiry .field textarea,
.form--inquiry .field select{
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  padding:12px 2px 13px;
  min-height:48px;
  transition:border-color .18s ease, background .18s ease;
}
.form--inquiry .field textarea{
  border:1px solid var(--line);
  background:var(--ivory);
  padding:14px 16px;
  min-height:160px;
}
.form--inquiry .field input:focus,
.form--inquiry .field textarea:focus,
.form--inquiry .field select:focus{
  border-color:var(--ink);
  box-shadow:none;
  background:rgba(247,243,237,.55);
}
.form--inquiry .field textarea:focus{background:#fff}
.service-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.service-choice{
  position:relative;
  display:block;
  border:1px solid var(--line);
  background:var(--paper);
  padding:16px 14px;
  cursor:pointer;
  transition:border-color .18s ease, background .18s ease, transform .18s ease;
  min-height:96px;
}
.service-choice:hover{border-color:#b7aea3}
.service-choice:has(input:checked){
  border-color:var(--red);
  background:linear-gradient(180deg,#fff 0%,#fff6f4 100%);
}
.service-choice input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.service-choice__text{display:flex;flex-direction:column;gap:6px}
.service-choice__text strong{
  font:400 1.05rem Georgia,serif;
  letter-spacing:-.01em;
}
.service-choice__text em{
  font-style:normal;
  font-size:.78rem;
  color:var(--muted);
  line-height:1.4;
}
.form--inquiry .consent{
  margin-top:8px;
  padding:18px 0 6px;
  border-top:1px solid var(--line);
}
.form--inquiry .form-actions{padding-top:8px}
@media (max-width:900px){
  .service-choices{grid-template-columns:1fr}
  .service-choice{min-height:0}
}
@media (max-width:680px){
  .form-block__grid{grid-template-columns:1fr;gap:14px}
  .form-block{padding:22px 0}
  .form-block__head{gap:12px;margin-bottom:14px}
  .form-block__title{font-size:1.2rem}
  .form--inquiry .field input,
  .form--inquiry .field select{font-size:16px} /* iOS zoom prevent */
  .form--inquiry .field textarea{font-size:16px;min-height:140px}
}

/* === EDITORIAL MEDIA 2026-09-23: portfolio rows, wedding films, balanced tiles === */
/* Justified photo rows: each photo's width follows its own aspect ratio (--r),
   so a row shares one height and nothing is cropped. Mobile stacks full width. */
.pf-rows{display:grid;gap:14px}
.pf-row{display:flex;gap:14px;align-items:flex-start}
.pf-photo{flex:var(--r,1) 1 0;min-width:0;margin:0;aspect-ratio:var(--r,1);overflow:hidden;background:#ebe7e1}
.pf-photo img{display:block;width:100%;height:100%;object-fit:cover;transform:none!important}
.pf-photo .lightbox-trigger{all:unset;display:block;width:100%;height:100%;cursor:zoom-in}
.pf-photo .lightbox-trigger:focus-visible{outline:2px solid var(--red);outline-offset:3px}
/* Quadrat nur für Stadt-/Archiv-Kacheln. Inspirim nutzt pf-row--natural und --r. */
.pf-row--even .pf-photo{flex:1 1 0;aspect-ratio:1}
/* Slot-Galerien: eine unvollständige letzte Reihe behält die Kachelgrösse statt die volle Breite zu füllen. */
.pf-rows--cols .pf-row--even .pf-photo{flex:0 0 calc((100% - (var(--pf-cols,4) - 1) * 14px) / var(--pf-cols,4))}
.pf-row--natural .pf-photo{flex:var(--r,1) 1 0;aspect-ratio:var(--r,1)}
.pf-row--lead .pf-photo{flex:1 1 100%;width:100%;aspect-ratio:var(--r,1.5)}
/* Inspirim Editorial: etwas mehr Luft, Lead mit Personen-Focal (object-position) */
.media-editorial .pf-rows{gap:18px}
.media-editorial .pf-row{gap:18px}
.media-editorial .pf-row--lead .pf-photo{aspect-ratio:var(--r,1.55);max-height:min(78vh,860px)}
.media-editorial .pf-row--lead .pf-photo img{object-fit:cover}
.pf-photo:has(.pf-caption){position:relative}
.pf-caption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:18px 12px 10px;font-size:.78rem;line-height:1.35;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.6))}
.pf-section{padding-top:72px;padding-bottom:88px}
.media-films-more{margin:32px 0 0}
/* === MEDIA FORMAT SYSTEM 2026-09-25: konsistente redaktionelle Formate ===
   Grid-Kacheln 1:1 · Feed-Karte 3:2 · Feed volle Breite 2.4:1 Breitbild · Film 16:9 */
.media-feed .feature .pf-photo.feed-media{aspect-ratio:3/2;flex:none;width:100%}
.feature-list--balanced > .feature:last-child:nth-child(odd) .pf-photo.feed-media{aspect-ratio:2.4/1}
@media(max-width:700px){.feature-list--balanced > .feature:last-child:nth-child(odd) .pf-photo.feed-media{aspect-ratio:3/2}}
/* «Shiko më shumë» — nachgeladene Galerie-Seiten */
.media-browse-more{margin:26px 0 0}
.media-recent .media-more{margin:26px 0 0}
.media-browse-more .btn[disabled]{opacity:.55;cursor:default}
.media-browse-status{font-size:.8rem;color:var(--muted);margin-left:14px}


/* Wedding films: always 16:9, poster first, player on demand. */
.film-card{margin:0;min-width:0}
.film-frame{position:relative;aspect-ratio:16/9;background:#0e0d0c;overflow:hidden}
.film-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.film-poster{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.film-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.22))}
.film-play-icon{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:rgba(17,17,17,.6);border:1px solid rgba(255,255,255,.75);transition:background .2s ease,border-color .2s ease}
.film-play-icon:before{content:"";margin-left:5px;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent #fff}
.film-play:hover .film-play-icon,.film-play:focus-visible .film-play-icon{background:var(--red);border-color:var(--red)}
.film-play:focus-visible{outline:2px solid #fff;outline-offset:-8px}
.film-meta{padding-top:18px}
.film-meta .eyebrow{margin:0 0 8px}
.film-title{margin:0 0 14px;font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(1.15rem,1.6vw,1.45rem);line-height:1.2;letter-spacing:-.01em;text-transform:none}
.film-card--featured{margin-bottom:64px}
.film-card--featured .film-title{font-size:clamp(1.45rem,2.4vw,2.1rem)}
.film-card--featured .film-play-icon{width:96px;height:96px}
.film-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 32px}
/* Portfolio: films sit in one calm dark band between the photo sets. */
.media-films--portfolio{background:#111;color:#fff}
body.concept-28 .media-films--portfolio .section-head{border-top-color:#fff}
.media-films--portfolio .h2,.media-films--portfolio .film-title{color:#fff}
.media-films--portfolio .lead{color:#cfc8c0}
.media-films--portfolio .eyebrow{color:#f0cfb8}
.media-films--portfolio .text-link{color:#fff}

/* 2-column tile lists: a lone last tile spans the row instead of leaving an empty grey cell. */
.feature-list--balanced > .feature:last-child:nth-child(odd){grid-column:1/-1}
.feature--visual{position:relative;min-height:280px;padding:0;overflow:hidden;background:#111}
.feature--visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feature--visual .feature-visual-link{position:absolute;inset:0;display:flex;align-items:flex-end;padding:24px 26px;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.55));font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.feature--visual .feature-visual-link:focus-visible{outline:2px solid #fff;outline-offset:-8px}
/* 16:9 images in cards: a fixed card image height must never override the ratio (cut logos). */
img.media-16x9{height:auto!important;aspect-ratio:16/9!important;object-fit:cover}

/* Geo page hero with a verified film still. */
.geo-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
.geo-hero-visual{margin:0}
.geo-hero-visual figcaption{margin-top:12px;font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}

@media(max-width:900px){
  .film-grid{gap:44px 20px}
  .geo-hero-grid{grid-template-columns:1fr;gap:32px}
}
@media(max-width:680px){
  .pf-rows{gap:10px}
  .pf-row{flex-direction:column;gap:10px}
  .pf-photo{flex:none;width:100%}
  /* Same specificity as the desktop .pf-row--even rule: flex-basis 0 in a column collapsed the photos to height 0. */
  .pf-row--even .pf-photo,.pf-rows--cols .pf-row--even .pf-photo{flex:0 0 auto;width:100%}
  .pf-row--natural .pf-photo,.pf-row--lead .pf-photo{flex:0 0 auto;width:100%;aspect-ratio:var(--r,1)}
  .pf-section{padding-top:48px;padding-bottom:56px}
  .film-grid{grid-template-columns:1fr;gap:40px}
  .film-card--featured{margin-bottom:40px}
  .film-play-icon,.film-card--featured .film-play-icon{width:64px;height:64px}
  .feature--visual{min-height:240px}
}

/* === DESKTOP HEADER 2026-09-23: single-line navigation, no wrapped labels === */
/* The CMS logo sizing keeps the brand at up to 298px, so the full navigation only fits on one line from
   1340px. Narrower desktops use the existing menu panel instead of breaking nav labels onto two lines. */
@media(min-width:1081px) and (max-width:1339px){
  .site-header .nav{display:none}
  .menu-btn{display:block!important}
  .mobile-panel{position:fixed;z-index:999;top:var(--header);left:auto;right:0;width:420px;background:var(--paper);border-bottom:1px solid var(--line);border-left:1px solid var(--line);padding:18px 28px 26px;max-height:calc(100dvh - var(--header));overflow:auto;scrollbar-width:none;overscroll-behavior:contain}
  .mobile-panel::-webkit-scrollbar{display:none}
  .mobile-panel.open{display:block}
  .mobile-panel a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
}
@media(min-width:1340px){
  .site-header .header-inner{gap:28px}
  .site-header .nav{flex:1 1 auto;justify-content:space-between;gap:14px}
  .site-header .nav>*{flex-shrink:0}
  .site-header .nav>a,.site-header .nav .drop>a{white-space:nowrap;letter-spacing:.12em}
}
@media(min-width:1340px) and (max-width:1400px){
  .site-header .nav>a,.site-header .nav .drop>a{font-size:.64rem;letter-spacing:.1em}
}

/* === HEADER MICRO-POLISH 2026-09-23: one baseline for all nav items, centred panel CTA === */
/* Dropdown triggers were inline inside a block .drop, so the parent's 16px/24.8px line box pushed their text
   ~1.3px below the direct links (flex items). Laying out .drop as flex gives every trigger the same box;
   the dropdown offset is re-anchored so it opens at exactly the same place as before. */
@media(min-width:1340px){
  .site-header .nav .drop{display:flex;align-items:center}
  .site-header .nav .drop-menu{top:calc(100% + 26px)}
  .site-header .nav>a.lang{font-size:.66rem!important;color:#3a3632}
  .site-header .nav .nav-cta{border-bottom-width:1px}
}
@media(min-width:1340px) and (max-width:1400px){
  .site-header .nav>a.lang{font-size:.64rem!important}
}
/* Tablet/small-desktop menu panel: centre the CTA like the phone layout instead of sticking to its left edge. */
@media(min-width:681px) and (max-width:1339px){
  .mobile-panel a.btn{display:flex;align-items:center;justify-content:center;padding:12px 20px}
}

/* --- consent-gated third-party media (maps, external video) --- */
.consent-embed{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;height:100%;min-height:140px;padding:16px;text-align:center;background:#141312;color:#e9e4da;box-sizing:border-box}
.consent-embed__text{margin:0;font-size:.8rem;line-height:1.4;max-width:34ch;color:#cfc8bb}
.consent-embed__btn{cursor:pointer;border:1px solid rgba(255,255,255,.6);background:transparent;color:#fff;font:inherit;font-size:.68rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase;padding:9px 16px;border-radius:2px;transition:background .18s ease,border-color .18s ease}
.consent-embed__btn:hover,.consent-embed__btn:focus-visible{background:var(--red,#8b1e1e);border-color:var(--red,#8b1e1e)}
.contact-map-embed .consent-embed{min-height:0}

/* Section-head mit Medien: Text links, zwei passende Motive rechts (Çfarë merrni). */
.section-head--with-media{
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:clamp(28px,4vw,56px);
  align-items:center;
  margin-bottom:42px;
}
.section-head--with-media .section-head__copy .eyebrow{margin-bottom:14px}
.section-head--with-media .section-head__copy .h2{margin:0 0 14px}
.section-head--with-media .section-head__copy .lead{margin:0;max-width:38ch}
.section-head--with-media .media-embed{
  min-width:0;
}
.section-head--with-media .media-embed .pf-rows,
.section-head--with-media .media-embed .pf-row{
  margin:0;
  gap:12px;
  height:auto;
}
/* Zwei gleiche Kacheln, begrenzte Höhe — kein einzelnes Hochformat. */
.section-head--with-media .media-embed .pf-row--even .pf-photo,
.section-head--with-media .media-embed .pf-photo{
  flex:1 1 0;
  aspect-ratio:1 / 1;
  max-height:min(280px,34vw);
  min-height:0;
  border-radius:0;
}
.section-head--with-media .media-embed .pf-photo img{
  object-fit:cover;
}
.section-head--with-media .media-more{display:none}
@media (max-width:980px){
  .section-head--with-media{
    grid-template-columns:1fr;
    gap:22px;
    margin-bottom:34px;
  }
  .section-head--with-media .media-embed .pf-photo{
    max-height:min(240px,48vw);
  }
}
/* Eigenständige Pfeil-Links: Trefferfläche mind. 24px hoch (WCAG 2.5.8), ohne Layout-Verschiebung. */
.text-link{position:relative}.text-link::after{content:"";position:absolute;left:-4px;right:-4px;top:50%;height:100%;min-height:24px;transform:translateY(-50%)}
/* Links im Fliesstext in Absatzschrift; Absätze mit Pfeil-Links (↗) sind Link-Reihen und behalten den CTA-Stil. */
p:not(:has(.text-link b)) .text-link{font-size:inherit;letter-spacing:inherit;text-transform:none;font-weight:600;color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}p:not(:has(.text-link b)) .text-link::after{content:none}
