/* ============================================================
   SEAGULL - Redefined Real Estate
   Dark green + white. Modern editorial, motion-first.
   ============================================================ */

:root{
  --d0:#04180F;   /* deepest */
  --d1:#06231A;
  --d2:#0B3327;
  --g:#0E4034;    /* brand green */
  --g2:#155244;
  --g3:#1D6B57;
  --mint:#A8D8C0;
  --mint2:#7FC4A6;
  --mint-dim:rgba(168,216,192,.3);
  --cream:#F4F7F3;
  --paper:#fff;
  --ink:#0C1F18;
  --ink2:#4F6459;
  --line:#E2E9E3;
  --hair:rgba(255,255,255,.14);
  --wrap:1220px;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --disp:'Montserrat',system-ui,'Segoe UI',sans-serif;
  --e:cubic-bezier(.22,1,.36,1);
  --e2:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{scroll-behavior:smooth;scroll-padding-top:100px;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--d1);color:var(--ink);
  font-family:var(--sans);font-size:17px;line-height:1.62;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:22px}

.skip{position:absolute;left:-9999px;top:0;background:var(--g);color:#fff;padding:12px 18px;z-index:300}
.skip:focus{left:12px;top:12px;border-radius:10px}
:focus-visible{outline:2px solid var(--mint2);outline-offset:3px;border-radius:8px}

/* ---------- grain + progress ---------- */
.grain{
  position:fixed;inset:0;z-index:250;pointer-events:none;opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}
.progress{
  position:fixed;top:0;left:0;height:2px;width:100%;z-index:260;transform-origin:0 50%;
  transform:scaleX(0);background:linear-gradient(90deg,var(--mint2),var(--mint),#fff);
}

/* ---------- type ---------- */
h1,h2,h3{font-family:var(--disp);margin:0;line-height:1.08;letter-spacing:-.02em;font-weight:800}
h3{font-size:1.08rem;letter-spacing:-.01em;font-weight:700;line-height:1.28}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}

.kicker{
  font-family:var(--disp);font-size:.7rem;font-weight:700;letter-spacing:.24em;
  text-transform:uppercase;color:var(--g3);margin:0 0 1.1rem;
}
.kicker--on-dark{color:var(--mint2)}

.statement{font-size:clamp(1.9rem,4.4vw,3.4rem);letter-spacing:-.022em;line-height:1.1;color:var(--ink);max-width:17ch}
.statement--light{color:#fff}

/* word-split reveal */
.wd{display:inline-block;overflow:hidden;vertical-align:bottom}
.wd>i{
  display:inline-block;font-style:inherit;transform:translateY(110%);
  transition:transform .85s var(--e);transition-delay:var(--wd,0ms);
}
.in .wd>i{transform:translateY(0)}

/* generic rise */
[data-rise]{opacity:0;transform:translateY(22px)}
[data-rise].in{
  opacity:1;transform:none;
  animation:riseIn .75s var(--e) backwards;
  animation-delay:calc(var(--dl,0) * 90ms);
}
@keyframes riseIn{from{opacity:0;transform:translateY(22px)}}

/* ---------- logo lockup ---------- */
.lock{display:inline-flex;align-items:center;gap:15px}
.lock__mark{width:120px;height:auto;flex:none}
.lock__txt{display:flex;flex-direction:column;align-items:center}
.lock__name{font-family:var(--disp);font-weight:900;letter-spacing:.055em;font-size:1.4rem;line-height:1;color:#fff}
.lock__rule{display:block;width:100%;height:2px;background:#fff;opacity:.92;margin:.42rem 0 .36rem}
.lock__tag{
  font-family:var(--disp);font-weight:600;font-size:.56rem;letter-spacing:.26em;
  text-transform:uppercase;color:#fff;white-space:nowrap;line-height:1;
}
.lock--sm .lock__mark{width:44px}
.lock--sm .lock__name{font-size:1.1rem}
.lock--sm .lock__tag{font-size:.45rem;letter-spacing:.19em}
.lock--stack{flex-direction:column;gap:15px}
.lock--stack .lock__mark{width:132px}
.lock--stack .lock__name{font-size:1.9rem}
.lock--stack .lock__tag{font-size:.63rem}
.lock--start{align-items:flex-start}

/* ---------- header ---------- */
.hdr{
  position:fixed;top:0;left:0;right:0;z-index:200;
  transition:background .4s var(--e),backdrop-filter .4s var(--e),border-color .4s var(--e);
  border-bottom:1px solid transparent;
}
.hdr.stuck{
  background:rgba(6,35,26,.82);backdrop-filter:blur(14px) saturate(1.3);
  -webkit-backdrop-filter:blur(14px) saturate(1.3);border-bottom-color:var(--hair);
}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:132px;transition:min-height .35s var(--e)}
.hdr.stuck .hdr__in{min-height:88px}
.nav{display:flex;align-items:center;gap:8px}
.nav>a{
  position:relative;padding:9px 15px;border-radius:999px;font-size:.92rem;font-weight:500;
  color:rgba(255,255,255,.8);transition:color .25s var(--e);
}
.nav>a::before{
  content:"";position:absolute;inset:0;border-radius:999px;background:rgba(255,255,255,.1);
  transform:scale(.7);opacity:0;transition:transform .35s var(--e),opacity .35s var(--e);
}
.nav>a:hover{color:#fff}
.nav>a:hover::before{transform:scale(1);opacity:1}
.nav>a span{position:relative}

.burger{
  display:none;width:46px;height:42px;background:rgba(255,255,255,.06);border:1px solid var(--hair);
  border-radius:12px;cursor:pointer;padding:13px 12px;flex-direction:column;justify-content:space-between;
}
.burger span{display:block;height:2px;background:#fff;border-radius:2px;transition:transform .35s var(--e),opacity .25s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){transform:translateY(-7px) rotate(-45deg)}

/* ---------- buttons ---------- */
.btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  padding:16px 32px;border-radius:999px;border:1px solid transparent;overflow:hidden;
  font-family:var(--disp);font-weight:700;font-size:.92rem;cursor:pointer;isolation:isolate;
  transition:transform .35s var(--e),color .35s var(--e),border-color .35s var(--e);
}
.btn span{position:relative;z-index:2}
.btn::before{
  content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;
  transform:translateY(101%);transition:transform .45s var(--e2);
}
.btn:hover{transform:translateY(-3px)}
.btn:hover::before{transform:translateY(0)}

.btn--solid{background:#fff;color:var(--g)}
.btn--solid::before{background:var(--mint)}
.btn--line{border-color:rgba(255,255,255,.4);color:#fff}
.btn--line::before{background:#fff}
.btn--line:hover{color:var(--g);border-color:#fff}
.btn--pill{background:#fff;padding:11px 24px;font-size:.88rem}
.nav>a.btn--pill{color:var(--g)}
.nav>a.btn--pill:hover{color:var(--g)}
.btn--pill::before{background:var(--mint)}
.btn--go{background:var(--g);color:#fff;padding:17px 36px}
.btn--go::before{background:var(--g3)}
.btn[disabled]{opacity:.55;pointer-events:none;transform:none}

/* ---------- hero ---------- */
.hero{
  position:relative;display:flex;flex-direction:column;justify-content:flex-start;
  padding:152px 0 56px;background:var(--d1);color:#fff;overflow:hidden;
}
.aurora{position:absolute;inset:-20% -10%;z-index:0;filter:blur(90px);opacity:.75}
.blob{position:absolute;border-radius:50%;display:block}
.blob--1{width:52vw;height:52vw;left:-6%;top:-12%;background:radial-gradient(circle,#1D6B57,transparent 68%);animation:drift1 26s ease-in-out infinite}
.blob--2{width:46vw;height:46vw;right:-8%;top:2%;background:radial-gradient(circle,#0E4034,transparent 70%);animation:drift2 32s ease-in-out infinite}
.blob--3{width:40vw;height:40vw;left:38%;bottom:-22%;background:radial-gradient(circle,#2C8A70,transparent 72%);animation:drift3 29s ease-in-out infinite}
@keyframes drift1{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(8%,6%,0) scale(1.12)}}
@keyframes drift2{0%,100%{transform:translate3d(0,0,0) scale(1.05)}50%{transform:translate3d(-7%,9%,0) scale(.92)}}
@keyframes drift3{0%,100%{transform:translate3d(0,0,0) scale(.95)}50%{transform:translate3d(-9%,-7%,0) scale(1.15)}}

.hero__in{position:relative;z-index:2}
.tagline{
  display:inline-flex;align-items:center;gap:11px;font-family:var(--disp);font-size:.72rem;
  font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--mint);
  border:1px solid var(--hair);background:rgba(255,255,255,.05);border-radius:999px;
  padding:8px 18px;margin:0 0 1rem;backdrop-filter:blur(6px);
}
.ping{width:7px;height:7px;border-radius:50%;background:var(--mint2);box-shadow:0 0 0 0 rgba(168,216,192,.7);animation:ping 2.4s var(--e) infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(168,216,192,.6)}70%{box-shadow:0 0 0 12px rgba(168,216,192,0)}100%{box-shadow:0 0 0 0 rgba(168,216,192,0)}}

.hero__h1{
  font-size:clamp(1.9rem,5.2vw,4.4rem);font-weight:800;letter-spacing:-.021em;
  line-height:1.06;color:#fff;max-width:17ch;text-wrap:balance;margin-bottom:.95rem;
}
.hero__lede{
  font-family:var(--disp);font-weight:600;font-size:clamp(1rem,2vw,1.35rem);
  letter-spacing:-.01em;color:var(--mint);margin:0 0 1.5rem;display:flex;flex-wrap:wrap;gap:.1em .6em;
}
.hero__lede em{font-style:normal;position:relative;padding-left:0}
.hero__grid{display:grid;grid-template-columns:1fr;gap:0}
.hero__copy{color:rgba(255,255,255,.76);font-size:1.03rem;max-width:52ch;margin:0}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;margin-top:1.3rem}

@keyframes wheel{0%{opacity:0;transform:translate(-50%,0)}35%{opacity:1}100%{opacity:0;transform:translate(-50%,14px)}}

/* ---------- marquee ---------- */
.marquee{background:var(--g);border-block:1px solid var(--hair);overflow:hidden;padding:20px 0}
.marquee__track{display:flex;align-items:center;gap:28px;width:max-content;animation:slide 34s linear infinite}
.marquee span{
  font-family:var(--disp);font-weight:700;font-size:1.05rem;letter-spacing:-.01em;
  color:rgba(255,255,255,.92);white-space:nowrap;
}
.marquee i{color:var(--mint2);font-style:normal}
@keyframes slide{to{transform:translateX(-50%)}}
.marquee:hover .marquee__track{animation-play-state:paused}

/* ---------- sections ---------- */
.sec{padding:clamp(44px,5.5vw,80px) 0;position:relative}
.sec--light{background:var(--paper);color:var(--ink)}
.sec--dark{background:var(--g)}
.sec--deep{background:var(--d0)}
.sec__head{margin-bottom:clamp(24px,3vw,40px)}
.sec__head--mid{text-align:center}
.sec__head--mid .statement{margin-inline:auto}
.sec__head--mid .sec__sub{margin-inline:auto;max-width:52ch}
.sec__sub{color:var(--ink2);margin-top:1.2rem;font-size:1.02rem}

/* ---------- about ---------- */
.about{display:grid;grid-template-columns:.32fr 1fr;gap:clamp(26px,4vw,56px);margin-bottom:clamp(30px,4vw,54px)}
.about__side{position:sticky;top:120px;align-self:start}
.about__mark{opacity:.12;filter:invert(1)}
.about__mark img{width:104px;height:auto}
.about__cols{margin-top:1.6rem;columns:2;column-gap:38px;color:var(--ink2);font-size:1rem}
.about__cols p{break-inside:avoid;margin-bottom:1.15em}

.who{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.who li{padding:18px 20px 18px 0;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:5px}
.who li:last-child{border-right:none}
.who b{font-family:var(--disp);font-size:1rem;letter-spacing:-.01em}
.who span{color:var(--ink2);font-size:.88rem}

/* ---------- bento ---------- */
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cell{
  position:relative;overflow:hidden;border-radius:18px;padding:26px 24px 24px;
  background:rgba(255,255,255,.055);border:1px solid var(--hair);color:#fff;
  transition:transform .5s var(--e),background .45s var(--e),border-color .45s var(--e);
  transform-style:preserve-3d;
}
.cell::after{                     /* cursor spotlight */
  content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s var(--e);
  background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(168,216,192,.16),transparent 62%);
}
.cell:hover{background:rgba(255,255,255,.095);border-color:rgba(168,216,192,.4)}
.cell:hover::after{opacity:1}
.cell--lg{grid-column:span 1}
.cell--wide{grid-column:span 1}
.cell__no{
  font-family:var(--disp);font-size:.7rem;font-weight:700;letter-spacing:.2em;color:var(--mint2);
  display:block;margin-bottom:.9rem;
}
.cell__ico{width:30px;height:30px;color:var(--mint);margin-bottom:.8rem;transition:transform .5s var(--e)}
.cell:hover .cell__ico{transform:translateY(-4px) rotate(-6deg)}
.cell h3{color:#fff;margin-bottom:.65rem;max-width:22ch}
.cell p{color:rgba(255,255,255,.72);font-size:.93rem;margin:0;max-width:42ch}

.vals{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(26px,3.2vw,42px)}
.vals span{
  font-family:var(--disp);font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--g);border:1px solid var(--line);border-radius:999px;padding:12px 24px;
  transition:background .35s var(--e),color .35s var(--e),border-color .35s var(--e),transform .35s var(--e);
}
.vals span:hover{background:var(--g);color:#fff;border-color:var(--g);transform:translateY(-3px)}

/* ---------- profile ---------- */
.prof{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(26px,3.5vw,54px);align-items:center}
.prof__card{
  position:relative;overflow:hidden;border-radius:22px;padding:32px 28px;text-align:center;
  background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03));
  border:1px solid var(--hair);transition:transform .6s var(--e);
}
.prof__card::before{
  content:"";position:absolute;inset:-40% -40% auto -40%;height:80%;
  background:radial-gradient(ellipse,rgba(168,216,192,.16),transparent 70%);
}
.prof__label{
  position:relative;font-family:var(--disp);font-size:.66rem;font-weight:700;letter-spacing:.24em;
  text-transform:uppercase;color:var(--mint2);margin:0 0 .7rem;
}
.prof__name{position:relative;font-size:clamp(1.5rem,2.6vw,2rem);letter-spacing:-.015em;color:#fff;margin-bottom:.4rem}
.prof__role{position:relative;color:rgba(255,255,255,.7);font-size:.93rem;margin:0 0 1.2rem}
.prof__card .lock{position:relative;padding-top:2rem;border-top:1px solid var(--hair);width:100%;justify-content:center}
.prof__intro{color:rgba(255,255,255,.8);margin-top:1.6rem;font-size:1.03rem}
.ticks{list-style:none;margin:1.3rem 0 1.6rem;padding:0;display:grid;gap:11px}
.ticks li{position:relative;padding-left:34px;color:rgba(255,255,255,.86);font-size:.97rem}
.ticks li::before{
  content:"";position:absolute;left:0;top:.15em;width:20px;height:20px;border-radius:50%;
  background:rgba(168,216,192,.16);
}
.ticks li::after{
  content:"";position:absolute;left:6px;top:.52em;width:9px;height:5px;
  border-left:2px solid var(--mint);border-bottom:2px solid var(--mint);transform:rotate(-45deg);
}

/* ---------- tabs ---------- */
.tabs{
  position:relative;display:grid;grid-template-columns:1fr 1fr;gap:6px;max-width:660px;
  margin:0 auto clamp(20px,2.5vw,30px);background:var(--cream);border:1px solid var(--line);
  border-radius:18px;padding:6px;
}
.tabs__ind{
  position:absolute;top:6px;left:6px;height:calc(100% - 12px);width:calc(50% - 9px);
  background:var(--g);border-radius:13px;transition:transform .5s var(--e);z-index:0;
}
.tab{
  position:relative;z-index:1;background:none;border:0;border-radius:13px;cursor:pointer;
  padding:13px 18px;text-align:left;display:flex;flex-direction:column;gap:3px;
  transition:color .35s var(--e);color:var(--ink);
}
.tab b{font-family:var(--disp);font-size:.97rem;font-weight:700}
.tab em{font-style:normal;font-size:.83rem;color:var(--ink2);transition:color .35s var(--e)}
.tab.is-on{color:#fff}
.tab.is-on em{color:rgba(255,255,255,.72)}

.panel{display:none}
.panel.is-on{display:block;animation:panelIn .55s var(--e) both}
@keyframes panelIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ---------- form ---------- */
.form{
  background:var(--cream);border:1px solid var(--line);border-radius:22px;
  padding:clamp(20px,3vw,36px);box-shadow:0 30px 70px -40px rgba(4,24,15,.4);
}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.fgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 14px}
.f{position:relative}
.f--full{grid-column:1/-1}
.f input,.f select,.f textarea{
  font:inherit;font-size:.98rem;color:var(--ink);background:var(--paper);width:100%;
  border:1px solid var(--line);border-radius:12px;padding:17px 14px 6px;
  transition:border-color .3s var(--e),box-shadow .3s var(--e);
}
.f textarea{resize:vertical;min-height:78px;padding-top:21px}
.f label{
  position:absolute;left:16px;top:14px;font-size:.95rem;color:var(--ink2);pointer-events:none;
  transform-origin:0 0;transition:transform .28s var(--e),color .28s var(--e);
}
.f input:focus+label,.f textarea:focus+label,
.f input:not(:placeholder-shown)+label,.f textarea:not(:placeholder-shown)+label{
  transform:translateY(-9px) scale(.74);color:var(--g3);
}
.f--sel label{top:9px;transform:scale(.74);translate:0 0;color:var(--g3);font-weight:500}
.f--sel select{padding-top:24px;appearance:none;-webkit-appearance:none;padding-right:42px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%230E4034' stroke-width='1.6' d='M1 1.6l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 17px center;background-size:11px;
}
.f input:focus,.f select:focus,.f textarea:focus{
  outline:none;border-color:var(--g3);box-shadow:0 0 0 4px rgba(29,107,87,.12);
}
.f .bad,input.bad,select.bad,textarea.bad{border-color:#C0604A;box-shadow:0 0 0 4px rgba(192,96,74,.1)}

/* custom checkbox */
.consent{position:relative;display:flex;align-items:flex-start;gap:13px;margin-top:18px;font-size:.88rem;color:var(--ink2);cursor:pointer}
/* real input overlays the custom box: stays clickable + reachable by assistive tech */
.consent input{position:absolute;left:0;top:1px;width:21px;height:21px;margin:0;opacity:0;cursor:pointer;z-index:1}
.consent i{
  pointer-events:none;   /* decorative: let the real input take the click */
  width:21px;height:21px;border:1.5px solid var(--line);border-radius:7px;background:var(--paper);
  flex:none;margin-top:1px;position:relative;transition:background .25s var(--e),border-color .25s var(--e);
}
.consent i::after{
  content:"";position:absolute;left:6px;top:5px;width:7px;height:11px;border:solid #fff;
  border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .25s var(--e);
}
.consent input:checked+i{background:var(--g);border-color:var(--g)}
.consent input:checked+i::after{transform:rotate(45deg) scale(1)}
.consent input:focus-visible+i{outline:2px solid var(--mint2);outline-offset:3px}
.consent.bad i{border-color:#C0604A}

.form__foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:20px}
.form__note{font-size:.82rem;color:var(--ink2);margin:0}
.form__status{margin:20px 0 0;font-size:.93rem;display:none}
.form__status.on{display:block;animation:panelIn .5s var(--e) both}
.form__status.ok{color:var(--g3);font-weight:500}
.form__status.err{color:#C0604A}

/* ---------- cta / contact ---------- */
.cta{background:var(--d0);color:#fff;padding:clamp(40px,4.6vw,70px) 0}
.cta__in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
.cta__txt{color:rgba(255,255,255,.7);margin-top:1.1rem;max-width:42ch}
.cta__list{list-style:none;margin:0;padding:0;display:grid;gap:0}
.cta__list li{
  display:flex;align-items:baseline;gap:16px;padding:18px 0;border-bottom:1px solid var(--hair);
}
.cta__list li:last-child,.cta__list li.is-last{border-bottom:none}
.cta__list li>span:first-child{
  font-family:var(--disp);font-size:.68rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--mint2);min-width:100px;
}
.cta__list a{position:relative;font-size:1.05rem}
.cta__list a::after{
  content:"";position:absolute;left:0;bottom:-3px;width:100%;height:1px;background:var(--mint);
  transform:scaleX(0);transform-origin:100% 50%;transition:transform .45s var(--e);
}
.cta__list a:hover::after{transform:scaleX(1);transform-origin:0 50%}

/* ---------- footer ---------- */
.ftr{background:var(--d1);color:#fff;border-top:1px solid var(--hair);padding:clamp(36px,4vw,56px) 0 22px}
.ftr__top{
  display:grid;grid-template-columns:1.5fr 1fr 1.35fr 1fr;gap:clamp(24px,3vw,46px);
  align-items:start;padding-bottom:clamp(22px,2.6vw,32px);
}
.ftr__brand{max-width:34ch}
.ftr .logo--ftr img{width:128px;height:auto}
.ftr__tag{margin:.9rem 0 0;font-size:.86rem;line-height:1.55;color:rgba(255,255,255,.6)}
.ftr__motto{
  margin:.7rem 0 0;font-family:var(--disp);font-weight:600;font-size:.8rem;
  line-height:1.5;color:var(--mint2);
}
.ftr__tel{
  display:inline-block;margin-top:.9rem;font-family:var(--disp);font-weight:700;font-size:1rem;
  color:#fff;border-bottom:1px solid var(--mint-dim);transition:border-color .3s var(--e);
}
.ftr__tel:hover{border-bottom-color:var(--mint)}
.ftr__dir{margin:.7rem 0 0;font-size:.8rem;color:rgba(255,255,255,.45)}

.ftr__h{
  font-family:var(--disp);font-size:.7rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--mint2);margin:0 0 1rem;
}
.ftr__col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ftr__col li{font-size:.88rem;color:rgba(255,255,255,.62);line-height:1.45}
.ftr__col a{position:relative;color:rgba(255,255,255,.72);transition:color .25s var(--e)}
.ftr__col a::after{
  content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--mint);
  transform:scaleX(0);transform-origin:100% 50%;transition:transform .35s var(--e);
}
.ftr__col a:hover{color:#fff}
.ftr__col a:hover::after{transform:scaleX(1);transform-origin:0 50%}
.ftr__plain li{color:rgba(255,255,255,.62)}
/* qualified: .ftr__col a would otherwise win on specificity */
.ftr .ftr__cta{
  display:inline-flex;align-items:center;gap:7px;margin-top:1.2rem;
  font-family:var(--disp);font-weight:700;font-size:.86rem;color:var(--mint);
  transition:gap .3s var(--e),color .3s var(--e);
}
.ftr .ftr__cta::after{display:none}
.ftr .ftr__cta:hover{gap:12px;color:#fff}

.ftr__bar{
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 28px;
  border-top:1px solid var(--hair);padding-top:18px;
}
.ftr__bar p{margin:0;font-size:.8rem;color:rgba(255,255,255,.5)}
.ftr__fine{font-size:.76rem;color:rgba(255,255,255,.36);max-width:58ch}

@media (max-width:1040px){
  .ftr__top{grid-template-columns:1fr 1fr;gap:30px 26px}
  .ftr__brand{grid-column:1/-1;max-width:none}
}
@media (max-width:520px){
  /* pair the two SHORT columns on one row; the long Services list spans below them */
  .ftr__top{grid-template-columns:1fr 1fr;gap:24px 18px}
  .ftr__brand{order:0}
  .ftr__col{order:1}
  .ftr__col--wide{order:2;grid-column:1/-1}
  .ftr .logo--ftr img{width:118px}
  .ftr__col li{font-size:.84rem}
}

/* ---------- responsive ---------- */
@media (max-width:1040px){
  .hero__grid,.about,.prof,.cta__in{grid-template-columns:1fr}
  .about__side{position:static}
  .about__cols{columns:1}
  .hero__cta{justify-content:flex-start}
  .bento{grid-template-columns:repeat(2,1fr)}
  .cell--lg,.cell--wide{grid-column:span 2}
      .who{grid-template-columns:repeat(2,1fr)}
  .who li:nth-child(2n){border-right:none}
  .who li{padding-right:18px}
      .lock--start{align-items:center}
  .prof__card{max-width:460px;margin-inline:auto}
}
@media (max-width:760px){
  html{scroll-padding-top:86px}
  body{font-size:16px}
  .hdr__in{min-height:106px;position:relative}
  .hdr.stuck .hdr__in{min-height:74px}
  .burger{display:flex}
  .nav{
    position:absolute;top:calc(100% + 10px);left:0;right:0;flex-direction:column;align-items:stretch;
    gap:2px;background:rgba(6,35,26,.96);backdrop-filter:blur(16px);border:1px solid var(--hair);
    border-radius:18px;padding:12px;display:none;
  }
  .nav.open{display:flex;animation:panelIn .4s var(--e) both}
  .nav>a{padding:14px 16px;border-radius:12px}
  .nav .btn{margin-top:8px;justify-content:center}
  .tagline{font-size:.62rem;letter-spacing:.15em;padding:9px 17px;margin-bottom:1.6rem}
  .lock--sm .lock__mark{width:38px}
  .lock--sm .lock__name{font-size:.98rem}
  .lock--sm .lock__tag{font-size:.4rem;letter-spacing:.16em}
  .hero{padding:126px 0 52px}
  .hero__h1{font-size:clamp(1.75rem,7.7vw,2.5rem);letter-spacing:-.018em;max-width:none}
  .bento,.fgrid,.tabs,.who{grid-template-columns:1fr}
  .cell--lg,.cell--wide{grid-column:span 1}
  .who li{border-right:none;border-bottom:1px solid var(--line);padding:20px 0}
  .who li:last-child{border-bottom:none}
  .tabs__ind{width:calc(100% - 12px);height:calc(50% - 9px)}
  .hero__cta .btn{flex:1 1 100%}
  .cta__list li{flex-direction:column;gap:4px}
}

/* ---------- motion off ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  [data-rise],.wd>i{opacity:1 !important;transform:none !important}
  .marquee__track{animation:none}
  .aurora{opacity:.5}
}
@media print{.hdr,.grain,.progress,.hero__cta,.tabs,.form,.cta,.marquee{display:none !important}body{background:#fff;color:#000}}

/* ---------- mobile quick-action bar ---------- */
.callbar{display:none}
@media (max-width:760px){
  .callbar{
    position:fixed;left:0;right:0;bottom:0;z-index:150;display:flex;gap:10px;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
    background:rgba(6,35,26,.93);backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);border-top:1px solid var(--hair);
  }
  .callbar a{
    flex:1;display:inline-flex;align-items:center;justify-content:center;gap:9px;
    padding:14px 18px;border-radius:999px;font-family:var(--disp);font-weight:700;font-size:.92rem;
  }
  .callbar__call{background:#fff;color:var(--g)}
  .callbar__enq{border:1px solid rgba(255,255,255,.42);color:#fff}
  /* keep the fixed bar from covering the end of the page */
  body:has(.callbar:not([hidden])) .ftr{padding-bottom:108px}
}

/* ---------- supplied logo artwork (replaces the old text lockup) ---------- */
.logo{display:inline-flex;align-items:center}
.logo img{display:block;width:auto;height:auto}
/* header: sized so SEAGULL stays clearly legible; the fine tagline reads as texture at this scale */
.logo--sm img{height:96px;transition:height .35s var(--e)}
.hdr.stuck .logo--sm img{height:56px}
.logo--lg img{width:min(290px,78%)}
.prof__card .logo--lg{display:flex;justify-content:center;width:100%;margin-top:1.8rem;padding-top:2rem;border-top:1px solid var(--hair)}

@media (max-width:760px){
  .logo--sm img{height:74px}
  .hdr.stuck .logo--sm img{height:46px}
  .logo--lg img{width:min(240px,74%)}
  }
@media (max-width:420px){
  .logo--sm img{height:64px}
  .hdr.stuck .logo--sm img{height:42px}
}

/* ---------- approach pillars ---------- */
.pillars{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pillars li{
  background:var(--cream);border:1px solid var(--line);border-radius:18px;padding:24px 22px;
  transition:transform .4s var(--e),border-color .4s var(--e);
}
.pillars li:hover{transform:translateY(-4px);border-color:var(--g3)}
.pillar__ico{width:30px;height:30px;color:var(--g);margin-bottom:.85rem}
.pillars h3{margin-bottom:.55rem}
.pillars p{color:var(--ink2);font-size:.95rem;margin:0}

/* ---------- strategic guidance chips ---------- */
.guide{margin-top:clamp(22px,2.8vw,36px)}
.guide__lead{
  font-family:var(--disp);font-weight:700;font-size:.78rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--g3);margin:0 0 1.2rem;
}
.guide__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.guide__grid li{
  position:relative;padding:11px 14px 11px 32px;border:1px solid var(--line);border-radius:12px;
  font-size:.88rem;color:var(--ink2);background:#fff;
}
.guide__grid li::before{
  content:"";position:absolute;left:15px;top:1.25em;width:7px;height:7px;border-radius:50%;background:var(--g3);
}

/* ---------- profile extras ---------- */
.prof__motto{
  font-family:var(--disp);font-weight:600;font-size:.84rem;color:var(--mint);
  margin:1.1rem 0 0;line-height:1.5;
}
.yrs{display:flex;align-items:center;gap:16px;margin:1.1rem 0 1.1rem}
.yrs b{
  font-family:var(--disp);font-weight:800;font-size:clamp(2.8rem,5vw,4rem);line-height:.9;
  color:#fff;letter-spacing:-.04em;
}
.yrs b sup{font-size:.42em;vertical-align:super;color:var(--mint);margin-left:.04em}
.yrs span{
  font-family:var(--disp);font-size:.76rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--mint2);line-height:1.6;
  padding-left:18px;border-left:1px solid var(--hair);
}
.prof__sub{
  font-family:var(--disp);font-size:.76rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--mint2);margin:1.4rem 0 .7rem;
}
.ticks li b{color:#fff;font-weight:600}

/* ---------- key markets ---------- */
.mkts{margin-top:clamp(26px,3.2vw,44px);padding-top:clamp(20px,2.6vw,32px);border-top:1px solid var(--hair)}
.mkts__lead{
  font-family:var(--disp);font-weight:700;font-size:.72rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--mint2);margin:0 0 1.4rem;
}
.mkts__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.mkts__grid li{
  border:1px solid var(--hair);border-radius:14px;padding:13px 16px;
  background:rgba(255,255,255,.04);transition:background .35s var(--e),border-color .35s var(--e);
}
.mkts__grid li:hover{background:rgba(255,255,255,.08);border-color:rgba(168,216,192,.42)}
.mkts__grid span{font-family:var(--disp);font-weight:700;font-size:1rem;color:#fff;letter-spacing:-.01em}

/* ---------- pull quote ---------- */
.quote{background:var(--g);padding:clamp(34px,4vw,58px) 0}
.quote blockquote{margin:0;max-width:60ch}
.quote p{
  font-family:var(--disp);font-weight:600;font-size:clamp(1.15rem,2.4vw,1.75rem);
  line-height:1.38;letter-spacing:-.02em;color:#fff;margin:0 0 1.2rem;position:relative;padding-left:28px;
}
.quote p::before{
  content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:3px;border-radius:3px;background:var(--mint);
}
.quote em{font-style:normal;color:var(--mint)}
.quote cite{
  font-style:normal;font-family:var(--disp);font-size:.74rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--mint2);padding-left:28px;
}

@media (max-width:1040px){
  .pillars{grid-template-columns:1fr}
  .guide__grid{grid-template-columns:repeat(2,1fr)}
  .mkts__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  .guide__grid,.mkts__grid{grid-template-columns:1fr}
  .yrs{gap:14px}
}

/* ---------- hero credibility line ---------- */
.cred{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:1.3rem 0 0;
  font-size:.88rem;color:rgba(255,255,255,.62);
}
.cred b{font-family:var(--disp);font-weight:700;font-size:.94rem;color:var(--mint);margin-right:2px}
.cred i{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.3);flex:none}
@media (max-width:620px){
  .cred{font-size:.82rem;gap:5px 9px;margin-top:1.5rem}
}

/* ---------- partnership ---------- */
.partner{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,4vw,60px);align-items:start}
.partner__lead{color:rgba(255,255,255,.78);margin-top:1rem;max-width:44ch}
.partner__who{list-style:none;margin:1.1rem 0 0;padding:0;display:grid;gap:9px}
.partner__who li{
  position:relative;padding-left:26px;font-size:.93rem;color:rgba(255,255,255,.82);
}
.partner__who li::before{
  content:"";position:absolute;left:0;top:.55em;width:11px;height:6px;
  border-left:2px solid var(--mint);border-bottom:2px solid var(--mint);transform:rotate(-45deg);
}

/* file attachment control */
.filefield{margin-top:16px}
.filefield__label{
  font-family:var(--disp);font-size:.78rem;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--g3);margin:0 0 8px;
}
.filefield__input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.filefield__drop{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;cursor:pointer;
  border:1.5px dashed var(--line);border-radius:14px;background:#fff;padding:16px 18px;
  transition:border-color .25s var(--e),background .25s var(--e);
}
.filefield__drop:hover{border-color:var(--g3);background:var(--cream)}
.filefield__input:focus-visible+.filefield__drop{outline:2px solid var(--g3);outline-offset:3px}
.filefield__drop svg{color:var(--g3);flex:none}
.filefield__btn{
  font-family:var(--disp);font-weight:700;font-size:.86rem;color:var(--g);
  border:1px solid var(--line);border-radius:999px;padding:8px 16px;background:var(--cream);flex:none;
}
.filefield__name{font-size:.86rem;color:var(--ink2);min-width:0;overflow-wrap:anywhere}
.filefield.has-file .filefield__drop{border-style:solid;border-color:var(--g3)}
.filefield.has-file .filefield__name{color:var(--g);font-weight:500}
.filefield.bad .filefield__drop{border-color:#C0604A;background:rgba(192,96,74,.04)}

@media (max-width:1040px){
  .partner{grid-template-columns:1fr;gap:28px}
  .partner__lead{max-width:none}
}
@media (max-width:620px){
  .filefield__drop{padding:14px 15px;gap:10px}
  .filefield__btn{padding:7px 14px;font-size:.82rem}
  .filefield__name{width:100%;font-size:.8rem}
}


/* ---------- hero animated graphic ---------- */
.hero__in{position:relative}
.art{position:absolute;right:22px;top:0;width:320px;pointer-events:none}
.art svg{width:100%;height:auto;display:block;overflow:hidden}

.art__grid path{stroke:rgba(255,255,255,.13);stroke-width:1}
.art__plot{
  fill:rgba(168,216,192,.06);stroke:var(--mint2);stroke-width:1.4;
  stroke-dasharray:6 5;animation:plotDash 9s linear infinite;
}
@keyframes plotDash{to{stroke-dashoffset:-88}}

.art__city rect{fill:#fff}
.bld{transform-origin:50% 210px;animation:rise 1.1s var(--e) both}
.bld--1{animation-delay:.15s}
.bld--2{animation-delay:.3s}
.bld--3{animation-delay:.45s}
.bld--4{animation-delay:.6s}
.bld--5{animation-delay:.75s}
@keyframes rise{from{transform:scaleY(0)}to{transform:scaleY(1)}}

.art__win rect{fill:var(--g);animation:twinkle 4.5s var(--e) infinite}
.art__win rect:nth-child(2n){animation-delay:1.1s}
.art__win rect:nth-child(3n){animation-delay:2.2s}
.art__win rect:nth-child(5n){animation-delay:3.1s}
@keyframes twinkle{0%,100%{opacity:.25}45%{opacity:.95}}

.art__roof{
  stroke:var(--mint);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:150;stroke-dashoffset:150;animation:draw 1.4s var(--e) .95s forwards;
}
@keyframes draw{to{stroke-dashoffset:0}}

.art__pin circle{fill:var(--mint)}
.art__pin .ring{fill:none;stroke:var(--mint);stroke-width:1.5;transform-origin:center;animation:pingRing 2.8s var(--e) infinite}
.art__pin--b .ring{animation-delay:1.4s}
@keyframes pingRing{0%{transform:scale(1);opacity:.85}70%{transform:scale(3.6);opacity:0}100%{opacity:0}}


@media (max-width:1180px){
  .art{display:none}
}

/* the art is pinned right; keep the wide lede box clear of it (h1 already ends well short) */
@media (min-width:1181px){
  .hero__lede{max-width:calc(100% - 350px)}
}

/* ---------- LinkedIn ---------- */
.prof__li{
  position:relative;display:inline-flex;align-items:center;gap:9px;margin-top:1.3rem;
  padding:10px 20px;border-radius:999px;border:1px solid var(--hair);
  background:rgba(255,255,255,.06);color:#fff;
  font-family:var(--disp);font-weight:700;font-size:.84rem;
  transition:background .3s var(--e),border-color .3s var(--e),transform .3s var(--e);
}
.prof__li:hover{background:rgba(255,255,255,.13);border-color:var(--mint2);transform:translateY(-2px)}
.prof__li svg{flex:none;color:var(--mint)}

.ftr .ftr__li{
  /* flex (block-level) so it starts its own line under the phone */
  display:flex;width:fit-content;align-items:center;gap:8px;margin-top:.7rem;
  font-family:var(--disp);font-weight:700;font-size:.86rem;color:var(--mint);
  transition:color .3s var(--e);
}
.ftr .ftr__li::after{display:none}
.ftr .ftr__li:hover{color:#fff}
.ftr .ftr__li svg{flex:none}

/* ---------- authorised partner band ---------- */
.partnerbar{background:var(--d0);border-block:1px solid var(--hair);padding:clamp(26px,3vw,40px) 0}
.partnerbar__in{display:flex;align-items:center;justify-content:center;gap:clamp(16px,3vw,34px);flex-wrap:wrap}
.partnerbar__kicker{
  font-family:var(--disp);font-size:.68rem;font-weight:700;letter-spacing:.22em;
  text-transform:uppercase;color:var(--mint2);margin:0;
}
.partnerbar__card{
  background:#fff;border-radius:12px;padding:14px 22px;display:flex;align-items:center;
  box-shadow:0 10px 30px -18px rgba(0,0,0,.6);
}
.partnerbar__card img{display:block;width:132px;height:auto}
.partnerbar__text{margin:0;display:flex;flex-direction:column;gap:2px;line-height:1.35}
.partnerbar__text b{font-family:var(--disp);font-size:.98rem;font-weight:700;color:#fff;letter-spacing:-.01em}
.partnerbar__text span{font-size:.85rem;color:rgba(255,255,255,.62)}
@media (max-width:620px){
  .partnerbar__in{flex-direction:column;gap:14px;text-align:center}
  .partnerbar__text{align-items:center}
}
