/* NORO DETAIL: a clear path from services and real work to a personal enquiry. */
.noro-home{--bg:#071019;--panel:#0d1925;--text:#f3f7fb;--muted:#b7c7d5;--line:#293d4f;--accent:#74cfff;background:var(--bg)}
.noro-home *{box-sizing:border-box}
.noro-home :is(section,details){scroll-margin-top:88px}
.noro-home :is(a,button,summary):focus-visible{outline:3px solid #b4e6ff;outline-offset:5px}
.home-skip{position:fixed;top:10px;left:10px;transform:translateY(-160%);padding:14px 20px;background:#f3f7fb;color:#071019;border-radius:8px;z-index:300}
.home-skip:focus{transform:translateY(0)}
.noro-home header{height:78px;background:#050b12;border-bottom:1px solid #203041}
.noro-home .site-wordmark{font-size:16px;letter-spacing:.2em}
.noro-home .section{max-width:1320px;padding:88px 6%}
.noro-home .eyebrow{font-size:11px;line-height:1.7;letter-spacing:.17em;color:#8ed8ff;font-weight:700;margin:0 0 20px}
.noro-home h2{font-size:clamp(30px,3.8vw,48px);line-height:1.18;letter-spacing:-.035em;margin:0}
.noro-home em{font-style:normal;color:#81d0ff}
.noro-home p{color:var(--muted);font-size:16px}
.noro-home .sectionhead{display:flex;flex-direction:row;justify-content:space-between;align-items:end;text-align:start;gap:36px;margin-bottom:32px}
.noro-home .sectionhead>p{max-width:430px;margin:0;font-size:16px;line-height:1.8}
.noro-home .hero{background:#071019;border-bottom:1px solid var(--line)}
.noro-home .hero>img{object-position:65% 60%}
.noro-home .hero .shade{background:linear-gradient(90deg,#050c15 2%,#050c15ed 33%,#050c1570 70%,#050c1555),linear-gradient(0deg,#071019 2%,transparent 45%)}
.noro-home .hero-content{max-width:1320px;margin:auto;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:32px;align-items:stretch;text-align:start;padding:38px 6% 54px}
.noro-home .hero-copy{min-width:0}
.noro-home .hero-logo{width:180px;aspect-ratio:1.74;margin:0 0 22px;border-radius:0}
.noro-home .hero-logo img{top:-38%}
.noro-home .hero-content .eyebrow{font-size:12px;letter-spacing:.13em;margin-bottom:18px}
.noro-home .hero h1{font-size:clamp(38px,4.5vw,62px);line-height:1.13;font-weight:700;letter-spacing:-.045em;margin:0 0 22px;max-width:700px;text-wrap:balance}
.noro-home .hero h1 em{color:#f3f7fb}
.noro-home .hero-services{font-size:16px;line-height:1.8;color:#8ed8ff;font-weight:600;margin:0 0 12px}
.noro-home .hero .intro{font-size:16px;line-height:1.8;max-width:510px;margin:0 0 26px;color:#c2ceda}
.noro-home .actions{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:12px;margin-top:0}
.noro-home .button,.noro-home .actions .button{border-radius:12px;min-height:52px;padding:15px 22px;font-size:14px;font-weight:700;gap:20px;width:auto;text-decoration:none;line-height:1.4;transition:background .18s ease,border-color .18s ease}
.noro-home .primary-cta,.noro-home .actions .primary-cta{background:#8ed8ff;color:#071a2c;border:1px solid #8ed8ff}
.noro-home .primary-cta:hover,.noro-home .actions .primary-cta:hover{background:#b5e5ff;border-color:#b5e5ff}
.noro-home .secondary-cta,.noro-home .actions .secondary-cta{background:#10202ed9;color:#f1f7fc;border:1px solid #54748d}
.noro-home .secondary-cta:hover,.noro-home .actions .secondary-cta:hover{background:#1b3449;border-color:#8ed8ff}
.noro-home .hero-reassurance{font-size:12px;line-height:1.6;margin:14px 0 22px;color:#b3c2cf}
.text-link{display:inline-flex;gap:14px;align-items:center;color:#9ddcff;text-decoration:underline;text-underline-offset:6px;font-size:14px;font-weight:600;line-height:1.6}
.text-link:hover{color:#fff}
.hero-visual{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:28px 0 0;border-bottom:1px solid #75caff55;min-height:320px}
.hero-visual-top{font-size:11px;letter-spacing:.25em;color:#b2d5ed}
.hero-visual-bottom{font-size:10px;letter-spacing:.24em;color:#c0ccd8;padding:18px 0}
.hero-facts{position:relative;max-width:1162px;margin:0 auto;display:flex;justify-content:space-between;gap:20px;padding:21px 0;border-top:1px solid #2c4155;color:#d1dfeb;font-size:12px;font-weight:500}
.hero-facts span{display:flex;gap:10px;align-items:center}
.hero-facts span::before{content:'';display:block;width:5px;height:5px;border-radius:50%;background:#81d0ff;flex-shrink:0}
.noro-service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.noro-service-card{display:flex;flex-direction:column;border:1px solid #304659;border-radius:16px;overflow:hidden;background:#0d1a26;color:var(--text);text-decoration:none;transition:border-color .18s ease,background .18s ease}
.noro-service-card:hover{border-color:#81d0ff;background:#102232}
.noro-service-image{position:relative;aspect-ratio:1182/665;overflow:hidden;background:#122635}
.noro-service-image img{display:block;width:100%;height:100%;object-fit:cover}
/* The source contains two complete photos stacked vertically. Show only the lower photo, without stretching it or exposing the join. */
.noro-service-image.service-after img{position:absolute;inset:auto 0 0;width:100%;height:200%;object-fit:fill}
.noro-service-copy{padding:20px;display:flex;flex-direction:column;flex:1;min-width:0}
.noro-service-copy h3{font-size:21px;line-height:1.4;letter-spacing:-.025em;margin:0 0 8px;overflow-wrap:normal;hyphens:auto}
.noro-service-copy p{font-size:14px;line-height:1.65;margin:0 0 20px}
.noro-service-link{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;line-height:1.5;color:#a1deff;font-weight:600}
.noro-service-link b{font-size:19px;font-weight:400}
.noro-home .service-image-note{font-size:11px;margin:12px 0 22px;color:#9cafbf}
.service-price-note{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:23px;font-size:14px}
.noro-home .gallery-entry{border-top:1px solid #233749;border-bottom:1px solid #233749;background:radial-gradient(ellipse at top,#16354c70,transparent 70%)}
.noro-home .gallery-intro{max-width:650px;font-size:16px;margin:20px auto 34px}
.noro-home .gallery-feature{border-radius:18px;max-width:1080px;grid-template-columns:1fr 1fr;box-shadow:none;transition:border-color .18s ease}
.noro-home .gallery-feature:hover{transform:none}
/* Preserve the full 706 × 942 photograph, including the rim and red caliper. */
.noro-home .gallery-cover .gallery-photo{min-height:0;height:auto;aspect-ratio:706/942}
.noro-home .gallery-feature-copy{padding:36px;gap:22px}
.noro-home .gallery-feature-copy h3{font-size:clamp(27px,3vw,38px);line-height:1.25}
.noro-home .gallery-stamp{font-size:9px;letter-spacing:.15em;left:14px;top:14px}
.noro-home .about-grid{grid-template-columns:1fr 1.1fr;gap:48px}
.noro-home .about-grid h3{font-size:24px;margin:0 0 18px}
.noro-home .about-grid p{font-size:15px;line-height:1.85}
.noro-home .about-grid img{border-radius:16px}
.noro-home .about-grid .rounded-cta{margin-top:18px;background:#112a3e;color:#c6eaff;border:1px solid #466d88}
.noro-home .process{padding-top:24px;grid-template-columns:1fr 1.1fr;gap:48px}
.noro-home .process h2{font-size:clamp(29px,3.4vw,42px)}
.noro-home .process li{background:#0d1a26;border-color:#304659;border-radius:14px}
.noro-home .process li h3{font-size:18px}
.noro-home .process li p{font-size:14px}
.noro-home .mobile-section{border-block:1px solid #233749;background:#0b1722}
.noro-home .mobile-section h2{font-size:clamp(30px,3.6vw,44px)}
.noro-home .mobile-grid{gap:24px;text-align:start}
.noro-home .mobile-grid p{font-size:14px}
.noro-home .service-map-box{max-width:850px;margin:26px auto}
.noro-home .home-reviews{display:flex;align-items:center;justify-content:space-between;gap:36px;padding-block:64px}
.noro-home .home-reviews h2{font-size:clamp(28px,3.2vw,40px)}
.noro-home .home-reviews p{max-width:590px;margin-bottom:0}
.noro-home .home-reviews .button{flex-shrink:0}
.noro-home .home-contact{text-align:center;background:radial-gradient(ellipse at top,#1b466470,transparent 75%);border-block:1px solid #30485c}
.noro-home .home-contact>p:not(.eyebrow){max-width:540px;margin:24px auto}
.noro-home .home-contact .actions{justify-content:center}
.direct-contact{display:flex;flex-wrap:wrap;gap:16px 28px;justify-content:center;margin-top:30px}
.direct-contact a{font-size:13px;color:#bed9eb;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
.direct-contact a span{display:inline-block}
.noro-home .home-discovery{padding-block:65px}
.noro-home .home-discovery h2{font-size:clamp(28px,3vw,40px)}
.discovery-list{border-top:1px solid #344e63}
.discovery-panel{border-bottom:1px solid #344e63}
.discovery-panel>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:22px;min-height:78px;padding:20px 4px;font-size:17px;font-weight:600;color:#e6f2fc}
.discovery-panel>summary::-webkit-details-marker{display:none}
.discovery-panel>summary>span:nth-child(2){color:#e6f2fc;flex:1}
.discovery-number{font-size:11px;color:#8ed8ff;font-weight:600}
.discovery-toggle{margin-inline-start:auto;font-size:25px;font-weight:400;color:#8ed8ff;transition:transform .18s ease}
.discovery-panel[open]>summary .discovery-toggle{transform:rotate(45deg)}
.noro-home .discovery-panel>.section{padding:24px 0 40px}
.noro-home .discovery-panel .sectionhead{margin-bottom:24px}
.noro-home .discovery-panel h2{font-size:clamp(25px,3vw,36px)}
.noro-home .discovery-panel .sectionhead>p{font-size:14px}
.noro-home .compact-footer{padding:34px 6% 70px!important;border-top:1px solid var(--line)}
.noro-home .floating-actions{transition:opacity .18s ease,transform .18s ease}
.noro-home.dock-managed .floating-actions:not(.dock-visible){opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}
.noro-home .floating-actions .consult-float{background:#8ed8ff;color:#081b2a}
.noro-home .floating-actions .consult-float:hover{background:#b9e8ff}
.noro-home .floating-actions .floating-project{background:#163248;border:1px solid #4f7692}
@media(min-width:1320px){.hero-facts{max-width:1162px}}
@media(max-width:1320px){.hero-facts{margin-inline:6%}}
@media(max-width:1000px){.noro-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.noro-service-image{aspect-ratio:1182/665}.noro-home .hero-content{grid-template-columns:minmax(0,1.65fr) minmax(0,.35fr)}.noro-home .about-grid,.noro-home .process{gap:30px}.noro-home .gallery-feature-copy{padding:28px}}
@media(max-width:750px){
 .noro-home header{height:72px}.noro-home .site-wordmark{font-size:12px;letter-spacing:.12em}
 .noro-home .section{padding:56px 6%}.noro-home .sectionhead{display:block;margin-bottom:26px}.noro-home .sectionhead>p{margin-top:20px}
 .noro-home .hero-content{display:block;padding:24px 6% 32px}.noro-home .hero-visual{display:none}
 .noro-home .hero-logo{width:150px;margin-bottom:18px}.noro-home .hero h1{font-size:clamp(34px,8.4vw,51px);line-height:1.16;letter-spacing:-.035em;max-width:550px;margin-bottom:20px}
 .noro-home .hero-content .eyebrow{font-size:10px;letter-spacing:.08em;line-height:1.7}.noro-home .hero-services{font-size:14px;max-width:380px}
 .noro-home .hero .intro{font-size:15px;max-width:420px;margin:0 0 22px}.noro-home .hero .shade{background:linear-gradient(90deg,#050c15ee,#050c15bf),linear-gradient(0deg,#071019,transparent 70%)}
 .noro-home .actions{gap:9px}.noro-home .actions .button{padding:14px 15px;min-height:52px;gap:10px;font-size:13px;flex:1;max-width:280px}
 .noro-home .hero-reassurance{font-size:11px;margin-bottom:18px}.hero-facts{gap:12px;flex-wrap:wrap;justify-content:flex-start;padding-block:18px;font-size:11px}.hero-facts span{gap:7px}
 .noro-home .eyebrow{font-size:10px;letter-spacing:.13em}.noro-home h2{font-size:32px}
 .noro-service-grid{gap:14px}.noro-service-copy{padding:16px}.noro-service-copy h3{font-size:18px}.noro-service-copy p{font-size:14px;margin-bottom:16px}.noro-service-link{font-size:12px}
 .service-price-note{align-items:flex-start;flex-direction:column;gap:14px}
 .noro-home .gallery-feature{grid-template-columns:1fr}.noro-home .gallery-cover .gallery-photo{aspect-ratio:706/942}.noro-home .gallery-feature-copy{padding:26px;gap:18px}.noro-home .gallery-feature-copy p{font-size:15px}
 .noro-home .about-grid,.noro-home .process{grid-template-columns:1fr;gap:26px}.noro-home .process{padding-top:12px}.noro-home .about-grid figure{max-width:520px}.noro-home .about-grid h3{font-size:23px}
 .noro-home .home-reviews{flex-direction:column;align-items:flex-start;gap:24px}.noro-home .home-contact .actions .button{flex:auto}.direct-contact{flex-direction:column;gap:16px}
 .noro-home .home-discovery{padding-block:48px}.discovery-panel>summary{font-size:16px;min-height:70px;gap:16px}.noro-home .discovery-panel .sectionhead>p{font-size:14px}
 .noro-home .service-map-box{padding:18px}.noro-home .service-map-box .button{font-size:12px;gap:12px}
}
@media(max-width:430px){.noro-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.noro-service-card{border-radius:12px}.noro-service-image{aspect-ratio:1182/665}.noro-service-copy{padding:14px 12px}.noro-service-copy h3{font-size:clamp(15px,4.3vw,16px)}.noro-service-copy p{font-size:13px;line-height:1.6;margin-bottom:16px}.noro-service-link{font-size:12px}.noro-home .hero .actions{flex-direction:row;align-items:stretch}.noro-home .hero .actions .button{max-width:none;width:auto;min-width:0;flex:1;font-size:12px;padding:13px 11px;gap:8px;justify-content:center}.noro-home .hero-facts span{font-size:10px}.noro-home .home-contact .actions{flex-direction:column}.noro-home .home-contact .actions .button{max-width:none;width:100%}.noro-home h2{font-size:30px}}
html[lang=fa] .noro-home .hero h1{line-height:1.5;letter-spacing:0;font-size:clamp(34px,4.5vw,56px)}
html[lang=fa] .noro-home .hero-logo{margin-inline-start:0;margin-inline-end:auto}
html[lang=fa] .noro-home .hero .shade{background:linear-gradient(270deg,#050c15f5,#050c15aa),linear-gradient(0deg,#071019,transparent)}
@media(prefers-reduced-motion:reduce){.noro-home *, .noro-home *::before,.noro-home *::after{scroll-behavior:auto!important;transition:none!important}}

.about-page{padding-top:90px}.about-page .about-section h1{font-size:clamp(32px,4.3vw,60px);line-height:1.1;font-weight:400}.about-page .about-section h1 em{font-style:normal;color:var(--blue,#91d5ff)}

.noro-home .discovery-visible{border-top:1px solid #344e63;margin-top:48px}.noro-home .discovery-visible>.section{padding:48px 0}.noro-home .discovery-visible .sectionhead{margin-bottom:28px}@media(max-width:640px){.noro-home .discovery-visible{margin-top:32px}.noro-home .discovery-visible>.section{padding:32px 0}}
