/* Revision 4: editorial partner directory, restrained imagery and compact footer. */
html{scroll-padding-top:var(--header-offset,174px)}
.hero-subtitle em{font-family:Georgia,serif}
.hero-description{max-width:460px;font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.78;text-align:justify;text-justify:inter-word}
.services article>p,.about-copy>p:not(.eyebrow):not(.about-quote),.partner-heading-copy>p,.partner-detail>div:first-child>p:not(.partner-closing),.contact>div:first-child>p:not(.eyebrow),dialog p,dialog li{font-size:15px;line-height:1.75}
.site-header{position:sticky;top:0;z-index:20;flex-direction:column;justify-content:center;padding:13px 5.5% 18px;gap:7px;border-bottom:1px solid var(--line);box-shadow:0 5px 18px rgba(35,32,27,.06)}
.site-header .official-brand{width:158px;height:85px}
.site-header .official-brand img{width:280.89px;height:280.89px;left:-61.45px;top:-98.38px}
.site-header nav{width:100%;justify-content:center;gap:42px}
.site-header nav a{padding:10px 0;border-bottom:1px solid transparent;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:600;line-height:1.4;letter-spacing:2px;text-transform:uppercase;transition:border-color .2s ease}
.site-header nav a:hover{border-bottom-color:#b49a70}
.site-header .nav-cta{padding:10px 0;border:0;gap:0}
.site-header .nav-cta span{display:none}
.intro-strip{display:flex;justify-content:center;padding:24px 7%;background:#23201B;border-top:1px solid #4f4a43;border-bottom:1px solid #4f4a43;color:#F6F3EE}
.intro-strip p,.intro-strip strong,.intro-strip a{color:#F6F3EE}
.intro-strip p{margin:0;text-align:center;font:italic 25px/1.35 Georgia,serif}
.approach .section-heading{grid-template-columns:1.2fr 1fr;gap:0 8%;align-items:center;position:relative}
.approach .section-heading .eyebrow{grid-column:1;align-self:end;margin-bottom:18px}
.approach .section-heading h2{grid-column:1;align-self:start}
.selling-photo{grid-column:2;grid-row:1/3;width:100%;height:220px;margin:0;overflow:hidden;border-radius:2px}
.selling-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 55%;filter:saturate(.65)}
.services{margin-top:44px}.services article{border-top:2px solid #b5a17e;padding-top:22px}
.process-section{padding:92px 4.5% 104px;background:linear-gradient(180deg,#fbfaf6 0%,#f8f6f0 100%);overflow:hidden}
.process-heading{max-width:1280px;margin:0 auto 58px;text-align:center}
.process-heading .eyebrow{margin-bottom:14px;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:600;line-height:1.6;letter-spacing:2px}
.process-heading h2{margin:0 0 18px;font-size:clamp(42px,4.2vw,68px);letter-spacing:-2.5px;color:#183b34}
.process-heading h2 em{font-style:italic}
.process-heading>p{max-width:1180px;margin:0 auto;color:#66706d;font:17px/1.65 Georgia,'Times New Roman',serif}
.process-steps{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;max-width:1760px;margin:0 auto}
.process-steps::before{content:'';position:absolute;z-index:0;top:87px;left:9%;right:9%;height:1px;background:#c6b9a8}
.process-step{position:relative;z-index:1;min-width:0;text-align:center}
.process-number{display:block;margin:0 0 12px;color:#9d8462;font:18px/1.2 Georgia,'Times New Roman',serif}
.process-icon{position:relative;z-index:1;display:grid;place-items:center;width:106px;height:106px;margin:0 auto 16px;border:1px solid #b9ab99;border-radius:50%;background:#faf8f3;color:#3b3028}
.process-icon svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.process-copy h3{margin:0;color:#173e34;font:400 29px/1.2 Georgia,'Times New Roman',serif}
.process-rule{display:block;width:32px;height:1px;margin:16px auto 15px;background:#9d8462}
.process-copy p{max-width:250px;margin:0 auto;color:#626b68;font:15px/1.55 Georgia,'Times New Roman',serif}
.portrait-photo{width:100%;margin:0;aspect-ratio:4/5;max-height:650px;overflow:hidden;background:#405a39;border:1px solid rgba(180,154,112,.75)}
.portrait-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:90% top}
.about-copy .about-quote{margin:30px 0 28px;font:400 24px/1.4 Georgia,'Times New Roman',serif;letter-spacing:-.5px;color:#F6F3EE;opacity:1!important}
.partners .section-heading{display:block;max-width:850px;margin:0 auto;text-align:center}
.partner-heading-copy h2{margin:0 0 23px}.partner-heading-copy p{max-width:770px;margin:0 auto;font-size:17px;line-height:1.75}
.partner-detail{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:7%;align-items:start;margin-top:44px}
.partner-detail>div{min-width:0}.partner-detail>div:first-child{padding-top:5px}
.partner-closing{margin:28px 0 30px;font:400 24px/1.4 Georgia,'Times New Roman',serif;letter-spacing:-.5px;color:var(--ink)}
.about-copy .about-quote strong,.partner-closing strong{font-weight:400}
.partner-detail>div:last-child>p{font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--ink);margin-bottom:16px}
.partner-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px;counter-reset:partner;border-top:1px solid #cdd4c4}
.partner-list li,.partner-list li:last-child{counter-increment:partner;min-height:74px;padding:18px 0;display:flex;align-items:center;gap:16px;border:0;border-bottom:1px solid #cdd4c4;background:transparent;font:22px/1.2 Georgia,serif;box-shadow:none;transition:color .2s ease,padding-left .2s ease}
.partner-list li::before{content:'•';flex:0 0 auto;font:18px/1 Georgia,serif;letter-spacing:0;color:#b49a70}
.partner-list li:hover{color:#6d8061;padding-left:7px}
.partner-list li:last-child{grid-column:auto;min-height:74px}
.brand-icon img{width:23px;height:23px;object-fit:contain;display:block}
.contact{background:#23201B;color:#F6F3EE;padding-top:60px;padding-bottom:60px}
.contact>div:first-child p,.contact>div:first-child .eyebrow,.contact-links a,.contact-links small,.contact-links .pending-inline{color:#F6F3EE}
.contact .contact-icon{border-color:#706a61;color:#F6F3EE}
.contact .brand-icon img{filter:brightness(0) invert(1)}
.contact .contact-card{background:#fff;color:var(--ink)}
.site-footer{padding:23px 7% 18px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:32px;row-gap:10px}
.footer-top{grid-column:1/-1;margin:0;gap:22px}
.site-footer .official-brand{width:104px;height:56px}
.site-footer .official-brand img{width:184.89px;height:184.89px;left:-40.44px;top:-64.71px}
.footer-top>p{font-size:18px;line-height:1.3;margin:0}
.footer-links{grid-column:1/-1;margin:0;gap:0 22px}
.footer-links button,.footer-links a{font-size:13px;padding:5px 0;min-height:36px;border-bottom:0;display:inline-flex;align-items:center}
.company-details{grid-column:1;align-self:center}.company-details p{font-size:12px;line-height:1.55;margin:2px 0}
.regulatory-badges{grid-column:2;display:flex;gap:20px;margin:0;align-items:center;justify-content:flex-end}
.regulatory-badges a{display:flex;align-items:center;justify-content:center;min-height:48px}
.regulatory-badges img{display:block;width:auto;max-width:150px;max-height:48px;object-fit:contain}
.regulatory-badges a:last-child img{max-width:110px;max-height:46px}
.footer-bottom{grid-column:1/-1;padding:11px 0 0;margin:0;gap:20px}.footer-bottom p{font-size:12px}
.site-footer .preview-disclaimer{grid-column:1/-1;font-size:12px;margin:0}
@media(max-width:1050px){.regulatory-badges{grid-column:1/-1;justify-content:flex-start}.site-footer{row-gap:9px}.company-details{grid-column:1/-1}.partner-list li{font-size:20px}.intro-strip p{font-size:23px}}
@media(max-width:1100px){.process-section{padding:72px 7% 82px}.process-heading{margin-bottom:44px}.process-heading h2{font-size:clamp(39px,6vw,56px)}.process-heading>p{max-width:800px;font-size:16px}.process-steps{display:flex;flex-direction:column;gap:0;max-width:760px}.process-steps::before{top:51px;bottom:51px;left:43px;right:auto;width:1px;height:auto}.process-step{display:grid;grid-template-columns:86px minmax(0,1fr);grid-template-rows:auto auto;text-align:left;padding:0 0 32px}.process-step:last-child{padding-bottom:0}.process-number{grid-column:1;grid-row:1;margin:0;text-align:center;font-size:15px}.process-icon{grid-column:1;grid-row:2;width:72px;height:72px;margin:8px auto 0}.process-icon svg{width:34px;height:34px}.process-copy{grid-column:2;grid-row:1/3;padding:3px 0 0 24px}.process-copy h3{font-size:27px}.process-rule{width:30px;margin:12px 0}.process-copy p{max-width:560px;margin:0;font-size:15px;line-height:1.6}}
@media(max-width:680px){.intro-strip{padding:22px 7%}.intro-strip p{font-size:24px;line-height:1.35}.approach .section-heading{display:block}.selling-photo{height:180px;margin-top:25px}.services{margin-top:30px}.partners .section-heading{text-align:left}.partner-heading-copy p{font-size:16px}.partner-detail{display:flex;flex-direction:column;gap:28px;margin-top:25px}.partner-detail>div{width:100%}.partner-detail>div:last-child{margin-top:0}.partner-closing{font-size:22px}.partner-list{grid-template-columns:1fr;gap:0}.partner-list li,.partner-list li:last-child{grid-column:auto;font-size:19px;padding:17px 0;min-height:0;overflow-wrap:break-word}.site-footer{display:block;padding:22px 7% 18px}.footer-top{margin-bottom:12px}.footer-top>p{font-size:17px}.footer-links{gap:0 18px;margin-bottom:12px}.footer-links button{min-height:44px}.company-details p{font-size:12px}.regulatory-badges{display:flex;flex-wrap:wrap;gap:18px;margin:13px 0;justify-content:flex-start}.regulatory-badges img{max-width:135px;max-height:44px}.regulatory-badges a:last-child img{max-width:96px}.footer-bottom{padding:12px 0 0;display:flex;flex-wrap:wrap;gap:7px}.footer-bottom p{width:auto}.footer-bottom p+p{margin:0}.site-footer .preview-disclaimer{margin-top:9px}}
@media(max-width:680px){.process-section{padding:58px 6% 66px}.process-heading{text-align:left;margin-bottom:38px}.process-heading .eyebrow{letter-spacing:1.3px}.process-heading h2{font-size:39px;line-height:1.08;letter-spacing:-1.8px}.process-heading>p{font-size:15px;line-height:1.7}.process-steps::before{left:34px;top:45px;bottom:43px}.process-step{grid-template-columns:68px minmax(0,1fr);padding-bottom:28px}.process-number{justify-self:center;width:58px;margin-left:0;padding-left:0;text-align:center;font-size:14px;background:#f9f7f1}.process-icon{justify-self:center;width:58px;height:58px;margin:8px 0 0}.process-icon svg{width:29px;height:29px}.process-copy{padding-left:18px}.process-copy h3{font-size:25px}.process-rule{margin:10px 0}.process-copy p{font-size:14px;line-height:1.6}}
@media(max-width:760px){.site-header{flex-direction:row;justify-content:space-between;padding:10px 6%;gap:18px}.site-header .official-brand{width:134px;height:72px}.site-header .official-brand img{width:238.22px;height:238.22px;left:-52.11px;top:-83.39px}.site-header nav{width:auto;justify-content:flex-start;gap:6px}.site-header nav a,.site-header .nav-cta{padding:12px}}
@media(max-width:680px){.hero-description{font-size:15px;line-height:1.75;text-align:left}.portrait-photo{max-height:none}.partner-heading-copy>p{font-size:15px}.about-copy .about-quote{font-size:22px;margin-top:26px}.contact{padding-top:46px;padding-bottom:46px}}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-privacy{margin:14px 0 0;color:#526459;font-size:12px;line-height:1.55}
.form-privacy a{text-decoration:underline;text-underline-offset:3px}
.form-note:empty{display:none}
.form-note.form-success{color:#235c3f;font-weight:600}
.form-note.form-error{color:#9b2c2c;font-weight:600}
#enquiry-form button:disabled{cursor:wait;opacity:.72}

/* Discreet property discovery and website credit additions */
.intro-strip .properties-cta{display:flex;flex-direction:column;align-items:center;gap:13px;text-align:center}
.intro-strip .properties-cta>a{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:2px 5px;border-bottom:1px solid #8b8378;color:#F6F3EE;font:500 15px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.15px}
.intro-strip .properties-cta>a img{display:block;width:32px;height:32px;object-fit:contain}
.intro-strip .properties-cta>a:focus-visible,.jtwo-credit:focus-visible{outline:3px solid #c6833e;outline-offset:4px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.footer-bottom .jtwo-credit{display:inline-flex;align-items:center;gap:8px;min-height:44px;text-decoration:none;color:inherit;font-size:12px}
.footer-bottom .jtwo-credit img{width:40px;height:40px;object-fit:contain;border-radius:2px}
@media(max-width:680px){.footer-bottom .jtwo-credit{flex-wrap:wrap;gap:6px}.footer-bottom .jtwo-credit span:last-child{font-size:11px}}

/* On standard desktop screens, end the opening viewport at the properties strip.
   The header offset is measured by site.js. Shorter screens may scroll to
   prevent headline or contact actions from being clipped. */
@media (min-width:1200px) and (min-height:820px){
  .intro-strip{height:148px;box-sizing:border-box}
  .hero{height:calc(100svh - var(--header-offset, 176px) - 148px);min-height:500px}
  .hero-image{min-height:0}
  .hero-copy{padding-top:20px;padding-bottom:20px}
  .hero h1{margin-bottom:18px}
  .hero-subtitle{margin-bottom:15px}
  .hero-description{margin-bottom:12px}
  .hero-actions{margin-top:15px;gap:10px}
}

/* Option A: editorial split hero with progressive, accessible background film. */
.hero-video-container .hero-background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:1;opacity:0;transition:opacity .45s ease}
.hero-video-container.video-ready .hero-background-video{opacity:1}
.hero-video-container .hero-video-controls{position:absolute;right:22px;bottom:78px;z-index:3;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.hero-video-container .hero-video-controls[hidden]{display:none}
.hero-video-controls button{background:rgba(24,33,29,.73);border:1px solid rgba(255,255,255,.7);border-radius:2px;color:#fff;font:500 12px/1.3 Arial,Helvetica,sans-serif;min-height:40px;padding:8px 13px;backdrop-filter:blur(4px)}
.hero-video-controls button:focus-visible{outline:3px solid #f6f3ee;outline-offset:3px}
@media(max-width:680px){.hero-video-container .hero-video-controls{right:18px;bottom:70px}}
@media(prefers-reduced-motion:reduce){.hero-video-container .hero-background-video{transition:none}}

/* Square-source hero: retain editorial split layout, show the actual video
   without the old pillarbox correction. Any minor edge crop uses object-fit. */
@media (min-width:761px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(360px,40%)}
  .hero-copy{padding-left:clamp(45px,6vw,96px);padding-right:clamp(34px,5vw,80px)}
}
.hero-video-container{isolation:isolate;overflow:hidden;background:#29362c}
.hero-video-container .hero-background-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:100%;
  transform:scale(1.10);
  transform-origin:center center;
  object-fit:cover;
  object-position:center center;
}
@media (min-width:761px) and (max-width:1100px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(330px,42%)}
}

/* Never display legacy image captions over the video-only hero. */
.hero-video-container .photo-caption{display:none!important}

/* Give the approved homepage copy more room alongside the square video.
   No wording or overall hero height changes; retain the first-screen alignment. */
@media (min-width:1101px){
  .hero-copy{padding-left:clamp(42px,5.5vw,88px);padding-right:clamp(24px,3vw,48px)}
  .hero-copy .hero-description{max-width:660px;font-size:16px;line-height:1.78;text-align:left;text-wrap:pretty}
  .hero-copy .hero-subtitle{margin-bottom:20px}
  .hero-copy .hero-description{margin-bottom:19px}
  .hero-copy .hero-actions{margin-top:20px;gap:13px}
}


/* Match the homepage property prompt to the primary navigation typography. */
.intro-strip .properties-cta>p,
.intro-strip .properties-cta>p strong{
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  font-style:normal;
  font-weight:600;
  line-height:1.4;
  letter-spacing:2px;
  text-transform:uppercase;
}
.intro-strip .properties-cta>a{border-bottom:0;text-decoration:none;padding-bottom:2px}
