/* MAR V12 — mobile & tablet responsive refinements; desktop remains unchanged. */
:root { --mar-mobile-gutter: clamp(18px, 5vw, 30px); }
@media(max-width: 1024px) {
  html { scroll-padding-top: 78px; }
  body { min-width: 0; overflow-x: clip; }
  .header { position: sticky; top: 0; z-index: 800; }
  .header .nav { z-index: 850; }
  .header-actions { flex-shrink: 0; }
  .nav-contact { display: none; }
  .brand { min-width: 0; flex-shrink: 1; gap: 9px; }
  .brand .mar-official-mark { width: clamp(70px, 10vw, 88px); height: auto; }
  .brand .brand-name { font-size: 9px; letter-spacing: .12em; }
  .header .menu { display: block; flex: 0 0 auto; min-width: 44px; min-height: 44px; padding: 10px; position: relative; z-index: 900; }
  .header .menu span { height: 2px; width: 23px; margin: 6px auto; }
  .header .nav { display: none; position:absolute; top:100%; left:0; right:0; width:100%; max-height:calc(100dvh - 72px); overflow-y:auto; overscroll-behavior:contain; padding:20px var(--mar-mobile-gutter) 28px; gap:0; flex-direction:column; align-items:stretch; background:#191714; border-top:1px solid #4d4030; box-shadow:0 22px 36px #0009; white-space:normal; }
  .header .nav.open { display:flex; }
  .header .nav > a, .header .nav .site-drop-trigger { display:block; width:100%; padding:13px 2px; font-size:15px; line-height:1.5; border-bottom:1px solid #ffffff19; color:#f1e7d8; }
  .header .nav .site-drop { display:block; position:static; }
  .header .nav .site-drop-trigger:after { float:right; }
  .header .nav .site-drop-panel { display:block; width:100%; position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; background:transparent; padding:6px 0 9px 14px; }
  .header .nav .site-drop-panel a { display:block; padding:10px 10px 10px 14px !important; white-space:normal; font-size:13px; color:#d8c3a0 !important; border-left:1px solid #82653c; }
  body[dir=rtl] .header .nav .site-drop-panel { padding:6px 14px 9px 0; }
  body[dir=rtl] .header .nav .site-drop-panel a { border-left:0; border-right:1px solid #82653c; padding-right:14px !important; }
  .intro-grid,.contact-grid,.service-intro { min-width:0; }
  .intro-grid > *, .contact-grid > *, .service-intro > * { min-width:0; }
  .section, .service-content, .service-next { scroll-margin-top:74px; }
  .service-next { padding:66px var(--mar-mobile-gutter); }
  .mar-gallery__grid { gap:20px; }
  .mar-gallery__tile { min-width:0; }
  .visual-caption { overflow-wrap:anywhere; }
}
@media (max-width: 700px) {
  .header { height:70px; padding:0 var(--mar-mobile-gutter); gap:10px; }
  .header .nav { max-height:calc(100dvh - 70px); }
  .header .brand-name { display:block !important; font-size:8px; letter-spacing:.08em; max-width:124px; white-space:normal !important; line-height:1.3; }
  .header .brand-rule { height:22px; }
  .header .brand .mar-official-mark { width:71px; max-height:42px; }
  .header-actions { gap:4px; }
  .lang { padding:9px 5px; font-size:12px; min-width:48px; }
  .menu { min-width:44px; }
  .hero { height:auto !important; min-height: min(760px, calc(100svh - 70px)) !important; display:flex; flex-direction:column; justify-content:center; }
  .hero-bg { background-position: 56% center !important; }
  .hero-overlay { background:linear-gradient(90deg, #070707d9 0%, #0707078a 65%, #07070740 100%) !important; }
  .hero-content { width:100%; padding:78px var(--mar-mobile-gutter) 130px !important; margin:0; }
  .hero h1 { font-size:clamp(39px, 10.5vw, 65px) !important; line-height:1.09 !important; margin:24px 0 18px; overflow-wrap:break-word; }
  .hero p { max-width:410px; font-size:13px; line-height:1.8; }
  .hero .eyebrow { font-size:9px; letter-spacing:.16em; }
  .hero-foot { left:var(--mar-mobile-gutter) !important; right:var(--mar-mobile-gutter) !important; bottom:24px !important; top:auto !important; display:flex; align-items:start; gap:12px; font-size:8px; line-height:1.5; letter-spacing:.08em; }
  .hero-foot > * { min-width:0; }
  .hero-side { display:none; }
  .hero-buttons { gap:8px; }
  .btn { padding:15px 17px; min-height:46px; }
  .section { padding:64px var(--mar-mobile-gutter); }
  .display { font-size:clamp(39px, 10vw, 54px) !important; overflow-wrap:break-word; line-height:1.14; }
  .section-heading { gap:12px; margin-bottom:29px; }
  .service-grid { grid-template-columns:1fr !important; }
  .service-grid .service-card, .service-grid .service-card-link { min-height:235px !important; }
  .visual { min-height:0 !important; height: min(66vw, 330px) !important; }
  .visual > img { object-position:center 45% !important; }
  .visual .visual-caption { padding:18px var(--mar-mobile-gutter) !important; left:0 !important; right:0 !important; bottom:0 !important; flex-direction:column; gap:5px; }
  .statement { min-height:380px; height:auto; }
  .statement-inner { padding:62px var(--mar-mobile-gutter); }
  .statement blockquote { font-size:clamp(38px, 9.5vw, 58px) !important; line-height:1.23; }
  .location-list { gap:24px; margin-top:34px; }
  .contact-grid { grid-template-columns:1fr !important; gap:30px !important; }
  .form-wrap { padding:26px 17px !important; }
  .form-wrap h3 { font-size:clamp(32px,8vw,39px); }
  #inquiry { grid-template-columns:1fr !important; gap:16px; }
  #inquiry label, #inquiry .full { min-width:0; grid-column:1/-1; }
  #inquiry input,#inquiry textarea,#inquiry select { box-sizing:border-box; font-size:16px; min-height:46px; }
  #inquiry textarea { min-height:132px; }
  #inquiry .cf-turnstile { min-width:0; max-width:100%; overflow:hidden; }
  #inquiry button[type=submit] { min-height:50px; }
  .identity-reference-grid,.identity-brand-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:9px !important; }
  .identity-card { min-height:144px !important; padding:9px !important; }
  .identity-media { height:85px !important; }
  .identity-media img { max-height:65px !important; width:auto; max-width:100%; object-fit:contain; }
  .reference-grid { grid-template-columns:1fr; }
  .ref-switch { gap:7px; }
  .ref-btn { padding:10px 12px; font-size:11px; }
  .footer-top { gap:21px; padding-bottom:36px; }
  .footer-bottom { gap:13px; }
  .footer .footer-official-logo { max-width:200px; width: min(200px, 55vw); height:auto; }
  .service-hero { min-height: min(590px, 80svh) !important; padding:125px var(--mar-mobile-gutter) 65px !important; align-items:end; }
  .service-hero:before { background-position:center center !important; }
  .service-hero h1 { font-size:clamp(39px,10vw,65px) !important; line-height:1.12; overflow-wrap:break-word; }
  .service-hero p { font-size:14px; line-height:1.7; }
  .service-content { padding:65px var(--mar-mobile-gutter); }
  .service-intro { margin-bottom:28px; gap:14px; }
  .service-intro h2 { font-size:clamp(33px, 8.5vw, 49px); }
  .service-detail-grid { grid-template-columns:1fr !important; gap:12px; }
  .service-detail { min-height:0; padding:25px; }
  .service-detail h3 { font-size:27px; }
  .mar-gallery { padding:65px var(--mar-mobile-gutter) 75px !important; }
  .mar-gallery__wrap, .mar-gallery__grid { width:100%; max-width:100%; }
  .mar-gallery__grid { grid-template-columns:1fr !important; gap:27px !important; }
  .mar-gallery__grid > .mar-gallery__tile { grid-column:1/-1 !important; margin:0 !important; }
  .mar-gallery__frame { width:100%; height:auto !important; aspect-ratio: 16 / 10 !important; }
  .mar-gallery__tile figcaption { font-size:10px; line-height:1.5; letter-spacing:.06em; }
  .service-next { padding:62px var(--mar-mobile-gutter); }
  .service-next a { max-width:100%; white-space:normal; }
  body[dir=rtl] .hero h1 { font-size:clamp(33px, 9vw, 53px) !important; line-height:1.36 !important; }
  body[dir=rtl] .service-hero h1,body[dir=rtl] .statement blockquote { line-height:1.43 !important; }
}
@media (max-width:380px) {
  .header .brand-name { font-size:7px; max-width:94px; }
  .header .brand .mar-official-mark { width:61px; }
  .header-actions { gap:0; }
  .hero h1 { font-size:37px !important; }
  .hero-foot { font-size:7px; }
  .visual { height:250px !important; }
}
@media (min-width:701px) and (max-width:1024px) {
  .header { height:72px; }
  .header .nav { max-height:calc(100dvh - 72px); }
  .service-hero { padding:130px 6vw 85px; }
  .mar-gallery__grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .mar-gallery__grid > .mar-gallery__tile { grid-column:auto !important; margin:0 !important; }
  .mar-gallery__frame { height:auto !important; aspect-ratio:16/10 !important; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
