:root {
  --paper:#f4f3ef; --ink:#292824; --wine:#4c1e2a; --muted:#62615b;
  --line:#d1d0c9; --white:#fcfbf7; --dark:#292d28;
  --gutter:clamp(1.25rem,4.5vw,5.5rem); --font:'Manrope',Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.75;-webkit-font-smoothing:antialiased}
body:lang(fa){--font:'Vazirmatn',Tahoma,sans-serif;line-height:1.95}
button,a,summary{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;cursor:pointer}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:auto}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:500;overflow-wrap:anywhere}
em{font-style:normal;font-weight:inherit;color:var(--wine)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}
::selection{background:var(--wine);color:var(--white)}
[hidden]{display:none!important}
.page-width{width:calc(100% - var(--gutter)*2);max-width:1600px;margin-inline:auto}
.section{padding-block:clamp(4.5rem,8vw,8.5rem)}
.skip-link{position:fixed;top:-100px;inset-inline-start:1rem;z-index:100;background:var(--wine);color:white;padding:1rem}
.skip-link:focus{top:1rem}
.site-header{border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:88px;gap:1.5rem;flex-wrap:wrap;padding-block:.65rem}
.wordmark{display:flex;width:114px;min-height:44px;align-items:center;flex-shrink:0}
.brand-mark{position:relative;display:block;overflow:hidden;aspect-ratio:5.2;width:100%}
.brand-mark img{position:absolute;width:105%;max-width:none;height:auto;left:-2.5%;top:53%;transform:translateY(-50%)}
.brand-fa{display:none;aspect-ratio:2.3}
/* Display the Persian artwork within its clear bounds; preserve the source pixels. */
.brand-fa img{width:236.08696%;left:-132.60870%;top:-35%;transform:none}
.wordmark .brand-fa{width:72px}
html[lang=fa] .brand-en{display:none}
html[lang=fa] .brand-fa{display:block}
.desktop-nav{display:flex;align-items:center;gap:clamp(1.5rem,3vw,3rem);flex-wrap:wrap;font-size:.875rem}
.desktop-nav a{padding-block:.6rem}
.desktop-nav a,.header-contact,.back-top{transition:color .2s}
.desktop-nav a:hover,.header-contact:hover,.back-top:hover{color:var(--wine);text-decoration:underline;text-underline-offset:6px}
.header-actions{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.5rem)}
.language-control{display:flex;align-items:center;direction:ltr;gap:.2rem;font-size:.875rem}
.language-control button{font-family:'Manrope','Vazirmatn',sans-serif;background:none;border:0;min-width:44px;min-height:44px;padding:.5rem;color:var(--muted)}
.language-control button[aria-pressed=true]{color:var(--wine);text-decoration:underline;text-underline-offset:6px;font-weight:700}
.language-control>span{color:var(--line)}
.header-contact{display:flex;align-items:center;gap:1rem;font-size:.875rem;min-height:44px}
.header-contact>span:last-child{font-size:1.3rem}
.menu-toggle{display:none;background:transparent;border:0;width:44px;height:44px;padding:10px}
.menu-toggle span{display:block;background:var(--ink);height:1px;width:24px;margin:6px 0;transition:transform .2s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-nav{display:none}
.hero-identity{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:9%;padding-block:clamp(2.5rem,4.5vw,5rem)}
.hero-brand{width:100%;max-width:800px}
.hero-brand .brand-fa{width:65%;max-width:510px}
.hero-heading .eyebrow{margin-bottom:1rem;color:var(--muted)}
.eyebrow{font-size:.875rem;letter-spacing:.07em;display:block}
.hero h1{font-size:clamp(1.85rem,2.85vw,3.4rem);line-height:1.2;letter-spacing:-.045em}
.hero-visual{overflow:hidden;aspect-ratio:16/9;background:#dedad0}
.hero-visual img{height:100%;object-fit:cover;object-position:50% 50%}
.hero-foot{display:flex;justify-content:space-between;align-items:center;gap:3rem;padding-block:1.5rem 1.6rem;border-bottom:1px solid var(--line)}
.hero-foot p{max-width:64ch;font-size:1rem;color:var(--muted)}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid currentColor;padding-block:.7rem;font-size:.875rem;line-height:1.6;min-height:44px;max-width:100%;color:var(--wine)}
.text-link>span:first-child{min-width:0;overflow-wrap:anywhere}
.text-link>span:last-child{font-size:1.3rem;transition:transform .2s}
.text-link:hover>span:last-child{transform:translate(2px,-2px)}
.hero-foot .text-link{flex-shrink:0}
.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;margin-bottom:3.5rem}
.section-label{display:block;font-size:.875rem}
.section-aside{font-size:.875rem;color:var(--muted)}
h2{font-size:clamp(2.4rem,3.8vw,4.8rem);letter-spacing:-.05em;line-height:1.16}
.about-intro{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:10%;align-items:start}
.about-intro h2{color:var(--wine)}
.about-copy{max-width:540px}
.lead{font-size:clamp(1.125rem,1.4vw,1.35rem);line-height:1.7;letter-spacing:-.015em}
.about-copy>p+p{margin-top:1.4rem;color:var(--muted)}
.detail-composition{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13%;align-items:center;margin-top:clamp(4rem,7vw,7rem);padding-inline:6% 2%}
.detail-photo{aspect-ratio:4/5;overflow:hidden}
.detail-photo img{height:100%;object-fit:cover}
.detail-copy .eyebrow{color:var(--muted);max-width:32ch;margin-bottom:1.7rem}
.detail-copy h3{font-size:clamp(2rem,3.5vw,4.3rem);line-height:1.2;letter-spacing:-.045em}
.detail-copy h3 em{display:inline-block;margin-top:.1em}
.detail-copy p{max-width:39ch;margin-top:2rem;color:var(--muted)}
.perspective{background:var(--dark);color:var(--paper);padding-top:clamp(3.5rem,6vw,6rem)}
.perspective-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:end;gap:10%;padding-bottom:3.5rem}
.perspective-heading .section-label{color:#c7cdc2;margin-bottom:2rem}
.perspective-heading h2{font-size:clamp(2.4rem,4.2vw,5rem)}
.perspective-top>p{max-width:42ch;color:#d0d5cc;font-size:1rem}
.perspective-image{aspect-ratio:16/9;overflow:hidden}
.perspective-image img{width:100%;height:100%;object-fit:cover;object-position:52% 50%}
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem;padding-block:3.5rem 4.5rem}
.principles>div{display:flex;align-items:baseline;gap:1.2rem}
.principle-number{font-size:.8125rem;color:#c7cdc2}
.principles h3{font-size:1.0625rem;font-weight:500;margin-bottom:.7rem}
.principles p{color:#c7cdc2;line-height:1.75;font-size:1rem;max-width:32ch}
.services-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:10%}
.services-intro h2{font-size:clamp(2.4rem,3.4vw,4.2rem)}
.services-intro>p{margin-top:2rem;max-width:38ch;color:var(--muted)}
.services-intro .text-link{margin-top:1.8rem}
.service{border-top:1px solid var(--line)}
.service:last-child{border-bottom:1px solid var(--line)}
.service summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:1.25rem;padding-block:1.55rem;min-height:88px}
.service summary::-webkit-details-marker{display:none}
.service-number{font-size:.8125rem;color:var(--muted);font-family:'Manrope',sans-serif}
.service summary h3{font-size:clamp(1.3rem,1.8vw,1.85rem);letter-spacing:-.025em;line-height:1.4;flex:1;min-width:0}
.service-symbol{width:24px;height:24px;position:relative;flex:0 0 24px;color:var(--wine)}
.service-symbol:before,.service-symbol:after{content:'';position:absolute;top:11px;left:5px;width:14px;height:1px;background:currentColor}
.service-symbol:after{transform:rotate(90deg);transition:transform .2s}
.service[open] .service-symbol:after{transform:rotate(0deg)}
.service-description{padding:0 2.8rem 1.8rem;max-width:57ch;color:var(--muted)}
.service-description>span{display:block;font-size:.875rem;margin-top:1.2rem;color:var(--wine)}
.service summary:hover h3{color:var(--wine)}
.process{background:var(--wine);color:var(--white)}
.process-header{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:10%;align-items:end}
.process-header>p{max-width:38ch;color:#e4d3d8}
.process-list{list-style:none;padding:0;margin:4rem 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4rem}
.process-list li{border-top:1px solid #96727c;padding-top:1.5rem}
.process-step{font-size:.875rem;color:#dac3ca}
.process-list h3{font-size:1.5rem;margin-top:1.4rem;letter-spacing:-.025em}
.process-list p{margin-top:.8rem;max-width:38ch;color:#e4d3d8;font-size:1rem}
.contact h2{font-size:clamp(2.8rem,6.4vw,7rem);line-height:1.14}
.contact-bottom{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-top:3.5rem}
.contact-copy{max-width:36ch;color:var(--muted)}
.contact-small{display:block;margin-top:1.5rem;font-size:.875rem;color:var(--ink)}
.phone-number{display:flex;gap:1.3rem;align-items:center;color:var(--wine);font-family:'Manrope',Arial,sans-serif;font-size:clamp(1.7rem,3.45vw,4rem);line-height:1.5;letter-spacing:-.04em}
.phone-number>span:first-child{min-width:0}
.phone-number:hover>span:first-child{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}
.phone-arrow{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);width:clamp(44px,5vw,70px);height:clamp(44px,5vw,70px);border-radius:100%;font-size:.7em;letter-spacing:0;flex-shrink:0;transition:background .2s,color .2s}
.phone-number:hover .phone-arrow{background:var(--wine);color:var(--white)}
.contact-links{margin-top:3.5rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:2rem;padding-top:1.25rem;font-size:.875rem}
.contact-links a{display:flex;gap:.5rem 2rem;align-items:center;min-height:44px;max-width:100%;flex-wrap:wrap}
.contact-links a:hover{text-decoration:underline;text-underline-offset:5px}
.contact-call{color:var(--wine)}
.site-footer{background:#e7e6df}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid #c8c8bf;padding-block:2.5rem}
.footer-top>p{font-size:.875rem;color:var(--muted)}
.back-top{display:flex;gap:1.5rem;align-items:center;font-size:.875rem;min-height:44px}
.footer-bottom{padding-block:1.4rem;display:flex;justify-content:space-between;gap:2rem;font-size:.8125rem;color:var(--muted)}
.footer-bottom p{max-width:65ch;text-align:end}
html[dir=rtl] .eyebrow,html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3,html[dir=rtl] .lead{letter-spacing:0}
html[dir=rtl] .hero h1{font-size:clamp(1.85rem,2.65vw,3.2rem);line-height:1.6}
html[dir=rtl] h2{line-height:1.6;font-size:clamp(2.15rem,3.35vw,4.1rem)}
html[dir=rtl] .detail-copy h3{line-height:1.6;font-size:clamp(2rem,3.25vw,3.8rem)}
html[dir=rtl] .contact h2{font-size:clamp(2.6rem,5.7vw,6rem)}
html[dir=rtl] .lead{line-height:1.95}
@media(max-width:1100px){
  .desktop-nav{gap:1.25rem}.header-actions{gap:1rem}
  .hero-identity{gap:7%;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
  .about-intro,.perspective-top{gap:7%}.detail-composition{padding-inline:2% 0;gap:10%}
  .principles{gap:1.8rem}.principles>div{gap:1rem}.services-layout{gap:7%}
  .process-list{gap:2rem}.contact-bottom{gap:2rem}.phone-number{font-size:3.3vw;gap:1rem}
}
@media(max-width:800px){
  .header-inner{min-height:76px}.desktop-nav{display:none}.header-actions{gap:.8rem}
  .js .menu-toggle{display:block}
  .mobile-nav{display:grid;padding-block:.7rem 1.3rem;border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:.4rem 1.5rem;font-size:1rem}
  .mobile-nav a{padding-block:.6rem}
  .hero-identity{padding-block:2.5rem;gap:8%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .hero h1{font-size:1.9rem}.hero-heading .eyebrow{margin-bottom:.65rem}
  .hero-foot{gap:2rem;align-items:start}.hero-foot p{max-width:44ch}.hero-foot .text-link{flex-shrink:1;min-width:150px}
  .section-heading{margin-bottom:2.8rem}.section-aside{display:none}
  .about-intro{grid-template-columns:1fr;gap:2rem}.about-copy{max-width:620px}
  .detail-composition{padding-inline:0;gap:7%;margin-top:4rem}.detail-copy h3{font-size:2rem}
  .detail-copy .eyebrow{margin-bottom:1.3rem}.detail-copy p{margin-top:1.4rem}
  .perspective-top{gap:7%}.perspective-heading h2{font-size:2.4rem}
  .principles{gap:1.5rem}.principles>div{display:block}.principle-number{display:block;margin-bottom:.75rem}
  .services-layout{grid-template-columns:1fr;gap:3rem}.services-intro{max-width:580px}.services-intro>p{max-width:55ch}
  .service summary h3{font-size:1.6rem}.service-description{max-width:75ch}
  .process-header{grid-template-columns:1fr;gap:2rem}.process-header>p{max-width:50ch}
  .process-list{gap:1.7rem;margin-top:3rem}.process-list h3{font-size:1.4rem}
  .contact-bottom{display:block}.contact-copy{max-width:48ch}
  .phone-number{font-size:clamp(1.6rem,5.4vw,3rem);margin-top:1.7rem;justify-content:space-between}
  .footer-top{gap:1.5rem}.footer-bottom{flex-direction:column;gap:.7rem}.footer-bottom p{text-align:start}
  html[dir=rtl] .hero h1{font-size:1.8rem}
  html[dir=rtl] .detail-copy h3{font-size:1.9rem}
}
@media(max-width:560px){
  :root{--gutter:1.25rem}
  .header-inner{gap:.5rem}.wordmark{width:100px}.header-contact{display:none}
  .language-control{gap:0}.header-actions{gap:.3rem}
  .hero-identity{display:flex;flex-direction:column;align-items:start;gap:1.8rem;padding-block:2.25rem}
  .hero-brand{width:83%;max-width:340px}.hero-brand .brand-fa{width:67%;max-width:220px}
  .hero h1{font-size:clamp(1.95rem,6.8vw,2.6rem);line-height:1.22}
  .hero-heading .eyebrow{font-size:.875rem;margin-bottom:.75rem}
  .hero-visual{aspect-ratio:4/3}.hero-visual img{object-position:55% 50%}
  .hero-foot{flex-direction:column;gap:.75rem;padding-block:1.4rem 1.6rem}
  .hero-foot p{max-width:none}.hero-foot .text-link{min-width:200px;flex-shrink:0}
  .section{padding-block:4.5rem}.section-heading{margin-bottom:2.5rem}
  h2{font-size:2.45rem}.about-copy .lead{font-size:1.15rem}
  .detail-composition{grid-template-columns:1fr;gap:2.4rem;margin-top:3.5rem}
  .detail-photo{width:87%;aspect-ratio:4/5;margin-inline-end:auto}
  .detail-copy{padding-inline-start:10%}.detail-copy h3{font-size:2.35rem}
  .detail-copy .eyebrow{max-width:28ch}.detail-copy p{max-width:34ch}
  .perspective{padding-top:3.5rem}.perspective-top{grid-template-columns:1fr;gap:1.5rem;padding-bottom:2.5rem}
  .perspective-heading .section-label{margin-bottom:2rem}.perspective-heading h2{font-size:2.65rem}
  .perspective-top>p{max-width:45ch}.perspective-image{aspect-ratio:4/3}.perspective-image img{object-position:61% 50%}
  .principles{grid-template-columns:1fr;gap:1.5rem;padding-block:2.5rem 3rem}
  .principles>div{display:flex;gap:1.4rem;border-bottom:1px solid #515b4c;padding-bottom:1.5rem}
  .principles>div:last-child{border-bottom:0;padding-bottom:0}.principles h3{margin-bottom:.35rem}.principles p{max-width:40ch}
  .services-intro h2{font-size:2.5rem}.services-intro>p{margin-top:1.5rem}
  .service summary{gap:1rem;padding-block:1.35rem;min-height:80px}.service summary h3{font-size:1.3rem}
  .service-description{padding-inline:2rem .2rem}
  .process-header h2{font-size:2.5rem}.process-list{grid-template-columns:1fr;gap:2.2rem}
  .process-list li{padding-top:1.2rem}.process-list h3{margin-top:.8rem;font-size:1.5rem}.process-list p{max-width:45ch}
  .contact h2{font-size:2.8rem}.contact-bottom{margin-top:2.25rem}
  .phone-number{font-size:clamp(1.25rem,5.8vw,2rem);gap:.5rem;letter-spacing:-.04em}
  .phone-arrow{width:44px;height:44px;flex:0 0 44px;font-size:1.4rem}
  .contact-links{margin-top:2.2rem;gap:1rem;flex-wrap:wrap}.contact-links a{gap:1.6rem}
  .contact-links>a:last-child{width:100%;justify-content:space-between}
  .footer-top{flex-wrap:wrap;padding-block:2rem;gap:1.5rem}.footer-top>p{order:3;width:100%}
  .footer-bottom{line-height:1.8}
  html[dir=rtl] .hero h1{font-size:2.1rem}
  html[dir=rtl] h2{font-size:2.15rem}
  html[dir=rtl] .detail-copy h3{font-size:2.2rem}
  html[dir=rtl] .contact h2{font-size:2.45rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media print{
  .site-header,.skip-link,.back-top{display:none}.section{padding-block:2rem}
  .perspective,.process{background:white;color:black}
  .perspective-top>p,.process-header>p,.process-list p,.principles p,.principle-number,.perspective-heading .section-label{color:black}
  details>.service-description{display:block}.section-heading{margin-bottom:1rem}.contact h2{font-size:3rem}
}
