:root { --ink:#0a192b; --deep:#071421; --gold:#b99760; --gold-light:#d7b982; --cream:#f5f2eb; --paper:#faf9f6; --muted:#6e7780; --rule:#dfdbd1; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:'Cairo',Arial,sans-serif; line-height:1.75; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.container { width:min(1320px,calc(100% - 100px)); margin-inline:auto; }
::selection { background:#b99760; color:#071421; }

/* Floating architectural navigation */
.site-header { position:fixed; z-index:60; top:18px; left:50%; transform:translateX(-50%); width:min(1320px,calc(100% - 48px)); background:rgba(250,249,246,.94); border:1px solid rgba(204,174,120,.62); border-radius:20px; box-shadow:0 18px 45px #06142334,inset 0 1px #ffffffc7; backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); transition:background .3s,box-shadow .3s; }
.site-header.scrolled { background:rgba(250,249,246,.985); box-shadow:0 14px 36px #06142345,inset 0 1px #fff; }
.site-header .container { width:calc(100% - 48px); }
.header-inner { display:flex; align-items:center; height:80px; gap:clamp(24px,4vw,62px); }
.brand { display:flex; align-items:center; flex:none; }
.brand img { width:175px; height:auto; max-height:60px; object-fit:contain; }
.main-nav { display:flex; align-items:center; gap:31px; margin-right:auto; }
.main-nav>a { font-size:13px; font-weight:800; color:#485565; position:relative; transition:color .2s; white-space:nowrap; }
.main-nav>a:after { content:""; position:absolute; bottom:-8px; right:0; width:0; height:1px; background:var(--gold); transition:width .25s; }
.main-nav>a:hover { color:var(--ink); }
.main-nav>a:hover:after { width:100%; }
.nav-index,.nav-chevron,.nav-mobile-heading,.nav-service-shortcuts,.nav-mobile-footer { display:none; }
.header-cta { background:var(--ink); color:#fff; display:inline-flex; align-items:center; gap:20px; padding:11px 20px; border-radius:10px; font-size:12px; font-weight:800; transition:background .2s,transform .2s; white-space:nowrap; }
.header-cta:hover { background:#1b3855; }
.header-cta span { color:var(--gold-light); }
.menu-toggle { display:none; background:none; border:0; padding:12px; cursor:pointer; }
.menu-toggle span { display:block; width:25px; height:1px; margin:7px 0; background:var(--ink); }
.menu-backdrop { display:none; }
.services-section,.statement-section,.contact-band { scroll-margin-top:116px; }

/* Shared language */
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:'Cairo',Arial,sans-serif; font-weight:700; letter-spacing:-.035em; }
em { font-style:normal; color:var(--gold); }
.section-kicker { display:flex; align-items:center; gap:12px; font-size:12px; font-weight:800; color:#917044; letter-spacing:.03em; }
.section-kicker .line { width:31px; height:1px; background:var(--gold); display:inline-block; }
.section-kicker.on-dark { color:#e8cb9c; }
.kicker-index { opacity:.65; margin-right:20px; direction:ltr; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:32px; padding:16px 25px; min-height:54px; font-size:13px; font-weight:800; line-height:1.2; transition:transform .25s,background .25s,box-shadow .25s; white-space:nowrap; }
.button:hover { transform:translateY(-3px); }
.button-gold { background:var(--gold); color:var(--ink); }
.button-gold:hover { background:#d2b47e; box-shadow:0 12px 25px #050e1a33; }
.button-dark { background:var(--ink); color:#fff; }
.button-dark:hover { background:#183554; }
.button svg,.line-link svg,.card-arrow svg,.related-arrow svg,.header-cta svg,.footer-wa svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.line-link { display:inline-flex; gap:14px; align-items:center; border-bottom:1px solid var(--gold); padding-bottom:9px; font-size:13px; font-weight:800; transition:gap .2s; }
.line-link:hover { gap:23px; }

/* Full-bleed cinematic hero */
.hero { position:relative; min-height:min(900px,100svh); background:var(--deep); overflow:hidden; color:#fff; display:flex; flex-direction:column; justify-content:center; }
.hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 51%; animation:heroReveal 1.3s ease-out both; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,17,31,.45) 0%,rgba(5,17,31,.72) 48%,rgba(5,17,31,.93) 100%),linear-gradient(0deg,rgba(5,17,31,.35),transparent 55%); }
.hero-border { position:absolute; inset:28px; border:1px solid rgba(213,181,125,.24); border-radius:22px; pointer-events:none; }
.hero-content { position:relative; z-index:2; padding:172px 0 115px; }
.hero-text { max-width:770px; margin-right:8%; }
.hero h1 { margin:27px 0 27px; font-size:clamp(58px,7vw,108px); line-height:1.33; color:#fff; }
.hero h1 em { color:#d3ad72; }
.hero p { font-size:17px; line-height:2.05; color:#e1e5e8; max-width:575px; margin-bottom:35px; }
.hero-actions { display:flex; align-items:center; gap:31px; flex-wrap:wrap; }
.hero-sub-link { display:inline-flex; gap:12px; align-items:center; font-size:13px; font-weight:800; border-bottom:1px solid #9e8f7b; padding:9px 0; }
.hero-sub-link span { font-size:20px; color:var(--gold-light); }
.hero-bottom { position:absolute; z-index:2; left:0; right:0; bottom:43px; display:flex; align-items:center; justify-content:space-between; font-size:11px; color:#d0c9bd; }
.hero-scroll { display:flex; align-items:center; gap:13px; }
.scroll-line { height:1px; width:35px; background:var(--gold); }
.hero-bottom-label { letter-spacing:.04em; }
@keyframes heroReveal { from { transform:scale(1.045); opacity:.7; } to { transform:scale(1); opacity:1; } }

/* Introduction */
.intro-strip { background:var(--ink); color:#fff; border-bottom:1px solid #364251; }
.intro-inner { min-height:205px; display:grid; grid-template-columns:160px 1fr 140px; gap:25px; align-items:center; }
.micro-number { font-size:11px; letter-spacing:.06em; color:var(--gold); font-weight:800; }
.intro-inner p { font-family:'Cairo',Arial,sans-serif; font-size:clamp(20px,2.3vw,31px); line-height:1.8; margin:0; }
.intro-inner p em { color:#d3ad72; }
.intro-mark { color:#5d6876; text-align:left; font-family:'Cairo',Arial,sans-serif; font-size:32px; letter-spacing:.12em; }
.intro-mark span { color:var(--gold); }

/* Editorial service gallery */
.services-section { background:var(--cream); padding:125px 0 145px; }
.section-top { display:flex; align-items:end; justify-content:space-between; gap:60px; margin-bottom:57px; }
.section-top h2,.statement-content h2,.method-heading h2,.related-section h2 { color:var(--ink); font-size:clamp(45px,5.2vw,70px); line-height:1.42; margin:14px 0 0; }
.section-side { max-width:280px; border-top:1px solid var(--gold); padding-top:15px; }
.section-side span { font-size:11px; font-weight:800; color:#9e7945; }
.section-side p { margin:10px 0 0; font-size:14px; color:#66717b; line-height:1.85; }
.services-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:18px; }
.service-card { position:relative; display:block; min-width:0; height:390px; grid-column:span 4; overflow:hidden; background:#10283c; border:1px solid rgba(186,151,96,.45); border-radius:18px; box-shadow:0 16px 32px #12243717; transition:transform .35s,box-shadow .35s; }
.service-card:nth-child(1) { grid-column:span 7; height:475px; }
.service-card:nth-child(2) { grid-column:span 5; height:475px; }
.service-card:nth-child(6),.service-card:nth-child(7),.service-card:nth-child(8) { grid-column:span 4; height:390px; }
.service-card:after { content:""; position:absolute; z-index:4; inset:9px; border:1px solid rgba(229,205,164,.25); border-radius:11px; pointer-events:none; }
.service-card:hover { transform:translateY(-5px); box-shadow:0 25px 45px #12243738; }
.card-photo { position:absolute; inset:0; overflow:hidden; background:#10283c; }
.card-photo img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.22,.61,.36,1); }
.service-card:hover .card-photo img { transform:scale(1.065); }
.card-shade { position:absolute; inset:0; background:linear-gradient(180deg,#06142375 0%,#06142309 34%,#06142338 51%,#061423e8 100%); }
.card-number { position:absolute; z-index:2; top:25px; right:27px; direction:ltr; color:#f0d3a2; font-family:'Cairo',Arial,sans-serif; letter-spacing:.16em; font-size:12px; }
.card-arrow { position:absolute; z-index:2; left:25px; top:22px; width:43px; height:43px; border-radius:50%; display:grid; place-items:center; color:#fff; border:1px solid #ffffffa8; transition:background .25s,color .25s,transform .25s; }
.service-card:hover .card-arrow { background:var(--gold); border-color:var(--gold); color:var(--ink); transform:rotate(-45deg); }
.card-copy { position:absolute; z-index:2; right:0; bottom:0; left:0; display:block; padding:38px 30px 29px; color:#fff; pointer-events:none; }
.card-tag { display:inline-flex; align-items:center; gap:9px; font-size:11px; color:#e7c48a; font-weight:800; }
.card-tag:before { content:""; width:24px; height:1px; background:var(--gold); }
.card-copy h3 { font-family:'Cairo',Arial,sans-serif; font-size:clamp(29px,2.7vw,39px); color:#fff; line-height:1.45; margin:6px 0 2px; font-weight:700; }
.card-copy p { font-size:13px; line-height:1.7; color:#e2e3df; margin:0 0 15px; max-width:440px; }
.card-cta { display:inline-flex; align-items:center; gap:9px; font-size:11px; font-weight:800; color:#e5c48a; border-bottom:1px solid #d6b77b; padding-bottom:3px; }
.card-cta span { font-size:15px; }
.service-featured .card-copy h3 { font-size:50px; }

/* Brand story */
.statement-section { display:grid; grid-template-columns:1fr 1fr; background:var(--paper); min-height:720px; }
.statement-photo { position:relative; min-height:700px; overflow:hidden; }
.statement-photo:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#061423a3,transparent 52%); }
.statement-photo img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.statement-photo-caption { position:absolute; z-index:2; right:10%; bottom:9%; color:#fff; display:flex; flex-direction:column; gap:7px; border-right:2px solid var(--gold); padding-right:20px; }
.statement-photo-caption span { font-size:11px; color:var(--gold-light); }
.statement-photo-caption b { font-family:'Cairo',Arial,sans-serif; font-size:31px; font-weight:700; }
.statement-content { padding:95px min(8vw,110px) 100px min(7vw,100px); display:flex; flex-direction:column; justify-content:center; }
.statement-content h2 { font-size:clamp(42px,4.4vw,62px); }
.statement-content>p { font-size:15px; line-height:2.15; color:#65717e; max-width:550px; margin:28px 0 32px; }
.statement-points { border-top:1px solid var(--rule); max-width:500px; }
.statement-points div { display:flex; gap:22px; align-items:center; border-bottom:1px solid var(--rule); padding:14px 0; }
.statement-points span { font-family:'Cairo',Arial,sans-serif; font-size:13px; color:var(--gold); }
.statement-points strong { font-size:14px; font-weight:800; }
.statement-content .line-link { align-self:flex-start; margin-top:34px; }

/* Process */
.method-section { background:#eae5da; padding:115px 0 130px; }
.method-heading { max-width:720px; }
.method-heading h2 { margin-bottom:60px; }
.method-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.method-num { font-family:'Cairo',Arial,sans-serif; color:#a57c45; font-size:18px; }
.method-rule { height:1px; background:#cfc5b4; margin:18px 0 25px; position:relative; }
.method-rule:before { content:""; position:absolute; top:-3px; right:0; width:7px; height:7px; border:1px solid var(--gold); border-radius:50%; background:#eae5da; }
.method-grid h3 { font-family:'Cairo',Arial,sans-serif; font-size:27px; margin:0 0 8px; }
.method-grid p { margin:0; color:#69717b; font-size:13px; line-height:1.8; max-width:210px; }

/* Conversion */
.contact-band { position:relative; min-height:520px; background:var(--deep); color:#fff; overflow:hidden; display:flex; align-items:center; }
.contact-band-image { position:absolute; inset:0; background-size:cover; background-position:center 48%; opacity:.43; }
.contact-band:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#07142194 0%,#071421de 55%,#071421f0 100%); }
.contact-content { position:relative; z-index:2; padding:95px 0; }
.contact-content h2 { font-size:clamp(51px,6vw,82px); line-height:1.38; margin:16px 0 9px; color:#fff; }
.contact-content>p { color:#cbd0d1; font-size:16px; margin-bottom:29px; }
.contact-actions { display:flex; gap:26px; align-items:center; flex-wrap:wrap; }
.contact-phone { display:flex; gap:11px; align-items:center; font-size:17px; font-weight:700; }
.contact-phone svg { width:20px; height:20px; fill:none; stroke:var(--gold-light); stroke-width:1.6; }

/* Footer */
.site-footer { background:#071421; color:#b3bbc2; }
.footer-main { display:grid; grid-template-columns:1.6fr .7fr .9fr 1fr; gap:42px; padding-top:79px; padding-bottom:70px; }
.footer-identity img { width:225px; filter:brightness(0) invert(1); opacity:.93; }
.footer-identity p { font-size:13px; line-height:2; margin:25px 0 0; }
.footer-column,.footer-contact { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.footer-main h4 { color:var(--gold-light); font-size:12px; font-weight:800; margin:0 0 18px; }
.footer-column a { font-size:13px; transition:color .2s; }
.footer-column a:hover { color:#fff; }
.footer-number { font-family:'Cairo',Arial,sans-serif; color:#fff; font-size:21px; letter-spacing:.02em; }
.footer-wa { display:inline-flex; align-items:center; gap:10px; font-size:12px; border-bottom:1px solid var(--gold); padding-bottom:5px; margin-top:5px; }
.footer-bottom { border-top:1px solid #ffffff20; display:flex; justify-content:space-between; padding:19px 0; font-size:11px; color:#76828f; }
.floating-contact { position:fixed; z-index:50; left:22px; bottom:24px; display:flex; flex-direction:column; gap:11px; align-items:center; }
.float-btn { position:relative; display:grid; place-items:center; width:56px; height:56px; flex:none; border-radius:50%; border:1px solid #d5b67b; box-shadow:inset 0 1px #ffffff3b,0 10px 25px #05111c63,0 0 0 4px #faf8f426; transition:transform .25s,box-shadow .25s; }
.float-btn:after { content:""; position:absolute; inset:4px; border:1px solid #ffffff3b; border-radius:50%; pointer-events:none; }
.float-btn:hover,.float-btn:focus-visible { transform:translateY(-4px) scale(1.04); box-shadow:inset 0 1px #ffffff54,0 16px 30px #05111c78,0 0 0 4px #d5b67b43; outline:none; }
.float-btn svg { width:23px; height:23px; }
.float-btn.call { background:linear-gradient(145deg,#29465a,#081827 70%); color:#e6c68e; }
.float-btn.call svg { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.float-btn.wa { background:linear-gradient(145deg,#2a9879,#0d604b 72%); color:#fff; }
.float-btn.wa svg { width:26px; height:26px; }
.back-to-top { position:fixed; z-index:50; right:22px; bottom:28px; display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid #d4b47d; border-radius:50%; background:rgba(10,25,43,.95); color:#e3c48c; box-shadow:0 8px 20px #05111c4d; cursor:pointer; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(8px); transition:opacity .25s,visibility .25s,transform .25s,background .25s; }
.back-to-top.visible { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0); }
.back-to-top:hover,.back-to-top:focus-visible { background:#1d3851; transform:translateY(-3px); outline:2px solid #d4b47d; outline-offset:3px; }
.back-to-top svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

/* Service details */
.detail-hero { position:relative; height:670px; background:var(--deep); color:#fff; overflow:hidden; }
.detail-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.detail-shade { position:absolute; inset:0; background:linear-gradient(90deg,#06142326,#061423a1 50%,#061423db 100%),linear-gradient(0deg,#06142375,transparent 50%); }
.detail-hero-content { position:relative; height:100%; display:flex; flex-direction:column; justify-content:space-between; padding:148px 0 82px; }
.breadcrumbs { display:flex; align-items:center; gap:10px; color:#e4e4e1; font-size:12px; }
.breadcrumbs a:hover { color:var(--gold-light); }
.breadcrumbs span:not(:last-child) { color:var(--gold); }
.detail-title { padding-right:6%; }
.detail-title h1 { font-size:clamp(75px,9vw,140px); line-height:1.35; margin:10px 0 0; color:#fff; }
.detail-title p { font-size:18px; margin:0; color:#e9e5de; }
.detail-corner { position:absolute; left:50px; bottom:45px; font-size:11px; color:#d7c5a7; writing-mode:vertical-rl; }
.detail-intro { background:var(--paper); padding:125px 0 110px; }
.detail-intro-grid { display:grid; grid-template-columns:.82fr 1fr; gap:12%; }
.detail-intro h2 { font-size:clamp(43px,4.7vw,65px); line-height:1.4; margin:18px 0 0; }
.detail-intro-copy>p { font-size:20px; color:#475666; line-height:2.1; margin:6px 0 36px; }
.detail-cta-row { display:flex; align-items:center; gap:27px; flex-wrap:wrap; }
.detail-cta-row .line-link { color:var(--ink); }
.detail-features { background:var(--cream); padding:95px 0 110px; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:35px; margin-top:40px; }
.feature-item { padding:25px 0 0; border-top:1px solid #beb6a8; }
.feature-item>span { color:var(--gold); font-family:'Cairo',Arial,sans-serif; font-size:16px; }
.feature-item h3 { font-family:'Cairo',Arial,sans-serif; font-size:26px; font-weight:700; line-height:1.5; min-height:90px; max-width:300px; margin:16px 0 26px; }
.feature-line { height:2px; width:33px; background:var(--gold); }

/* Six-image editorial gallery on every service page */
.service-gallery { background:var(--deep); color:#fff; padding:112px 0 123px; }
.gallery-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:45px; }
.gallery-heading h2 { color:#fff; font-size:clamp(44px,5.1vw,70px); line-height:1.42; margin:14px 0 0; }
.gallery-aside { width:min(320px,100%); border-right:1px solid var(--gold); padding-right:20px; color:#b9c4ca; }
.gallery-aside span { color:var(--gold-light); font-size:12px; letter-spacing:.16em; }
.gallery-aside p { margin:9px 0 0; font-size:14px; line-height:1.9; }
.gallery-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:18px; }
.gallery-tile { grid-column:span 3; position:relative; display:block; min-width:0; aspect-ratio:1.18; border:1px solid #b997606e; border-radius:15px; overflow:hidden; background:#172c3c; isolation:isolate; }
.gallery-tile:first-child { grid-column:span 7; aspect-ratio:1.6; }
.gallery-tile:nth-child(2) { grid-column:span 5; aspect-ratio:1.14; }
.gallery-tile:after { content:""; position:absolute; z-index:1; inset:0; pointer-events:none; background:linear-gradient(180deg,#06142345,transparent 42%,#061423b8); }
.gallery-tile img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease,filter .3s ease; }
.gallery-tile:hover img,.gallery-tile:focus-visible img { transform:scale(1.055); filter:brightness(1.08); }
.gallery-tile:focus-visible { outline:2px solid var(--gold-light); outline-offset:4px; }
.gallery-tile-number,.gallery-tile-caption,.gallery-tile-open { position:absolute; z-index:2; }
.gallery-tile-number { top:17px; right:19px; color:#f2d6a2; font-size:11px; font-weight:700; letter-spacing:.11em; }
.gallery-tile-caption { right:19px; bottom:16px; left:58px; font-size:14px; font-weight:800; line-height:1.5; color:#fff; }
.gallery-tile-open { display:grid; place-items:center; width:36px; height:36px; left:15px; top:15px; border:1px solid #fff9; border-radius:50%; color:#fff; }
.gallery-tile-open svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; }
.gallery-note { margin:25px 0 0; color:#aab6be; font-size:12px; }
.gallery-dialog { position:fixed; width:min(1150px,calc(100% - 30px)); max-height:calc(100dvh - 30px); padding:28px; border:1px solid var(--gold); border-radius:18px; background:#091a29; color:#fff; box-shadow:0 28px 80px #000a; }
.gallery-dialog::backdrop { background:#04101cdb; backdrop-filter:blur(9px); }
.gallery-dialog figure { margin:0; }
.gallery-dialog-image { width:100%; max-height:calc(100dvh - 190px); object-fit:contain; border-radius:10px; background:#152a3a; }
.gallery-dialog-caption { font-size:15px; font-weight:700; color:#f0e4d0; margin-top:12px; }
.gallery-close { position:absolute; z-index:2; top:38px; left:38px; display:grid; place-items:center; width:38px; height:38px; border:1px solid #fff9; border-radius:50%; background:#071421da; color:#fff; cursor:pointer; font-size:24px; line-height:1; }
.gallery-dialog-controls { display:flex; align-items:center; justify-content:center; gap:25px; margin-top:9px; }
.gallery-dialog-controls button { width:36px; height:36px; border:1px solid #c7aa74; border-radius:50%; background:transparent; color:#f0d19e; cursor:pointer; font-size:18px; }
.gallery-dialog-controls button:hover,.gallery-close:hover { background:#b99760; color:#071421; }
.gallery-dialog-count { color:#d2c0a7; direction:ltr; font-size:12px; letter-spacing:.12em; }
.related-section { background:var(--paper); padding:110px 0 130px; }
.related-top { align-items:end; }
.related-top .line-link { margin-bottom:16px; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.related-card { display:block; position:relative; height:310px; overflow:hidden; background:#10283c; border:1px solid rgba(186,151,96,.42); border-radius:16px; }
.related-card:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#06142335 0%,transparent 40%,#061423dc 100%); pointer-events:none; }
.related-image { position:absolute; inset:0; overflow:hidden; background:#263746; }
.related-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.related-card:hover img { transform:scale(1.05); }
.related-card>div:nth-child(2) { position:absolute; z-index:2; right:24px; bottom:20px; color:#fff; }
.related-card>div:nth-child(2) span { font-size:11px; color:#e4c084; font-weight:800; }
.related-card h3 { font-family:'Cairo',Arial,sans-serif; font-size:32px; font-weight:700; margin:3px 0 0; color:#fff; }
.related-arrow { position:absolute; z-index:2; left:24px; top:23px; color:#fff; border:1px solid #fff8; width:38px; height:38px; border-radius:50%; display:grid; place-items:center; }
.not-found { min-height:70vh; display:flex; align-items:center; background:var(--ink); color:#fff; padding-top:100px; }
.not-found .container>span { color:var(--gold); font-size:13px; }
.not-found h1 { font-size:clamp(45px,7vw,90px); line-height:1.4; margin:15px 0 35px; }

@media(max-width:1100px) {
  .container { width:min(100% - 64px,1100px); }
  .main-nav { gap:18px; }
  .header-inner { gap:26px; }
  .brand img { width:160px; }
  .card-copy { padding:30px 24px 23px; }
  .statement-content { padding:65px 7vw; }
  .footer-main { gap:24px; }
}
@media(max-width:800px) {
  body.menu-open { overflow:hidden; }
  .site-header { top:12px; width:calc(100% - 24px); border-radius:18px; }
  .site-header .container { width:calc(100% - 28px); }
  .header-inner { height:66px; justify-content:space-between; gap:10px; }
  .brand img { width:146px; max-height:54px; }
  .header-cta { display:none; }
  .menu-toggle { display:flex; flex-direction:column; align-items:center; justify-content:center; flex:none; width:44px; height:44px; padding:0; margin-right:auto; background:var(--ink); border:1px solid #ba985f; border-radius:12px; }
  .menu-toggle span { width:19px; height:2px; margin:3px 0; background:#e5c58b; border-radius:2px; transition:transform .25s; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(4px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-4px) rotate(-45deg); }
  .menu-backdrop:not([hidden]) { display:block; position:fixed; z-index:55; inset:0; width:100%; height:100%; border:0; background:#061423a8; backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
  .main-nav { position:absolute; top:calc(100% + 11px); right:0; left:0; margin:0; padding:25px 26px 26px; display:flex; flex-direction:column; align-items:stretch; gap:0; max-height:calc(100dvh - 112px); overflow-y:auto; overscroll-behavior:contain; background:linear-gradient(145deg,#112b3e,#071725 80%); border:1px solid rgba(213,181,125,.64); border-radius:22px; box-shadow:0 25px 60px #0008; color:#fff; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-12px) scale(.985); transform-origin:top center; transition:opacity .25s,transform .3s,visibility .3s; }
  .main-nav.open { opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0) scale(1); }
  .main-nav .nav-mobile-heading { display:flex; flex-direction:column; border-bottom:1px solid #e2c28a55; padding-bottom:19px; margin-bottom:7px; }
  .nav-mobile-heading span { font-size:11px; color:#d4b77f; font-weight:700; }
  .nav-mobile-heading strong { font-size:22px; line-height:1.6; font-weight:700; }
  .main-nav>a { display:grid; grid-template-columns:31px 1fr 20px; align-items:center; gap:12px; border-bottom:1px solid #ffffff29; padding:10px 0; color:#f8f7f3; font-size:23px; font-weight:700; }
  .main-nav>a:after { display:none; }
  .main-nav>a:hover { color:#e5c58b; }
  .main-nav .nav-index { display:inline; font-family:'Cairo',Arial,sans-serif; font-size:11px; color:#b99760; direction:ltr; }
  .main-nav .nav-chevron { display:inline; color:#d8b983; font-size:17px; }
  .main-nav .nav-service-shortcuts { display:block; padding:19px 0 15px; }
  .nav-service-shortcuts>span { font-size:11px; color:#d9bd8b; font-weight:800; }
  .nav-service-shortcuts>div { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:11px; }
  .nav-service-shortcuts a { display:block; padding:7px 10px; border:1px solid #ffffff2d; border-radius:8px; color:#dce3e6; font-size:11px; font-weight:700; transition:border-color .2s,color .2s; }
  .nav-service-shortcuts a:hover { border-color:#d1af72; color:#fff; }
  .main-nav .nav-mobile-footer { display:flex; flex-direction:column; gap:11px; border-top:1px solid #e2c28a55; padding-top:18px; }
  .nav-whatsapp { display:flex; justify-content:space-between; align-items:center; background:#c2a16d; border-radius:10px; padding:10px 15px; color:#071725; font-size:12px; font-weight:800; }
  .nav-phone { align-self:flex-start; color:#e5d6ba; font-family:'Cairo',Arial,sans-serif; font-size:13px; letter-spacing:.08em; }
  .hero { min-height:max(780px,100svh); }
  .hero-text { margin-right:0; }
  .hero-shade { background:linear-gradient(90deg,#06142370,#061423d0 100%),linear-gradient(0deg,#0614235c,transparent 55%); }
  .intro-inner { grid-template-columns:110px 1fr; }
  .intro-mark { display:none; }
  .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .services-grid .service-card { grid-column:span 1; height:390px; }
  .services-grid .service-card:first-child { grid-column:span 2; height:440px; }
  .services-grid .service-card:last-child { grid-column:span 2; height:400px; }
  .statement-section { grid-template-columns:1fr; }
  .statement-photo { min-height:440px; }
  .statement-content { padding:80px 8vw; }
  .footer-main { grid-template-columns:1.4fr 1fr; gap:42px; }
  .method-grid { grid-template-columns:repeat(2,1fr); gap:40px; }
  .detail-hero { height:600px; }
  .detail-hero-content { padding-top:118px; }
  .detail-intro-grid { gap:6%; }
  .gallery-grid .gallery-tile,.gallery-grid .gallery-tile:first-child,.gallery-grid .gallery-tile:nth-child(2) { grid-column:span 6; aspect-ratio:1.18; }
}
@media(max-width:600px) {
  .container { width:calc(100% - 36px); }
  .site-header .container { width:calc(100% - 24px); }
  .brand img { width:136px; }
  .main-nav { padding:21px 21px 24px; }
  .hero-border { inset:12px; border-radius:18px; }
  .hero-photo { object-position:44% center; }
  .hero-content { padding:155px 0 110px; }
  .hero h1 { font-size:clamp(49px,11.5vw,65px); line-height:1.45; margin:20px 0 19px; }
  .hero p { font-size:15px; line-height:1.9; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:14px; }
  .hero-bottom { bottom:26px; }
  .hero-bottom-label { display:none; }
  .intro-inner { display:block; padding:38px 0 46px; min-height:0; }
  .intro-inner p { margin-top:13px; font-size:22px; }
  .intro-inner p br { display:none; }
  .services-section { padding:79px 0 90px; }
  .section-top { display:block; margin-bottom:35px; }
  .section-top h2,.statement-content h2,.method-heading h2,.related-section h2 { font-size:clamp(42px,10vw,55px); }
  .section-side { margin-top:25px; max-width:100%; }
  .services-grid { display:block; }
  .services-grid .service-card,.services-grid .service-card:first-child { height:350px; margin-bottom:16px; }
  .services-grid .service-card:last-child { height:350px; }
  .card-copy { padding:30px 23px 22px; }
  .card-copy h3,.service-featured .card-copy h3 { font-size:37px; }
  .card-copy p { font-size:13px; max-width:300px; }
  .statement-photo { min-height:340px; }
  .statement-content { padding:72px 24px 78px; }
  .statement-content>p { font-size:14px; }
  .method-section { padding:80px 0 90px; }
  .method-heading h2 { margin-bottom:40px; }
  .method-grid { gap:35px 20px; }
  .method-grid h3 { font-size:23px; }
  .method-grid p { font-size:12px; }
  .contact-band { min-height:520px; }
  .contact-content { padding:75px 0; }
  .contact-content h2 { font-size:48px; }
  .contact-content>p { font-size:14px; }
  .contact-actions { align-items:flex-start; flex-direction:column; gap:22px; }
  .footer-main { grid-template-columns:1fr 1fr; padding:62px 0 45px; gap:34px 18px; }
  .footer-identity,.footer-contact { grid-column:span 2; }
  .footer-identity img { width:185px; }
  .footer-bottom { display:block; line-height:2; }
  .footer-bottom span { display:block; }
  .floating-contact { left:14px; bottom:max(15px,env(safe-area-inset-bottom)); gap:9px; }
  .float-btn { width:52px; height:52px; }
  .back-to-top { right:15px; bottom:max(19px,env(safe-area-inset-bottom)); width:40px; height:40px; }
  .detail-hero { height:520px; }
  .detail-hero-content { padding:115px 0 62px; }
  .detail-title { padding-right:0; }
  .detail-title h1 { font-size:clamp(72px,17vw,100px); line-height:1.3; }
  .detail-title p { font-size:16px; }
  .detail-corner { display:none; }
  .detail-intro { padding:75px 0 80px; }
  .detail-intro-grid { display:block; }
  .detail-intro h2 { font-size:45px; }
  .detail-intro-copy>p { font-size:17px; line-height:2; margin-top:28px; }
  .detail-cta-row { align-items:flex-start; flex-direction:column; }
  .detail-features { padding:70px 0 80px; }
  .feature-grid { display:block; margin-top:28px; }
  .feature-item { margin-bottom:30px; padding-top:20px; }
  .feature-item h3 { min-height:0; font-size:24px; margin:8px 0 19px; }
  .service-gallery { padding:75px 0 85px; }
  .gallery-heading { display:block; margin-bottom:28px; }
  .gallery-heading h2 { font-size:clamp(40px,10vw,54px); }
  .gallery-aside { width:100%; margin-top:22px; }
  .gallery-grid { grid-template-columns:1fr; gap:13px; }
  .gallery-grid .gallery-tile,.gallery-grid .gallery-tile:first-child,.gallery-grid .gallery-tile:nth-child(2) { grid-column:span 1; aspect-ratio:1.35; }
  .gallery-tile-caption { font-size:13px; }
  .gallery-dialog { padding:12px; border-radius:13px; }
  .gallery-dialog-image { max-height:calc(100dvh - 160px); }
  .gallery-close { top:20px; left:20px; }
  .gallery-dialog-caption { padding-inline:6px; }
  .related-section { padding:75px 0 85px; }
  .related-top .line-link { margin-top:20px; }
  .related-grid { display:block; }
  .related-card { height:290px; margin-bottom:16px; }
  .related-image { height:100%; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
