:root{--navy:#0d2d5b;--muted:#6b7280;--gold:#c9a96a;--ivory:#faf9f2;--line:#d9d4cc;--serif:'Kudrashov Mon',Georgia,serif;--body:'Kudrashov Mon',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--ivory);color:var(--navy);font-family:var(--body);font-size:14px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{background:none}p,h1,h2,h3{margin:0}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-1.5px}p{line-height:1.65}.header{min-height:106px;padding:20px 4.8%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--ivory)}.brand{display:flex;align-items:center;gap:18px;flex-shrink:0}.brand img{display:block}.brand>span{font-size:20px;font-weight:700;letter-spacing:5px;white-space:nowrap}.brand small{display:block;font-size:11px;letter-spacing:6px;margin-top:5px}.header nav,.footer nav{display:flex;align-items:center;gap:32px}nav a,nav button{position:relative;padding:10px 0;text-transform:uppercase;font-size:10px;letter-spacing:1.8px;white-space:nowrap}nav a:after,nav button:after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--gold);transition:width .2s}nav a:hover:after,nav a.active:after,nav button:hover:after{width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:44px;padding:13px 22px;font-size:10px;letter-spacing:2px;text-transform:uppercase;transition:background .2s,transform .2s;line-height:1.5}.button:hover{transform:translateY(-2px)}.button span,.text-link span{font-size:22px;font-family:Georgia;line-height:.6}.outline{border:1px solid var(--gold)}.outline:hover{background:#a58b5512}.gold{background:var(--gold);color:var(--navy)}.gold:hover{background:#b99a5c}.header-cta{font-size:9px;letter-spacing:1.4px;padding:13px 18px}.menu-toggle{display:none}.hero{position:relative;min-height:515px;overflow:hidden}.hero-art{position:absolute;right:0;top:0;width:61%;height:100%;overflow:hidden}.hero-art img{position:absolute;height:329%;max-width:none;top:-33.3%;right:-6.3%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--ivory) 0%,var(--ivory) 35%,#faf9f2ed 42%,#faf9f299 50%,transparent 64%);pointer-events:none}.hero-content{position:relative;z-index:1;padding:58px 4.8% 35px}.eyebrow{font-size:10px;letter-spacing:2.8px;text-transform:uppercase;line-height:1.5}.line{display:flex;align-items:center;gap:18px}.line:after{content:'';width:64px;height:1px;background:#9da8b5}h1{font-size:clamp(48px,5.05vw,76px);line-height:.98;margin:25px 0 22px}.hero-description{font-size:16px;line-height:1.65;color:var(--muted);margin-bottom:25px}.values{display:flex;align-items:center;gap:23px;position:relative;margin-top:48px;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted)}.values:before{content:'';position:absolute;top:-17px;left:0;width:56px;height:1px;background:var(--line)}.values i{height:12px;width:1px;background:#9da8b5}.practice{padding:34px 3% 35px}.section-label{display:flex;align-items:center;gap:36px;font-family:var(--body);font-size:12px;letter-spacing:5px;text-transform:uppercase;white-space:nowrap}.section-label:before,.section-label:after{content:'';height:1px;background:#adb8c4;flex:1}.practice-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:31px}.practice-card{position:relative;padding:0 15px 3px}.practice-card+.practice-card:before{content:'';position:absolute;left:0;top:8px;bottom:0;width:1px;background:#d7dade}.icon-circle{display:flex;align-items:center;justify-content:center;width:76px;height:76px;margin:0 auto 16px;border-radius:50%;background:#d9d4cc55;transition:background .2s,transform .2s}.practice-card:hover .icon-circle{background:#e7dfcc;transform:translateY(-3px)}svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-circle svg{width:42px;height:42px}.practice-card h3{font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:2px;margin-bottom:8px}.practice-card p{font-size:13px;line-height:1.6;color:var(--muted)}.about{display:grid;grid-template-columns:39.3% 42.2% 18.5%;border-top:1px solid #eeece7;min-height:314px}.about-art{position:relative;overflow:hidden;min-height:314px}.about-art img{position:absolute;height:521%;top:-299%;left:-8%;max-width:none}.about-content{padding:30px 28px 25px 44px}.about h2{font-size:39px;line-height:1.02;margin:18px 0 17px}.about-content>p:not(.eyebrow){font-size:11px;color:var(--muted);line-height:1.8}.text-link{padding:0 0 9px;margin-top:21px;border-bottom:2px solid var(--gold);text-transform:uppercase;letter-spacing:2px;font-size:10px;display:flex;align-items:center;gap:15px}.about-aside{margin:30px 0;padding:18px 20px 10px 34px;border-left:1px solid var(--line);font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted)}.about-aside p{line-height:1.9}.about-aside>span{display:block;width:59px;height:2px;background:var(--gold);margin:21px 0 29px}.contact{position:relative;overflow:hidden;min-height:242px;background:#0d2d5b;color:#fff}.contact-art{position:absolute;inset:0;overflow:hidden;opacity:.8}.contact-art img{position:absolute;height:687%;top:-526%;right:-4%;max-width:none}.contact:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0d2d5b 0%,#0d2d5bee 39%,#0d2d5b10 72%)}.contact-content{position:relative;z-index:1;padding:36px 4.8% 29px}.contact h2{font-size:48px;line-height:1.12;margin:16px 0 4px}.contact-content>p:not(.eyebrow){font-size:16px;letter-spacing:.3px}.contact .button{margin-top:17px;min-height:40px}.light{border-color:#d1b77c}.footer{padding:20px 4.8% 15px}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:25px}.footer .brand{gap:14px}.footer .brand>span{font-size:13px;letter-spacing:3px}.footer .brand small{font-size:7px;letter-spacing:4px}.footer nav{gap:30px}.footer nav a,.footer nav button{font-size:8px;letter-spacing:1.4px}.contact-icon{border-left:1px solid var(--navy);padding:4px 15px 4px 35px}.contact-icon svg{width:21px;height:21px;display:block}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:18px;border-top:1px solid var(--line);padding-top:13px;font-size:7px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.footer-bottom p:first-child{letter-spacing:2.4px}.skip-link{position:fixed;top:-100px;left:15px;padding:14px;z-index:20;background:var(--navy);color:white}.skip-link:focus{top:10px}dialog{width:min(600px,calc(100% - 32px));max-height:90vh;padding:42px;border:1px solid var(--gold);background:var(--ivory);color:var(--navy);box-shadow:0 30px 100px #07182c40}dialog::backdrop{background:#0b1e36a6;backdrop-filter:blur(4px)}body:has(dialog[open]){overflow:hidden}.close-dialog{position:absolute;right:16px;top:9px;font-size:30px;padding:4px 8px}dialog h2{font-size:43px;line-height:1.05;margin:18px 0}.dialog-intro{color:var(--muted);font-size:12px;margin-bottom:22px}form label{display:flex;flex-direction:column;gap:8px;font-size:11px;margin-bottom:17px;line-height:1.7}input,textarea,select{min-width:0;width:100%;border:1px solid #c5c9ce;border-radius:0;padding:11px;background:white;color:var(--navy);font-size:13px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.consent{flex-direction:row;align-items:flex-start;color:var(--muted);font-size:10px}.consent input{width:15px;height:15px;flex-shrink:0;margin:3px 0;accent-color:var(--navy)}.honeypot{display:none}.form-status{margin-top:15px;font-size:12px}.form-status.error{color:#922d2d}button:disabled{opacity:.6;cursor:wait}.editorial h3{font-family:var(--serif);font-size:26px;font-weight:500;margin:24px 0 8px}.editorial p{color:var(--muted);font-size:12px}.editorial{margin-bottom:28px}@media(min-width:1500px){body{max-width:1600px;margin:auto}.hero{min-height:585px}.hero-content{padding-top:75px}.about{min-height:355px}.about-art{min-height:355px}.about-content{padding-top:42px}.about h2{font-size:45px}.about-content>p:not(.eyebrow){font-size:13px}.contact{min-height:270px}}@media(max-width:1100px){.header{gap:20px;padding:20px 4%}.brand>span{font-size:16px;letter-spacing:4px}.brand small{font-size:9px;letter-spacing:5px}.header nav{gap:20px}.header-cta{font-size:8px;padding:12px;letter-spacing:1px}.hero-content{padding-left:5%}.hero-description{font-size:14px}.about-content{padding-left:28px;padding-right:22px}.about h2{font-size:33px}.about-aside{padding-left:23px;font-size:9px}.practice-card h3{font-size:10px}.footer nav{gap:20px}}@media(max-width:850px){.header{min-height:90px;flex-wrap:wrap;padding:16px 5%;position:relative;z-index:5}.header .brand img{height:52px;width:36px}.header-cta{display:none}.menu-toggle{display:flex;align-items:center;gap:12px;text-transform:uppercase;font-size:10px;letter-spacing:2px;padding:12px 0}.menu-toggle span{font-size:20px}.header nav{display:none;width:100%;flex-direction:column;gap:4px;padding:15px 0}.header nav.open{display:flex}.hero{min-height:485px}.hero-art{width:78%;opacity:.7}.hero:after{background:linear-gradient(90deg,var(--ivory) 0%,#faf9f2ef 35%,#faf9f299 60%,#faf9f210)}h1{font-size:59px}.hero-content{padding-top:48px}.hero-description{font-size:14px}.about{grid-template-columns:42% 58%}.about-aside{display:none}.about-content{padding:29px}.about h2{font-size:34px}.about-art img{left:-24%}.footer nav{gap:16px}.footer nav a,.footer nav button{font-size:7px}.contact-icon{padding-left:16px;padding-right:0}.footer .brand>span{font-size:11px;letter-spacing:2px}.footer .brand small{letter-spacing:2.8px}}@media(max-width:600px){.header .brand>span{font-size:16px}.hero{min-height:525px}.hero-content{padding:44px 6% 36px}.hero-art{width:100%;opacity:.48}.hero-art img{right:-38%}.hero:after{background:linear-gradient(90deg,#faf9f2f5,#faf9f2c9 55%,#faf9f255)}.eyebrow{font-size:8px;letter-spacing:2px}.line{gap:12px}.line:after{width:35px}h1{font-size:clamp(43px,10.8vw,62px);margin-top:28px;line-height:1.03;letter-spacing:-1.4px}.hero-description{font-size:13px;max-width:330px;line-height:1.85}.desktop-break{display:none}.button{font-size:9px;padding:13px 16px;letter-spacing:1.5px}.values{gap:15px;font-size:8px;letter-spacing:2px;margin-top:47px}.practice{padding:29px 5%}.section-label{font-size:10px;letter-spacing:3px;gap:20px}.practice-grid{grid-template-columns:1fr 1fr;row-gap:31px;margin-top:27px}.practice-card:nth-child(3):before{display:none}.practice-card h3{font-size:9px;letter-spacing:1.3px;line-height:1.7}.practice-card p{font-size:11px}.icon-circle{height:65px;width:65px;margin-bottom:12px}.icon-circle svg{height:36px;width:36px}.about{grid-template-columns:1fr}.about-art{min-height:265px}.about-art img{height:521%;left:-8%}.about-content{padding:34px 7% 37px}.about h2{font-size:39px;margin-top:20px}.about-content>p:not(.eyebrow){font-size:12px}.contact{min-height:264px}.contact-content{padding:35px 7%}.contact h2{font-size:40px;line-height:1.1;max-width:320px;margin-top:20px}.contact-content>p:not(.eyebrow){font-size:12px;margin-top:8px}.contact-art{opacity:.4}.contact-art img{right:-75%}.footer{padding:24px 6% 18px}.footer-main{flex-wrap:wrap;gap:20px}.footer nav{order:3;justify-content:space-between;width:100%;gap:10px}.footer nav a,.footer nav button{font-size:7px;letter-spacing:.8px}.footer-bottom{flex-direction:column;gap:8px;font-size:6px}.footer-bottom p:first-child{letter-spacing:1.6px}.footer .brand>span{font-size:13px}.footer .brand small{letter-spacing:3.5px}.contact-icon{padding-left:24px}dialog{padding:35px 24px}dialog h2{font-size:37px}.form-row{grid-template-columns:1fr;gap:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}


/* Keep the reference photograph confined to the architectural portion. */
.contact-art{left:45%}


/* Bilingual navigation and Cyrillic typography. */
.language-switch{display:flex;align-items:center;gap:5px;flex-shrink:0;font-family:var(--body);font-size:12px;letter-spacing:1px}
.language-switch button{padding:9px 5px;color:var(--muted);border-bottom:2px solid transparent}
.language-switch button[aria-pressed="true"]{color:var(--navy);border-color:var(--gold)}
.language-switch span{color:var(--line)}

html[lang="mn"] h1{font-size:clamp(40px,4.7vw,68px);line-height:1.1}
html[lang="mn"] .about h2{font-size:32px;line-height:1.16}
html[lang="mn"] .practice-card h3{letter-spacing:1px;line-height:1.6}
html[lang="mn"] .about-aside{letter-spacing:1px}
html[lang="mn"] .contact h2{font-size:42px}
html[lang="mn"] dialog h2{font-size:35px;line-height:1.2}
@media(min-width:851px){.header{gap:18px}.header nav{gap:22px}}
@media(min-width:851px) and (max-width:1250px){.header-cta{display:none}}
@media(max-width:850px){.header .brand{margin-right:auto}.menu-toggle{order:2}.language-switch{order:1}.header nav{order:3}}
@media(max-width:600px){.header{gap:13px}.header .brand{gap:10px}.header .brand>span{font-size:13px;letter-spacing:3px}.header .brand small{font-size:8px;letter-spacing:3.5px}.menu-toggle{font-size:9px;letter-spacing:1px;gap:5px}.language-switch{gap:1px;font-size:11px}html[lang="mn"] h1{font-size:clamp(35px,9vw,52px)}html[lang="mn"] .about h2{font-size:30px}html[lang="mn"] .contact h2{font-size:34px}html[lang="mn"] .values{letter-spacing:1px;gap:12px}html[lang="mn"] .footer nav{flex-wrap:wrap;justify-content:center;gap:9px 17px}}

/* Draw close controls independently of font character mappings. */
.close-dialog{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px}
.close-dialog svg{display:block;width:24px;height:24px;pointer-events:none}
