/* HERITANCE · institutional homepage. Sections follow the page order. */
@font-face{
  font-family:Cormorant;
  src:url('../fonts/cormorant-regular.ttf') format('truetype');
  font-weight:300 700;
  font-style:normal;
  font-display:swap
}

@font-face{
  font-family:Cormorant;
  src:url('../fonts/cormorant-italic.ttf') format('truetype');
  font-weight:300 700;
  font-style:italic;
  font-display:swap
}

@font-face{
  font-family:Inter;
  src:url('../fonts/inter-variable.ttf') format('truetype');
  font-weight:100 900;
  font-style:normal;
  font-display:swap
}

/* Foundations: logical properties preserve layout in RTL. Dark bronze is used for small text on light surfaces to meet AA contrast. */
:root{
  --forest:#12382D;
  --evergreen:#1C2D27;
  --limestone:#F0F2EA;
  --white:#FDFEF9;
  --bronze:#BE987B;
  --bronze-dark:#76523C;
  --bronze-text:#76523C;
  --bronze-heading:#936C4D;
  --text:#293A32;
  --muted:#5E6C63;
  --border:rgba(18,56,45,.12);
  --shadow:0 10px 30px rgba(18,56,45,.06);
  --radius:5px;
  --header-height:96px;
  --gutter:32px
}

*{
  box-sizing:border-box
}
html{
  scroll-behavior:smooth;
  scroll-padding-block-start:calc(var(--header-height) + 24px)
}
body{
  margin:0;
  background:var(--white);
  color:var(--text);
  font-family:Inter,Arial,sans-serif;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased
}
body.menu-open{
  overflow:hidden
}
h1,h2,h3,p,figure{
  margin:0
}
h1,h2,h3{
  font-family:Cormorant,Georgia,serif;
  font-weight:600;
  line-height:1.08;
  letter-spacing:-.025em;
  color:var(--forest)
}
h2{
  font-size:clamp(40px,3.5vw,54px)
}
h3{
  font-size:29px
}
h1 em,h2 em{
  font-weight:500;
  color:var(--bronze-heading)
}
a{
  color:inherit;
  text-decoration:none
}
button,input{
  font:inherit
}
button{
  cursor:pointer
}
button,a,input{
  -webkit-tap-highlight-color:transparent
}
button{
  color:inherit
}
img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover
}
svg{
  display:block;
  width:24px;
  height:24px;
  flex-shrink:0
}
ul,ol{
  padding:0;
  list-style:none;
  margin:0
}
button{
  background:none;
  border:0
}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--bronze);
  outline-offset:5px
}
::selection{
  background:#D8C4B2;
  color:var(--forest)
}
.container{
  max-width:1264px;
  margin-inline:auto;
  padding-inline:var(--gutter)
}
.section{
  padding-block:104px
}
.centered{
  text-align:center
}
.section-heading{
  margin-block-end:48px
}
.section-heading p:not(.eyebrow){
  color:var(--muted);
  max-width:650px;
  margin-block-start:22px
}
.section-heading.centered p{
  margin-inline:auto
}
.section-heading h2{
  max-width:850px
}
.section-heading.centered h2{
  margin-inline:auto
}
.eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  font-family:Inter,Arial,sans-serif;
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--bronze-text);
  margin-block-end:20px;
  line-height:1.5
}
.eyebrow:before{
  content:'';
  display:block;
  width:30px;
  height:1px;
  background:currentColor;
  flex-shrink:0
}
.centered .eyebrow{
  justify-content:center
}
.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  min-height:52px;
  padding:13px 24px;
  border:1px solid transparent;
  border-radius:var(--radius);
  font-size:13px;
  font-weight:600;
  line-height:1.5;
  transition:background .2s,color .2s,transform .2s;
  white-space:normal
}
.button svg{
  width:19px;
  height:19px
}
.button-primary{
  background:var(--bronze);
  color:var(--forest)
}
.button-primary:hover{
  background:var(--bronze-dark);
  color:var(--white)
}
.button-outline{
  border-color:rgba(240,242,234,.6);
  color:var(--limestone)
}
.button-outline:hover{
  background:var(--limestone);
  color:var(--forest)
}
.button-forest{
  background:var(--forest);
  color:var(--limestone)
}
.button-forest:hover{
  background:var(--evergreen)
}
.text-link{
  display:inline-flex;
  align-items:center;
  gap:20px;
  font-size:13px;
  font-weight:600;
  color:var(--forest);
  padding-block-end:5px;
  border-block-end:1px solid var(--bronze)
}
.text-link svg{
  width:18px;
  height:18px;
  color:var(--bronze-text);
  transition:transform .2s
}
.text-link:hover svg{
  transform:translateX(4px)
}
[dir=rtl] .text-link:hover svg{
  transform:translateX(-4px)
}
[dir=rtl] .text-link svg,[dir=rtl] .button svg{
  transform:scaleX(-1)
}
.line-icon{
  display:block;
  color:var(--bronze-text)
}
.line-icon svg{
  width:36px;
  height:36px
}
.lift-card{
  transition:transform .3s ease-out,box-shadow .3s ease-out
}
.lift-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow)
}
.image-fallback{
  background:linear-gradient(135deg,var(--forest),var(--evergreen));
  overflow:hidden
}
.image-fallback img.is-missing{
  visibility:hidden
}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0
}
.skip-link{
  position:fixed;
  inset-block-start:8px;
  inset-inline-start:12px;
  z-index:100;
  background:var(--limestone);
  color:var(--forest);
  padding:12px 20px;
  transform:translateY(-180%)
}
.skip-link:focus{
  transform:none
}
.noscript-note{
  padding:20px;
  background:var(--limestone)
}

/* 01 · Utility bar */
.utility{
  background:var(--forest);
  color:#DEE6DF;
  font-size:11px;
  letter-spacing:.02em;
  min-height:36px
}
.utility-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:36px
}
.utility-dot{
  padding-inline:5px;
  color:var(--bronze)
}
.utility-actions{
  display:flex;
  align-items:center;
  gap:26px
}
.utility-actions>a:hover{
  color:var(--bronze)
}
.languages{
  display:flex;
  align-items:center;
  gap:9px;
  border-inline-start:1px solid rgba(253,254,249,.2);
  padding-inline-start:22px
}
.languages button{
  font-size:11px;
  padding:5px 3px;
  min-width:20px;
  line-height:1.2
}
.languages button[aria-pressed=true]{
  color:#E0C4AD
}
.languages button[lang=ar]{
  font-size:16px
}

/* 02 · Header and navigation */
.site-header{
  position:sticky;
  inset-block-start:0;
  z-index:40;
  background:var(--limestone);
  border-block-end:1px solid transparent;
  transition:border-color .25s,box-shadow .25s
}
.site-header.is-scrolled{
  border-color:var(--border);
  box-shadow:var(--shadow)
}
.header-inner{
  height:var(--header-height);
  display:flex;
  align-items:center;
  gap:28px
}
.brand{
  display:inline-flex;
  flex-direction:column;
  color:var(--forest);
  flex-shrink:0
}
.brand-name{
  font-family:Cormorant,Georgia,serif;
  font-size:36px;
  font-weight:600;
  line-height:1;
  letter-spacing:-.02em;
  display:flex;
  align-items:center;
  gap:11px
}
.brand-rule{
  width:24px;
  height:1px;
  background:var(--bronze);
  margin-block-start:5px
}
.brand-subtitle{
  font-size:7px;
  letter-spacing:.24em;
  margin-block-start:9px;
  padding-inline-start:2px
}
.navigation{
  margin-inline-start:auto
}
.nav-list{
  display:flex;
  align-items:center;
  gap:22px
}
.nav-list>li>a,.nav-trigger{
  display:flex;
  align-items:center;
  gap:7px;
  padding-block:36px;
  font-size:12px;
  font-weight:500;
  line-height:1.4;
  white-space:nowrap
}
.nav-list a[aria-current=page]{
  color:var(--bronze-text)
}
.nav-trigger{
  padding-inline:0
}
.nav-trigger:hover,.nav-list>li>a:hover{
  color:var(--bronze-text)
}
.chevron{
  display:block;
  width:5px;
  height:5px;
  border-inline-end:1px solid currentColor;
  border-block-end:1px solid currentColor;
  transform:rotate(45deg);
  margin-block-start:-3px
}
.nav-group{
  position:relative
}
.nav-group.is-open>.nav-trigger .chevron{
  transform:rotate(225deg);
  margin-block-start:3px
}
.dropdown{
  display:none;
  position:absolute;
  inset-block-start:100%;
  inset-inline-start:-24px;
  width:290px;
  background:var(--white);
  padding:28px;
  border:1px solid var(--border);
  border-block-start:2px solid var(--bronze);
  box-shadow:var(--shadow);
  border-radius:0 0 5px 5px;
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  transition:opacity .2s,transform .2s,visibility .2s;
  z-index:2
}
.nav-group.is-open>.dropdown{
  display:block;
  opacity:1;
  visibility:visible;
  transform:none
}
.dropdown.mega{
  width:540px
}
.nav-group:nth-last-child(-n+3) .dropdown{
  inset-inline-start:auto;
  inset-inline-end:-25px
}
.menu-eyebrow{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.15em;
  color:var(--bronze-text);
  margin-block-end:18px
}
.dropdown-links{
  display:grid;
  gap:4px
}
.mega .dropdown-links{
  grid-template-columns:1fr 1fr;
  column-gap:24px
}
.dropdown-links>a{
  font-size:12px;
  padding-block:8px;
  border-block-end:1px solid #ECEFE7;
  line-height:1.5
}
.dropdown-links>a:hover{
  color:var(--bronze-text)
}
.menu-all{
  display:flex;
  align-items:center;
  gap:16px;
  font-size:12px;
  font-weight:600;
  padding-block-start:20px
}
.menu-all svg{
  width:17px;
  height:17px;
  color:var(--bronze-text)
}
.header-apply{
  min-height:42px;
  padding:10px 18px;
  font-size:11px;
  flex-shrink:0
}
.menu-toggle,.mobile-panel-top,.mobile-apply{
  display:none
}

/* 03 · Full-height crossfading hero */
.hero{
  position:relative;
  background:var(--forest);
  color:var(--limestone);
  height:calc(100svh - var(--header-height) - 36px);
  min-height:620px;
  max-height:1080px;
  touch-action:pan-y
}
.hero-slides,.hero-slide,.hero-image{
  position:absolute;
  inset:0
}
.hero-slide{
  opacity:0;
  visibility:hidden;
  transition:opacity .9s ease,visibility .9s;
  pointer-events:none
}
.hero-slide.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  z-index:1
}
.hero-image:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(18,56,45,.88) 0%,rgba(18,56,45,.69) 45%,rgba(18,56,45,.28) 100%)
}
[dir=rtl] .hero-image:after{
  background:linear-gradient(270deg,rgba(18,56,45,.88),rgba(18,56,45,.69) 45%,rgba(18,56,45,.28))
}
.hero-image img{
  object-position:center 54%
}
.hero-slide:nth-child(2) .hero-image img{
  object-position:center 45%
}
.hero-content{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  height:100%;
  padding-block:70px 135px
}
.hero .eyebrow{
  color:#DEC1AA;
  margin-block-end:28px
}
.hero h1{
  font-size:clamp(62px,6.3vw,88px);
  line-height:1.03;
  color:var(--limestone);
  font-weight:500;
  max-width:890px;
  letter-spacing:-.028em
}
.hero h1>span,.hero h1>em{
  display:block
}
.hero h1 em{
  color:#D7B79D
}
.hero-subline{
  max-width:570px;
  font-size:16px;
  line-height:1.8;
  color:#E2E9E3;
  margin-block-start:28px
}
.hero-actions{
  display:flex;
  gap:16px;
  margin-block-start:34px
}
.hero-bottom{
  position:absolute;
  inset-block-end:36px;
  inset-inline:0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
  z-index:3
}
.trust-badge{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:12px;
  color:#E5EBE5;
  letter-spacing:.03em
}
.trust-badge svg{
  color:#DEC1AA;
  width:26px;
  height:26px
}
.trust-badge strong{
  font-weight:600;
  color:var(--limestone)
}
.slider-controls{
  display:flex;
  align-items:center;
  gap:20px
}
.slider-arrow{
  width:38px;
  height:38px;
  border:1px solid rgba(253,254,249,.35);
  border-radius:50%;
  font-size:20px;
  color:var(--limestone);
  line-height:1;
  transition:background .2s
}
.slider-arrow:hover{
  background:var(--bronze);
  color:var(--forest);
  border-color:var(--bronze)
}
.slider-dots{
  display:flex;
  gap:2px
}
.slider-dots button{
  width:25px;
  height:30px;
  padding:8px;
  position:relative
}
.slider-dots button:before{
  content:'';
  display:block;
  width:8px;
  height:8px;
  border:1px solid #D0DDD2;
  border-radius:50%;
  transition:background .2s
}
.slider-dots button.is-active:before{
  background:var(--bronze);
  border-color:var(--bronze)
}
.slider-pause{
  font-size:12px;
  width:28px;
  height:32px;
  color:var(--limestone);
  border-inline-start:1px solid rgba(253,254,249,.2);
  padding-inline-start:12px
}

/* 04 · Four services */
.offer-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px
}
.offer-card{
  position:relative;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:32px 26px 28px;
  overflow:hidden;
  background:var(--white)
}
.offer-card:before{
  content:'';
  position:absolute;
  inset-block-start:0;
  inset-inline:0;
  height:3px;
  background:var(--bronze);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .3s
}
.offer-card:hover:before{
  transform:scaleX(1)
}
.offer-card .line-icon{
  margin-block-end:26px
}
.offer-card h3{
  font-size:28px;
  margin-block-end:15px
}
.offer-card p{
  font-size:14px;
  color:var(--muted);
  line-height:1.75;
  min-height:75px;
  margin-block-end:26px
}

/* 05 · About split */
.about-section{
  padding-block-start:25px
}
.about-grid{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:90px;
  align-items:center
}
.about-visual{
  position:relative;
  padding-inline-end:28px;
  padding-block-end:30px
}
.about-image{
  height:570px;
  border-radius:var(--radius)
}
.about-image img{
  object-position:48% center
}
.experience-badge{
  position:absolute;
  inset-inline-end:0;
  inset-block-end:75px;
  display:flex;
  align-items:center;
  gap:22px;
  padding:25px 28px;
  background:var(--limestone);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  border-radius:var(--radius);
  min-width:260px
}
.experience-badge>strong{
  font-family:Cormorant,Georgia,serif;
  font-weight:500;
  font-size:72px;
  line-height:1;
  color:var(--forest)
}
.experience-badge strong>span{
  color:var(--bronze-text);
  font-size:40px;
  vertical-align:top
}
.experience-badge>span{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.1em;
  line-height:1.8
}
.image-caption{
  display:block;
  margin-block-start:17px;
  font-size:11px;
  letter-spacing:.035em;
  color:var(--muted)
}
.about-copy>p:not(.eyebrow){
  font-size:15px;
  color:var(--muted);
  margin-block-start:24px
}
.about-copy>p+p{
  margin-block-start:17px!important
}
.feature-row{
  display:flex;
  align-items:flex-start;
  gap:18px;
  margin-block-start:25px
}
.feature-row .line-icon svg{
  width:29px;
  height:29px
}
.feature-row h3{
  font-family:Inter,Arial,sans-serif;
  font-size:14px;
  font-weight:600;
  letter-spacing:0;
  line-height:1.5;
  margin-block-end:5px
}
.feature-row p{
  font-size:13px;
  color:var(--muted)
}
.about-copy .button{
  margin-block-start:30px
}

/* 06 · Values */
.values-section{
  background:var(--limestone)
}
.values-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px
}
.value-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:36px
}
.value-card .line-icon{
  margin-block-end:24px
}
.value-card h3{
  margin-block-end:18px
}
.value-card p{
  font-size:14px;
  color:var(--muted)
}
.section-link{
  margin-block-start:35px
}

/* Darken muted text on limestone slightly to retain AA contrast. */
.values-section,.products-section,.testimonials-section{
  --muted:#5B695F
}

/* 07 · Stats band */
.stats-band{
  background:var(--forest);
  color:var(--limestone);
  padding-block:58px
}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  text-align:center
}
.stats-grid>div{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding-inline:20px
}
.stats-grid>div+div{
  border-inline-start:1px solid rgba(190,152,123,.6)
}
.stats-grid strong{
  font-family:Cormorant,Georgia,serif;
  font-weight:500;
  font-size:56px;
  line-height:1.1;
  font-variant-numeric:tabular-nums
}
.stats-grid span{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:#CCD9CD
}

/* 08 · Calculator */
.calculator-grid{
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:80px;
  align-items:start
}
.calculator-inputs{
  padding-block:18px
}
.range-field+.range-field{
  margin-block-start:39px
}
.range-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-block-end:22px
}
.range-heading label{
  font-size:14px;
  font-weight:500
}
.range-heading output{
  font-size:14px;
  font-weight:600;
  color:var(--forest)
}
.range-limits{
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:11px;
  color:var(--muted);
  margin-block-start:12px
}
input[type=range]{
  display:block;
  width:100%;
  height:6px;
  border-radius:3px;
  appearance:none;
  -webkit-appearance:none;
  background:linear-gradient(to right,var(--bronze) 0%,var(--bronze) var(--range-progress,0%),#DFE5DA var(--range-progress,0%),#DFE5DA 100%);
  cursor:pointer;
  margin:0
}
html[dir=rtl] input[type=range]{
  background:linear-gradient(to left,var(--bronze) 0%,var(--bronze) var(--range-progress,0%),#DFE5DA var(--range-progress,0%),#DFE5DA 100%)
}
input[type=range]::-webkit-slider-thumb{
  appearance:none;
  -webkit-appearance:none;
  width:20px;
  height:20px;
  border-radius:50%;
  background:var(--bronze);
  border:3px solid var(--white);
  box-shadow:0 0 0 1px var(--bronze-dark)
}
input[type=range]::-moz-range-thumb{
  width:14px;
  height:14px;
  border-radius:50%;
  background:var(--bronze);
  border:3px solid var(--white);
  box-shadow:0 0 0 1px var(--bronze-dark)
}
.calculator-note{
  font-size:12px;
  color:var(--muted);
  margin-block-start:35px;
  max-width:360px
}
.calculator-summary{
  background:var(--forest);
  color:var(--limestone);
  border-radius:var(--radius);
  padding:38px 40px
}
.summary-label{
  font-size:12px;
  letter-spacing:.03em;
  color:#D1DED3
}
.monthly-payment{
  display:flex;
  align-items:baseline;
  gap:13px;
  margin-block:12px 30px
}
.monthly-payment>span{
  font-size:12px;
  letter-spacing:.1em;
  color:#DEC1AA
}
.monthly-payment strong{
  font-family:Cormorant,Georgia,serif;
  font-size:60px;
  font-weight:500;
  line-height:1.1;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.035em
}
.calculator-summary dl{
  margin:0 0 27px;
  border-block-start:1px solid rgba(253,254,249,.15);
  padding-block-start:23px
}
.calculator-summary dl>div{
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:13px;
  margin-block-end:12px
}
.calculator-summary dt{
  color:#D1DED3
}
.calculator-summary dd{
  margin:0;
  font-weight:500
}
.calculator-summary .button{
  width:100%;
  font-size:12px
}
.summary-disclaimer{
  font-size:10px;
  line-height:1.8;
  color:#B9CDBD;
  margin-block-start:18px
}

/* 09 · Products */
.products-section{
  background:var(--limestone)
}
.products-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px
}
.product-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:35px
}
.category-tag{
  font-size:9px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.13em;
  color:var(--bronze-text);
  border:1px solid #D8C7B9;
  border-radius:3px;
  padding:5px 10px;
  margin-block-end:26px
}
.product-card h3{
  margin-block-end:18px;
  font-size:31px
}
.product-card p{
  color:var(--muted);
  font-size:14px;
  line-height:1.8;
  margin-block-end:30px
}
.product-card .text-link{
  margin-block-start:auto
}

/* 10 · Process timeline */
.process-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:40px;
  margin-block-start:58px
}
.process-grid li{
  position:relative
}
.process-grid li:not(:last-child):after{
  content:'';
  position:absolute;
  inset-block-start:34px;
  inset-inline-start:82px;
  width:calc(100% - 42px);
  height:1px;
  background:#CCB29D
}
.step-number{
  display:block;
  font-family:Cormorant,Georgia,serif;
  font-size:58px;
  font-weight:500;
  color:var(--bronze-text);
  line-height:1.1;
  margin-block-end:28px;
  position:relative;
  z-index:1
}
.process-grid h3{
  font-size:29px;
  margin-block-end:17px
}
.process-grid p{
  font-size:13px;
  color:var(--muted);
  line-height:1.8
}

/* 11 · Client perspectives */
.testimonials-section{
  background:var(--limestone)
}
.preview-note{
  font-size:12px!important
}
.testimonials-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px
}
.testimonial-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:34px;
  display:flex;
  flex-direction:column
}
.stars{
  color:var(--bronze-text);
  font-size:15px;
  letter-spacing:.17em;
  margin-block-end:22px
}
.testimonial-card blockquote{
  font-family:Cormorant,Georgia,serif;
  font-size:25px;
  line-height:1.45;
  color:var(--forest);
  margin:0 0 30px
}
.testimonial-card figcaption{
  display:flex;
  align-items:center;
  gap:14px;
  margin-block-start:auto
}
.avatar{
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  width:44px;
  height:44px;
  flex-shrink:0;
  background:var(--limestone);
  border:1px solid var(--border);
  color:var(--bronze-text);
  font-family:Cormorant,Georgia,serif;
  font-size:25px
}
.testimonial-card figcaption strong{
  display:block;
  font-size:12px;
  font-weight:600;
  line-height:1.5
}
.testimonial-card figcaption div>span{
  display:block;
  font-size:10px;
  color:var(--muted);
  margin-block-start:3px;
  line-height:1.6
}

/* 12 · Closing CTA */
.cta-banner{
  position:relative;
  overflow:hidden;
  background:var(--forest);
  padding-block:80px;
  color:var(--limestone)
}
.cta-pattern{
  position:absolute;
  inset-block:0;
  inset-inline-end:0;
  width:65%;
  height:100%;
  color:var(--limestone);
  opacity:.05
}
.cta-inner{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:45px
}
.cta-inner .eyebrow{
  color:#DEC1AA
}
.cta-inner h2{
  color:var(--limestone);
  font-size:56px;
  font-weight:500
}
.cta-inner h2 em{
  color:#D7B79D
}
.cta-inner>.button{
  flex-shrink:0
}

/* 13 · Footer */
.site-footer{
  background:var(--evergreen);
  color:#C5D3C8;
  padding-block:70px 0
}
.footer-grid{
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr 1.15fr;
  gap:45px
}
.footer-brand .brand{
  color:var(--limestone)
}
.footer-brand .brand-name{
  font-size:38px
}
.footer-brand p{
  font-size:12px;
  line-height:1.8;
  max-width:235px;
  margin-block-start:24px
}
.footer-brand p+p{
  margin-block-start:14px;
  font-size:11px
}
.footer-grid h2{
  font-family:Inter,Arial,sans-serif;
  color:var(--limestone);
  font-size:13px;
  font-weight:600;
  letter-spacing:0;
  line-height:1.5;
  margin-block-end:24px
}
.footer-grid>div>a:not(.brand):not(.button){
  display:block;
  font-size:11px;
  margin-block-end:13px
}
.footer-grid a:hover{
  color:#DEC1AA
}
.footer-grid a.footer-view{
  color:#DEC1AA;
  margin-block-start:23px
}
.footer-contact>div{
  display:flex;
  align-items:flex-start;
  gap:13px;
  font-size:11px;
  line-height:1.8;
  margin-block-end:19px
}
.footer-contact svg{
  width:17px;
  height:17px;
  color:#D7B79D;
  margin-block-start:2px
}
.footer-contact small{
  font-size:10px;
  color:#AABDB0
}
.button-footer{
  border-color:rgba(190,152,123,.7);
  color:#DEC1AA;
  min-height:43px;
  font-size:10px;
  padding:11px 16px
}
.button-footer:hover{
  background:var(--bronze);
  color:var(--forest)!important
}
.footer-bottom{
  border-block-start:1px solid rgba(253,254,249,.12);
  margin-block-start:53px;
  padding-block:26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  font-size:9px;
  letter-spacing:.015em
}
.footer-bottom>div{
  display:flex;
  gap:13px;
  align-items:center
}
.footer-bottom>div>span{
  color:var(--bronze)
}

/* Restrained reveal;
content stays visible until JS explicitly opts into motion. */
.motion-ready .reveal{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .55s ease-out,transform .55s ease-out
}
.motion-ready .reveal.is-visible{
  opacity:1;
  transform:none
}

/* Tablet and compact desktop navigation */
@media(max-width:1200px){
  .header-inner{
    gap:22px
  }
  .nav-list{
    gap:17px
  }
  .nav-list>li>a,.nav-trigger{
    font-size:11px
  }
  .brand-name{
    font-size:33px
  }
  .brand-rule{
    width:16px
  }
  .header-apply{
    padding-inline:14px
  }
  .about-grid{
    gap:55px
  }
  .calculator-grid{
    gap:50px
  }
  .footer-grid{
    gap:28px
  }
  .offer-card{
    padding-inline:22px
  }

}

@media(max-width:1100px){
  :root{
    --header-height:88px
  }
  .header-inner{
    justify-content:space-between
  }
  .brand-name{
    font-size:36px
  }
  .header-apply{
    margin-inline-start:auto;
    font-size:12px;
    min-height:44px;
    padding-inline:21px
  }
  .menu-toggle{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:6px;
    width:36px;
    height:44px;
    order:3;
    padding:6px;
    flex-shrink:0
  }
  .menu-toggle>span{
    width:24px;
    height:1px;
    background:var(--forest)
  }
  .navigation{
    position:fixed;
    inset-block:0;
    inset-inline-end:0;
    width:min(440px,100%);
    height:100dvh;
    padding:30px;
    background:var(--limestone);
    overflow-y:auto;
    overscroll-behavior:contain;
    box-shadow:-20px 0 60px rgba(18,56,45,.15);
    z-index:50;
    transform:translateX(105%);
    visibility:hidden;
    transition:transform .3s ease,visibility .3s;
    margin:0
  }
  [dir=rtl] .navigation{
    transform:translateX(-105%)
  }
  .navigation.is-open{
    transform:none;
    visibility:visible
  }
  .mobile-panel-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-block-end:28px
  }
  .menu-close{
    font-size:35px;
    line-height:1;
    width:40px;
    height:40px;
    color:var(--forest)
  }
  .nav-list{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0
  }
  .nav-list>li{
    border-block-end:1px solid var(--border)
  }
  .nav-list>li>a,.nav-trigger{
    width:100%;
    font-size:14px;
    padding-block:18px;
    justify-content:space-between;
    line-height:1.6
  }
  .dropdown,.dropdown.mega{
    display:none;
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    width:100%;
    padding:8px 0 25px;
    border:0;
    box-shadow:none;
    background:transparent
  }
  .nav-group.is-open>.dropdown{
    display:block
  }
  .mega .dropdown-links{
    grid-template-columns:1fr
  }
  .dropdown-links>a{
    padding-block:8px;
    border-color:var(--border);
    font-size:13px
  }
  .menu-eyebrow{
    font-size:10px;
    margin-block-end:12px
  }
  .menu-all{
    font-size:12px
  }
  .mobile-apply{
    display:flex;
    margin-block-start:28px
  }
  .offer-grid{
    grid-template-columns:repeat(2,1fr)
  }
  .offer-card p{
    min-height:0
  }
  .about-grid{
    gap:45px
  }
  .about-image{
    height:590px
  }
  .experience-badge{
    padding:23px;
    min-width:235px;
    gap:17px
  }
  .values-grid,.products-grid,.testimonials-row{
    gap:20px
  }
  .value-card,.product-card,.testimonial-card{
    padding:28px
  }
  .calculator-summary{
    padding:32px
  }
  .monthly-payment strong{
    font-size:54px
  }
  .process-grid{
    gap:28px
  }
  .footer-grid{
    grid-template-columns:repeat(2,1fr);
    gap:45px 65px
  }
  .footer-brand p{
    max-width:320px
  }
  .hero h1{
    font-size:76px
  }

}

@media(max-width:800px){
  :root{
    --gutter:28px
  }
  .section{
    padding-block:80px
  }
  .about-section{
    padding-block-start:15px
  }
  .about-grid{
    grid-template-columns:1fr;
    gap:42px
  }
  .about-visual{
    max-width:640px;
    width:100%;
    padding-inline-end:32px;
    margin-inline:auto
  }
  .about-image{
    height:480px
  }
  .about-image img{
    object-position:center 42%
  }
  .experience-badge{
    inset-block-end:60px
  }
  .about-copy{
    max-width:640px;
    margin-inline:auto
  }
  .values-grid{
    grid-template-columns:1fr;
    gap:20px
  }
  .value-card{
    display:grid;
    grid-template-columns:48px 1fr;
    gap:0 22px;
    padding:30px
  }
  .value-card .line-icon{
    grid-row:1/3;
    margin:0
  }
  .value-card h3{
    margin-block-end:12px
  }
  .value-card p{
    grid-column:2
  }
  .calculator-grid{
    gap:30px
  }
  .calculator-summary{
    padding:28px 25px
  }
  .monthly-payment{
    gap:8px;
    flex-wrap:wrap
  }
  .monthly-payment strong{
    font-size:47px
  }
  .calculator-summary dl>div{
    font-size:11px
  }
  .range-heading{
    flex-wrap:wrap;
    gap:4px
  }
  .products-grid{
    grid-template-columns:1fr
  }
  .product-card h3{
    font-size:33px
  }
  .product-card p{
    max-width:630px
  }
  .process-grid{
    grid-template-columns:repeat(2,1fr);
    gap:38px
  }
  .process-grid li:nth-child(2):after{
    display:none
  }
  .process-grid li:not(:last-child):after{
    width:calc(100% - 40px)
  }
  .testimonials-row{
    grid-template-columns:1fr;
    gap:20px
  }
  .testimonial-card blockquote{
    font-size:28px
  }
  .cta-inner h2{
    font-size:46px
  }
  .cta-inner{
    gap:30px
  }
  .cta-inner>.button{
    padding-inline:20px;
    font-size:12px
  }
  .hero h1{
    font-size:70px
  }
  .hero{
    min-height:670px
  }
  .hero-content{
    padding-block-end:145px
  }
  .hero-subline{
    max-width:560px
  }
  .stats-grid strong{
    font-size:45px
  }
  .stats-grid span{
    font-size:9px
  }
  .utility-extra{
    display:none
  }

}

/* Phone: slide-in accordions, vertical process and swipeable testimonials. */
@media(max-width:600px){
  :root{
    --gutter:24px;
    --header-height:80px
  }
  body{
    font-size:16px
  }
  .utility{
    font-size:9px
  }
  .utility-inner{
    min-height:34px;
    gap:8px
  }
  .utility-dot{
    display:none
  }
  .utility-actions{
    gap:12px
  }
  .utility-actions>a{
    font-size:9px
  }
  .languages{
    padding-inline-start:10px;
    gap:5px
  }
  .languages button{
    font-size:10px;
    min-width:15px
  }
  .languages button[lang=ar]{
    font-size:15px
  }
  .header-inner{
    gap:15px
  }
  .brand-name{
    font-size:31px
  }
  .brand-rule{
    display:none
  }
  .brand-subtitle{
    font-size:6px;
    letter-spacing:.21em;
    margin-block-start:7px
  }
  .header-apply{
    min-height:38px;
    font-size:10px;
    padding:9px 12px
  }
  .menu-toggle{
    width:30px;
    padding:3px;
    gap:5px
  }
  .navigation{
    padding:25px
  }
  .hero{
    height:calc(100svh - var(--header-height) - 34px);
    min-height:680px;
    max-height:none
  }
  .hero-content{
    padding-block:65px 145px;
    justify-content:center
  }
  .hero .eyebrow{
    font-size:9px;
    letter-spacing:.14em;
    max-width:280px;
    margin-block-end:24px;
    gap:9px
  }
  .hero .eyebrow:before{
    width:22px
  }
  .hero h1{
    font-size:clamp(49px,11.3vw,65px);
    line-height:1.06;
    max-width:100%;
    letter-spacing:-.03em
  }
  .hero-subline{
    font-size:14px;
    line-height:1.8;
    margin-block-start:23px;
    max-width:390px
  }
  .hero-image:after{
    background:linear-gradient(90deg,rgba(18,56,45,.88),rgba(18,56,45,.58))
  }
  .hero-actions{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    margin-block-start:27px
  }
  .hero-actions .button{
    min-height:47px;
    padding:12px 19px;
    font-size:11px;
    min-width:210px
  }
  .hero-bottom{
    flex-direction:column;
    align-items:flex-start;
    gap:19px;
    inset-block-end:25px
  }
  .trust-badge{
    font-size:10px;
    gap:9px
  }
  .trust-badge svg{
    width:23px;
    height:23px
  }
  .slider-controls{
    gap:14px;
    align-self:flex-end
  }
  .slider-arrow{
    width:33px;
    height:33px;
    font-size:18px
  }
  .slider-dots button{
    width:23px;
    height:30px;
    padding:7px
  }
  .slider-pause{
    height:28px
  }
  .section{
    padding-block:65px
  }
  .section-heading{
    margin-block-end:34px
  }
  .eyebrow{
    font-size:9px;
    letter-spacing:.16em;
    gap:10px;
    margin-block-end:16px
  }
  .eyebrow:before{
    width:23px
  }
  h2{
    font-size:39px;
    line-height:1.12
  }
  .section-heading p:not(.eyebrow){
    font-size:14px;
    margin-block-start:18px
  }
  .offer-grid{
    grid-template-columns:1fr;
    gap:18px
  }
  .offer-card{
    padding:28px;
    display:grid;
    grid-template-columns:42px 1fr;
    gap:0 18px
  }
  .offer-card .line-icon{
    grid-row:1/4;
    margin:0
  }
  .offer-card h3{
    font-size:29px;
    margin-block-end:12px
  }
  .offer-card p{
    font-size:13px;
    margin-block-end:20px
  }
  .offer-card .text-link{
    justify-self:start
  }
  .line-icon svg{
    width:31px;
    height:31px
  }
  .text-link{
    font-size:12px;
    gap:16px
  }
  .about-section{
    padding-block-start:4px
  }
  .about-grid{
    gap:36px
  }
  .about-visual{
    padding-inline-end:20px;
    padding-block-end:23px
  }
  .about-image{
    height:390px
  }
  .experience-badge{
    inset-block-end:60px;
    gap:17px;
    min-width:215px;
    padding:19px 23px
  }
  .experience-badge>strong{
    font-size:61px
  }
  .experience-badge strong>span{
    font-size:32px
  }
  .experience-badge>span{
    font-size:10px
  }
  .image-caption{
    font-size:9px;
    line-height:1.6
  }
  .about-copy>p:not(.eyebrow){
    font-size:14px;
    margin-block-start:20px
  }
  .feature-row{
    gap:14px;
    margin-block-start:22px
  }
  .feature-row h3{
    font-size:13px
  }
  .feature-row p{
    font-size:12px
  }
  .about-copy .button{
    font-size:11px;
    min-height:47px
  }
  .value-card{
    padding:25px;
    grid-template-columns:35px 1fr;
    gap:0 18px
  }
  .value-card h3{
    font-size:28px
  }
  .value-card p{
    font-size:13px
  }
  .section-link{
    margin-block-start:28px
  }
  .stats-band{
    padding-block:40px
  }
  .stats-grid{
    grid-template-columns:1fr 1fr;
    row-gap:30px
  }
  .stats-grid>div{
    padding-inline:12px;
    gap:7px
  }
  .stats-grid>div:nth-child(3){
    border-inline-start:0
  }
  .stats-grid strong{
    font-size:47px
  }
  .stats-grid span{
    font-size:9px;
    letter-spacing:.1em
  }
  .calculator-grid{
    grid-template-columns:1fr;
    gap:28px
  }
  .calculator-inputs{
    padding-block:5px
  }
  .range-heading{
    flex-wrap:nowrap
  }
  .range-heading label,.range-heading output{
    font-size:12px
  }
  .range-field+.range-field{
    margin-block-start:32px
  }
  .range-limits{
    font-size:9px
  }
  .calculator-note{
    font-size:11px;
    margin-block-start:28px
  }
  .calculator-summary{
    padding:30px 27px
  }
  .summary-label{
    font-size:12px
  }
  .monthly-payment{
    gap:12px
  }
  .monthly-payment strong{
    font-size:55px
  }
  .calculator-summary dl>div{
    font-size:12px
  }
  .calculator-summary .button{
    font-size:11px
  }
  .summary-disclaimer{
    font-size:10px
  }
  .products-grid{
    gap:18px
  }
  .product-card{
    padding:28px
  }
  .product-card h3{
    font-size:30px
  }
  .category-tag{
    margin-block-end:20px
  }
  .product-card p{
    font-size:13px;
    margin-block-end:25px
  }
  .process-grid{
    grid-template-columns:1fr;
    gap:30px;
    margin-block-start:36px
  }
  .process-grid li{
    padding-inline-start:72px;
    min-height:114px
  }
  .process-grid li:not(:last-child):after,.process-grid li:nth-child(2):after{
    display:block;
    inset-block-start:58px;
    inset-inline-start:22px;
    width:1px;
    height:calc(100% - 15px);
    background:#CCB29D
  }
  .step-number{
    position:absolute;
    inset-block-start:0;
    inset-inline-start:0;
    font-size:49px;
    margin:0
  }
  .process-grid h3{
    font-size:29px;
    margin-block-end:12px;
    padding-block-start:6px
  }
  .process-grid p{
    font-size:13px
  }
  .testimonials-row{
    display:flex;
    gap:16px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-block:3px 15px;
    scrollbar-width:thin;
    scrollbar-color:var(--bronze) transparent
  }
  .testimonial-card{
    flex:0 0 90%;
    scroll-snap-align:start;
    padding:28px;
    opacity:1!important;
    transform:none!important
  }
  .testimonial-card blockquote{
    font-size:26px
  }
  .stars{
    font-size:14px
  }
  .testimonial-card figcaption strong{
    font-size:11px
  }
  .testimonial-card figcaption div>span{
    font-size:10px
  }
  .preview-note{
    font-size:11px!important
  }
  .cta-banner{
    padding-block:62px
  }
  .cta-inner{
    display:block
  }
  .cta-inner h2{
    font-size:43px;
    line-height:1.12
  }
  .cta-inner>.button{
    margin-block-start:28px;
    font-size:11px
  }
  .cta-pattern{
    width:100%;
    height:100%
  }
  .site-footer{
    padding-block-start:55px
  }
  .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:38px 25px
  }
  .footer-brand{
    grid-column:1/3
  }
  .footer-brand .brand-name{
    font-size:37px
  }
  .footer-brand p{
    font-size:13px;
    max-width:310px;
    margin-block-start:22px
  }
  .footer-brand p+p{
    font-size:12px
  }
  .footer-grid h2{
    font-size:12px;
    margin-block-end:20px
  }
  .footer-grid>div>a:not(.brand):not(.button){
    font-size:11px;
    line-height:1.8;
    margin-block-end:10px
  }
  .footer-contact{
    grid-column:1/3
  }
  .footer-contact>div{
    font-size:12px;
    max-width:340px
  }
  .button-footer{
    font-size:11px;
    min-height:45px
  }
  .footer-bottom{
    display:block;
    margin-block-start:40px;
    font-size:9px;
    padding-block:25px
  }
  .footer-bottom>div{
    margin-block-start:18px;
    font-size:10px;
    gap:14px
  }
  .footer-bottom>span{
    display:block;
    max-width:100%;
    line-height:1.8
  }

}

@media(max-width:380px){
  :root{
    --gutter:20px
  }
  .utility-actions>a{
    max-width:75px;
    line-height:1.4
  }
  .brand-name{
    font-size:29px
  }
  .header-inner{
    gap:12px
  }
  .header-apply{
    padding-inline:10px;
    font-size:9px
  }
  .hero h1{
    font-size:48px
  }
  .hero{
    min-height:700px
  }
  .hero-content{
    padding-block-end:160px
  }
  .hero-bottom{
    gap:15px
  }
  .hero-subline{
    font-size:13px
  }
  .offer-card{
    padding-inline:22px;
    gap:0 14px
  }
  .offer-card h3{
    font-size:27px
  }
  .monthly-payment strong{
    font-size:49px
  }
  .calculator-summary{
    padding-inline:23px
  }
  .footer-grid{
    column-gap:20px
  }

}

/* Reduced motion preserves all content and disables animation. */
@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto
  }
  *,*:before,*:after{
    animation:none!important;
    transition:none!important
  }
  .motion-ready .reveal{
    opacity:1;
    transform:none
  }
  .lift-card:hover{
    transform:none
  }

}



/* Primary navigation actions use the forest brand color on light surfaces. */
.header-apply,.mobile-apply{background:var(--forest);color:var(--limestone)}
.header-apply:hover,.mobile-apply:hover{background:var(--evergreen);color:var(--white)}

/* 14 · Editorial services and reversed About split. The hero remains edge to edge. */
.hero {
  width: 100%;
  max-width: none;
  margin: 0;
  height: calc(100svh - var(--header-height) - 36px);
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
}
.hero-bottom {
  padding-block-start: 22px;
}
.hero-bottom:before {
  content: '';
  position: absolute;
  inset-block-start: 0;
  inset-inline: var(--gutter);
  height: 1px;
  background: rgba(253, 254, 249, .22);
}
.offer-layout {
  display: grid;
  grid-template-columns: .95fr 1.45fr;
  gap: 70px;
  align-items: center;
}
.offer-intro {
  margin-block-end: 0;
  text-align: start;
}
.offer-intro h2 {
  font-size: 46px;
  line-height: 1.12;
}
.offer-intro p:not(.eyebrow) {
  max-width: 370px;
  font-size: 15px;
}
.offer-layout .offer-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
}
.offer-layout .offer-card {
  padding: 26px;
}
.offer-layout .offer-card .line-icon {
  margin-block-end: 18px;
}
.offer-layout .offer-card .line-icon svg {
  width: 29px;
  height: 29px;
}
.offer-layout .offer-card h3 {
  font-size: 27px;
  margin-block-end: 12px;
}
.offer-layout .offer-card p {
  font-size: 13px;
  min-height: 70px;
  margin-block-end: 20px;
}
.about-grid {
  grid-template-columns: 1.1fr 1fr;
  grid-template-areas: 'copy visual';
}
.about-copy { grid-area: copy; }
.about-visual { grid-area: visual; padding-inline-end: 0; padding-inline-start: 28px; }
.about-visual .experience-badge { inset-inline-end: auto; inset-inline-start: 0; }
.about-image { height: 540px; }
@media (max-width: 1100px) {
  .offer-layout { grid-template-columns: .9fr 1.35fr; gap: 35px; }
  .offer-intro h2 { font-size: 40px; }
  .offer-intro p:not(.eyebrow) { font-size: 14px; }
  .offer-layout .offer-card { padding: 22px; }
  .offer-layout .offer-card h3 { font-size: 26px; }
  .offer-layout .offer-card p { min-height: 90px; }
  .about-image { height: 560px; }
}
@media (max-width: 800px) {
  .hero h1 { font-size: 64px; }
  .offer-layout { grid-template-columns: 1fr; gap: 35px; }
  .offer-intro { max-width: 630px; }
  .offer-intro h2 { font-size: 44px; }
  .offer-intro p:not(.eyebrow) { max-width: 580px; }
  .offer-layout .offer-card { padding: 28px; }
  .offer-layout .offer-card p { min-height: 48px; }
  .about-grid { grid-template-columns: 1fr; grid-template-areas: 'copy' 'visual'; }
  .about-visual { padding-inline-start: 28px; padding-inline-end: 0; }
  .about-image { height: 460px; }
}
@media (max-width: 600px) {
  .hero { height: calc(100svh - var(--header-height) - 36px); min-height: 720px; }
  .hero .container { padding-inline: 22px; }
  .hero h1 { font-size: clamp(46px, 10.7vw, 60px); }
  .hero-content { padding-block-end: 165px; }
  .hero-bottom:before { inset-inline: 22px; }
  .hero-bottom { padding-block-start: 18px; }
  .hero .eyebrow { max-width: 265px; }
  .hero-actions .button { font-size: 10px; padding-inline: 16px; }
  .offer-layout { gap: 30px; }
  .offer-intro h2 { font-size: 39px; }
  .offer-layout .offer-grid { grid-template-columns: 1fr; gap: 14px; }
  .offer-layout .offer-card { padding: 25px; column-gap: 18px; }
  .offer-layout .offer-card .line-icon { margin-block-end: 0; }
  .offer-layout .offer-card h3 { font-size: 28px; }
  .offer-layout .offer-card p { min-height: 0; }
  .about-visual { padding-inline-start: 20px; }
  .about-image { height: 390px; }
}

/* 15 · Local photography across sections, with fixed image geometry. */
.hero-image:after {
  background: linear-gradient(90deg, rgba(4, 12, 9, .88), rgba(4, 12, 9, .76) 48%, rgba(4, 12, 9, .62));
}
[dir=rtl] .hero-image:after {
  background: linear-gradient(270deg, rgba(4, 12, 9, .88), rgba(4, 12, 9, .76) 48%, rgba(4, 12, 9, .62));
}
.hero-slide:nth-child(2) .hero-image img { object-position: center 40%; }
.section-photo { position: relative; overflow: hidden; }
.section-photo img { width: 100%; height: 100%; object-fit: cover; }
.offer-layout .offer-card { display: flex; flex-direction: column; padding: 0; }
.offer-photo { width: 100%; height: 145px; flex-shrink: 0; }
.offer-photo img { object-position: center 60%; }
.offer-body { padding: 23px 26px 25px; display: flex; flex-direction: column; align-items: flex-start; flex: 1; }
.offer-layout .offer-card p { min-height: 68px; }
.offer-body .text-link { margin-block-start: auto; }
.value-card { display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.value-photo { height: 190px; flex-shrink: 0; }
.value-photo img { object-position: center 54%; }
.value-body { padding: 30px; }
.value-body .line-icon { margin-block-end: 22px; }
.about-image img { object-position: 59% center; }
.stats-band { position: relative; overflow: hidden; padding-block: 65px; }
.photo-backdrop { position: absolute; inset: 0; height: 100%; width: 100%; }
.photo-backdrop:after { content: ''; position: absolute; inset: 0; background: rgba(8, 29, 21, .86); }
.stats-grid { position: relative; z-index: 1; }
.planning-photo { height: 165px; border-radius: var(--radius); margin-block-end: 33px; }
.planning-photo img { object-position: center 47%; }
.calculator-grid { align-items: stretch; }
.calculator-summary { display: flex; flex-direction: column; }
.calculator-summary .button { margin-block-start: auto; }
.calculator-summary dl { padding-block-end: 15px; }
.product-card { padding: 0; overflow: hidden; }
.product-photo { height: 210px; width: 100%; flex-shrink: 0; }
.product-photo img { object-position: center 54%; }
.product-body { display: flex; flex-direction: column; align-items: flex-start; padding: 32px; flex: 1; }
.product-body .text-link { margin-block-start: auto; }
.process-photo { height: 260px; border-radius: var(--radius); }
.process-photo img { object-position: center 67%; }
.process-grid { margin-block-start: 45px; }
.client-heading-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 60px; align-items: center; margin-block-end: 45px; }
.client-heading-grid .section-heading { margin-block-end: 0; text-align: start; }
.client-heading-grid .section-heading h2 { font-size: 47px; }
.client-heading-grid .section-heading p { margin-inline: 0; }
.client-photo { height: 265px; border-radius: var(--radius); }
.client-photo img { object-position: center 57%; }
.cta-banner .photo-backdrop:after { background: linear-gradient(90deg, rgba(8, 29, 21, .94), rgba(8, 29, 21, .75)); }
[dir=rtl] .cta-banner .photo-backdrop:after { background: linear-gradient(270deg, rgba(8, 29, 21, .94), rgba(8, 29, 21, .75)); }
.cta-banner .photo-backdrop img { object-position: center 58%; }
.cta-pattern { z-index: 1; }
.cta-inner { z-index: 2; }
.site-footer { padding-block-start: 0; }
.footer-photo-strip { position: relative; height: 86px; margin-block-end: 70px; overflow: hidden; }
.footer-photo-strip .section-photo { height: 100%; }
.footer-photo-strip img { object-position: center 42%; }
.footer-photo-strip:after { content: ''; position: absolute; inset: 0; background: rgba(8, 29, 21, .45); }
@media(max-width:1100px) {
  .offer-body { padding: 23px; }
  .offer-layout .offer-card p { min-height: 88px; }
  .value-body { padding: 26px; }
  .product-body { padding: 28px; }
  .client-heading-grid { gap: 35px; }
  .client-heading-grid .section-heading h2 { font-size: 42px; }
}
@media(max-width:800px) {
  .offer-layout .offer-card p { min-height: 48px; }
  .value-photo { height: 220px; }
  .value-body { display: grid; grid-template-columns: 42px 1fr; gap: 0 20px; }
  .value-body .line-icon { grid-row: 1/3; margin: 0; }
  .value-body p { grid-column: 2; }
  .product-photo { height: 260px; }
  .process-photo { height: 220px; }
  .client-heading-grid { grid-template-columns: 1fr; gap: 28px; }
  .client-photo { height: 260px; }
}
@media(max-width:600px) {
  .hero-image:after { background: rgba(4, 12, 9, .76); }
  [dir=rtl] .hero-image:after { background: rgba(4, 12, 9, .76); }
  .offer-layout .offer-card { padding: 0; }
  .offer-photo { height: 165px; }
  .offer-body { display: grid; grid-template-columns: 32px 1fr; gap: 0 18px; padding: 25px; }
  .offer-body .line-icon { grid-row: 1/4; }
  .offer-body .text-link { justify-self: start; }
  .offer-layout .offer-card p { min-height: 0; }
  .value-photo { height: 185px; }
  .value-body { padding: 25px; grid-template-columns: 31px 1fr; gap: 0 17px; }
  .value-body .line-icon svg { width: 29px; height: 29px; }
  .planning-photo { height: 180px; margin-block-end: 28px; }
  .calculator-summary dl { padding-block-end: 0; }
  .calculator-summary .button { margin-block-start: 0; }
  .product-photo { height: 190px; }
  .product-body { padding: 28px; }
  .process-photo { height: 190px; }
  .client-heading-grid .section-heading h2 { font-size: 39px; }
  .client-photo { height: 200px; }
  .footer-photo-strip { height: 65px; margin-block-end: 55px; }
}

/* Keep the adviser’s face fully visible in the shallow service photograph. */
.offer-card:first-child .offer-photo img { object-position: center 22%; }

/* Client service standards replace unverified testimonial cards. */
.service-standard-card .line-icon{margin-block-end:24px}.service-standard-card h3{font-size:31px;margin-block-end:18px}.service-standard-card>p{font-size:14px;line-height:1.85;color:var(--muted)}
@media(max-width:600px){.service-standard-card h3{font-size:28px}.service-standard-card>p{font-size:13px}}
