:root{
  --cream:#f5f0e4;
  --paper:#fffdf8;
  --sage:#d9e6d3;
  --sage2:#c9dcc4;
  --green:#4f7d72;
  --deep:#163f3b;
  --blue:#64abc8;
  --sky:#c7e2f2;
  --orange:#ea553d;
  --orange2:#ffab48;
  --yellow:#f0d84d;
  --ink:#18211f;
  --muted:#68716e;
  --line:#d7d1c6;
  --max:1240px;
  --shadow:0 28px 60px rgba(24,33,31,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at 10% 0%, rgba(201,220,196,.38), transparent 24%),
    linear-gradient(180deg,#faf7f1 0%,var(--cream) 100%);
  font-family:"Manrope",system-ui,sans-serif;
  line-height:1.55;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{width:min(var(--max),calc(100% - 42px));margin:auto}
h1,h2,h3,.brand strong,.manifesto-number,.about-label{
  font-family:"Space Grotesk",system-ui,sans-serif;
  letter-spacing:-.055em;
}
.mini,.eyebrow{
  font-family:"DM Mono",monospace;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.66rem;
}

/* HEADER */
.header{
  position:sticky;top:0;z-index:60;
  background:rgba(245,240,228,.74);
  backdrop-filter:blur(22px);
  border-bottom:1px solid rgba(24,33,31,.08);
}
.nav{
  min-height:84px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:28px;
}
.brand{display:flex;flex-direction:column}
.brand strong{font-size:1.45rem;color:var(--deep)}
.brand span{
  font-family:"DM Mono",monospace;
  font-size:.55rem;letter-spacing:.08em;color:var(--muted)
}
nav{display:flex;justify-content:center;gap:28px}
nav a{
  font-family:"DM Mono",monospace;
  font-size:.62rem;text-transform:uppercase;letter-spacing:.08em
}
.nav-phone{
  background:linear-gradient(135deg,var(--deep),#255951);
  color:white;
  padding:12px 15px;
  font-family:"DM Mono",monospace;font-size:.65rem;
  box-shadow:0 16px 30px rgba(22,63,59,.18)
}

/* HERO */
.hero{
  position:relative;
  overflow:hidden;
  padding:86px 0 0;
  background:
    radial-gradient(circle at 8% 8%, rgba(201,220,196,.85), transparent 24%),
    linear-gradient(180deg,#f9f6ee 0%,var(--cream) 100%);
}
.hero-grid{
  display:grid;
  grid-template-columns:1fr .98fr;
  gap:70px;
  align-items:center;
}
.eyebrow{color:var(--green)}
.hero h1{
  font-size:clamp(4.3rem,7.6vw,7.7rem);
  line-height:.83;
  margin:18px 0 26px;
}
.hero h1 em{font-style:normal;color:var(--orange)}
.hero-copy>p{
  max-width:620px;color:#4f5a56;font-size:1.02rem;
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:50px;padding:0 18px;
  font-family:"DM Mono",monospace;
  font-size:.65rem;text-transform:uppercase;letter-spacing:.06em
}
.btn-primary{
  background:linear-gradient(135deg,var(--deep),#255951);
  color:white
}
.btn-ghost{
  background:rgba(255,255,255,.55);
  border:1px solid rgba(24,33,31,.12);
  backdrop-filter:blur(10px)
}
.hero-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px}
.hero-meta div{padding-top:14px;border-top:1px solid var(--line)}
.hero-meta span,.hero-meta strong{display:block}
.hero-meta span{
  font-family:"DM Mono",monospace;
  font-size:.53rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)
}
.hero-meta strong{font-size:.84rem;margin-top:6px}

.hero-art{
  position:relative;
  min-height:650px;
}
.art-bg{
  position:absolute;inset:32px 12px 12px 54px;
  border-radius:180px 24px 180px 24px;
  background:linear-gradient(145deg, rgba(201,220,196,.95), rgba(100,171,200,.65));
  filter:blur(4px);
}
.hero-art img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  border-radius:170px 18px 170px 18px;
  box-shadow:var(--shadow);
  clip-path:inset(0 round 170px 18px 170px 18px);
}
.art-overlay{
  position:absolute;inset:0;
  border-radius:170px 18px 170px 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(22,63,59,.12)),
    linear-gradient(120deg, rgba(100,171,200,.2), transparent 45%, rgba(234,85,61,.18));
  pointer-events:none;
}
.hero-art::after{
  content:"";
  position:absolute;right:-26px;top:110px;width:120px;height:120px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.7), rgba(240,216,77,.96));
  mix-blend-mode:multiply;opacity:.78;
}
.art-tag{
  position:absolute;z-index:2;
  background:rgba(255,253,248,.78);
  backdrop-filter:blur(12px);
  padding:10px 12px;
  font-family:"DM Mono",monospace;
  font-size:.56rem;letter-spacing:.08em;
  box-shadow:0 12px 28px rgba(24,33,31,.10)
}
.art-tag-top{left:-24px;top:44px;color:var(--deep)}
.art-tag-bottom{
  right:18px;bottom:26px;
  background:linear-gradient(135deg,var(--orange),var(--orange2));color:white
}

.hero-ribbon{
  display:grid;grid-template-columns:repeat(6,1fr);
  margin-top:54px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.34);
  backdrop-filter:blur(8px);
}
.hero-ribbon span{
  min-height:66px;display:flex;align-items:center;padding:0 14px;
  border-right:1px solid var(--line);
  font-family:"DM Mono",monospace;
  font-size:.56rem;text-transform:uppercase;letter-spacing:.06em
}
.hero-ribbon span:last-child{border-right:0}

/* MANIFESTO */
.manifesto{
  margin-top:74px;background:linear-gradient(135deg,var(--deep),#255951);color:white;
  position:relative;overflow:hidden;
}
.manifesto::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(120deg, rgba(100,171,200,.08), transparent 35%),
    radial-gradient(circle at 80% 20%, rgba(240,216,77,.16), transparent 22%);
}
.manifesto::after{
  content:"";position:absolute;right:-100px;top:-100px;
  width:420px;height:420px;border-radius:50%;
  border:72px solid rgba(240,216,77,.10)
}
.manifesto-grid{
  min-height:260px;display:grid;
  grid-template-columns:280px 1fr;
  gap:50px;align-items:center;position:relative;z-index:2
}
.manifesto-number{font-size:8.8rem;line-height:.75;color:var(--yellow)}
.manifesto h2{
  font-size:clamp(2.5rem,5vw,5rem);
  line-height:.9;margin:12px 0 0;max-width:820px
}
.manifesto .mini{color:var(--sage2)}

/* GENERIC */
.section{padding:104px 0}
.section-head{max-width:820px;margin-bottom:42px}
.section h2,.image-story h2,.zone h2,.about h2,.contact h2{
  font-size:clamp(3rem,5.8vw,5.6rem);
  line-height:.9;margin:12px 0 16px
}
.section-head p,.pigeon-copy p,.zone-intro p,.about-copy p{max-width:720px;color:var(--muted)}

/* SERVICES */
.services{background:linear-gradient(180deg, rgba(255,255,255,.58), rgba(255,253,248,.85))}
.service-editorial{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:16px
}
.service-block{
  position:relative;overflow:hidden;
  min-height:300px;padding:26px;
  border:1px solid rgba(24,33,31,.08);
  background:rgba(245,240,228,.74);
  backdrop-filter:blur(8px)
}
.service-block.large{
  grid-row:span 2;min-height:616px;
  background:linear-gradient(150deg, rgba(217,230,211,.96) 0%, rgba(237,243,234,.86) 100%)
}
.service-block.dark{
  background:linear-gradient(145deg, var(--deep), #24554f);
  color:white
}
.service-block.acid{
  background:linear-gradient(145deg, rgba(240,216,77,.98), rgba(255,171,72,.78))
}
.service-block .index{font-family:"DM Mono",monospace;font-size:.58rem}
.service-block h3{
  font-size:clamp(2.1rem,4vw,4rem);
  line-height:.9;margin:74px 0 16px
}
.service-block p{max-width:430px;margin:0;color:#52605a}
.service-block.dark p{color:#dce8e3}
.service-block::after{
  content:"";position:absolute;right:-72px;bottom:-72px;
  width:200px;height:200px;border-radius:50%;
  border:28px solid rgba(79,125,114,.10)
}
.service-block.dark::after{border-color:rgba(240,216,77,.12)}
.service-line{
  position:absolute;left:26px;right:26px;bottom:28px;height:14px;
  background:linear-gradient(90deg,var(--green) 0 55%,var(--orange) 55% 72%,var(--yellow) 72%)
}

/* IMAGE STORY */
.image-story{
  display:grid;grid-template-columns:1.1fr .9fr;
  min-height:720px;background:white;
}
.story-image{
  position:relative;
  min-height:720px;overflow:hidden;background:var(--sky);
}
.story-image img{
  width:100%;height:100%;object-fit:cover;object-position:center;
}
.story-image-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(100,171,200,.18)),
    linear-gradient(140deg, rgba(79,125,114,.1), transparent 38%, rgba(234,85,61,.14));
}
.story-copy{
  padding:90px max(48px,7vw);
  display:flex;flex-direction:column;justify-content:center;
  background:linear-gradient(160deg,#f7fbfd 0%,rgba(199,226,242,.92) 100%)
}
.story-copy .mini{color:#3d6b89}
.story-copy>p{max-width:560px;color:#52636f}
.story-list{margin-top:28px}
.story-list>div{
  display:grid;grid-template-columns:46px 1fr;
  gap:12px;padding:20px 0;
  border-top:1px solid rgba(22,63,59,.14)
}
.story-list>div:last-child{border-bottom:1px solid rgba(22,63,59,.14)}
.story-list span{font-family:"DM Mono",monospace;font-size:.56rem;color:#3d6b89}
.story-list strong{font-size:1.05rem}
.story-list p{grid-column:2;margin:0;color:#5c6970;font-size:.9rem}

/* PIGEONS */
.pigeon-section{
  background:
    radial-gradient(circle at 82% 30%, rgba(100,171,200,.16), transparent 22%),
    radial-gradient(circle at 18% 76%, rgba(234,85,61,.10), transparent 20%),
    linear-gradient(180deg, rgba(255,255,255,.45), rgba(245,240,228,.92));
}
.pigeon-grid{
  display:grid;grid-template-columns:.84fr 1.16fr;
  gap:80px;align-items:center
}
.pigeon-points{
  display:grid;gap:14px;margin-top:28px;
}
.pigeon-points div{
  padding:16px 18px;
  background:rgba(255,255,255,.46);
  border:1px solid rgba(24,33,31,.08);
  backdrop-filter:blur(10px)
}
.pigeon-points strong,.pigeon-points span{display:block}
.pigeon-points span{font-size:.88rem;color:var(--muted);margin-top:4px}

.pigeon-stage{
  position:relative;
  min-height:560px;
  border-radius:34px;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(22,63,59,.96), rgba(79,125,114,.88) 42%, rgba(100,171,200,.82));
  box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.24);
}
.pigeon-stage::before{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(115deg, rgba(255,255,255,.08), transparent 38%),
    radial-gradient(circle at 82% 18%, rgba(255,171,72,.18), transparent 20%),
    radial-gradient(circle at 16% 78%, rgba(240,216,77,.14), transparent 16%);
}
.pigeon-glow{
  position:absolute;border-radius:50%;
  filter:blur(10px);opacity:.9
}
.pigeon-glow-a{
  width:240px;height:240px;right:-30px;top:-20px;
  background:radial-gradient(circle, rgba(255,171,72,.34), transparent 68%)
}
.pigeon-glow-b{
  width:260px;height:260px;left:-40px;bottom:-40px;
  background:radial-gradient(circle, rgba(100,171,200,.34), transparent 70%)
}
.pigeon-main-image{
  position:absolute;
  inset:40px 120px 96px 42px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.02)),
    url("assets/pigeons.jpg") center/cover no-repeat;
  border-radius:180px 30px 180px 30px;
  box-shadow:0 22px 54px rgba(7,16,15,.22);
  overflow:hidden;
}
.pigeon-main-image::after{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(22,63,59,.16), rgba(22,63,59,.02) 45%, rgba(22,63,59,.12)),
    linear-gradient(120deg, rgba(255,255,255,.08), transparent 45%, rgba(100,171,200,.18));
}
.pigeon-frame{
  position:absolute;inset:22px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:28px;
}
.pigeon-detail{
  position:absolute;
  width:174px;height:174px;
  border-radius:28px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.26);
  box-shadow:0 18px 34px rgba(7,16,15,.22);
}
.pigeon-detail::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(22,63,59,.14));
}
.pigeon-detail-left{
  right:42px;top:58px;
  background:url("assets/pigeons.jpg") left top/260% auto no-repeat;
}
.pigeon-detail-right{
  right:26px;bottom:74px;
  width:188px;height:132px;
  background:url("assets/pigeons.jpg") right bottom/240% auto no-repeat;
}
.pigeon-chip{
  position:absolute;z-index:3;
  background:rgba(255,255,255,.16);
  color:white;
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(10px);
  font-family:"DM Mono",monospace;
  font-size:.56rem;
  letter-spacing:.08em;
  padding:11px 14px;
}
.chip-top{left:34px;top:24px}
.chip-bottom{left:34px;bottom:28px;max-width:330px}

/* ZONE */
.zone{
  padding:100px 0;
  background:
    linear-gradient(135deg, var(--green), #5d8f83 48%, #7ba7b1);
  color:white
}
.zone-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:76px;align-items:end}
.zone .mini{color:var(--yellow)}
.zone h2{margin-bottom:0}
.departments{
  display:grid;grid-template-columns:repeat(5,1fr);
  border-top:1px solid rgba(255,255,255,.22);
  border-bottom:1px solid rgba(255,255,255,.22)
}
.departments div{
  padding:22px 14px;
  border-right:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.05)
}
.departments div:last-child{border-right:0}
.departments strong,.departments span{display:block}
.departments strong{
  font-family:"Space Grotesk";font-size:2.8rem;line-height:1;color:var(--yellow)
}
.departments span{
  margin-top:7px;font-family:"DM Mono",monospace;font-size:.52rem;text-transform:uppercase
}

/* ABOUT */
.about{
  padding:104px 0;
  background:
    linear-gradient(180deg, rgba(255,253,248,.86), rgba(255,255,255,.8))
}
.about-grid{display:grid;grid-template-columns:.62fr 1.38fr;gap:70px;align-items:start}
.about-label{
  font-size:clamp(5rem,10vw,9rem);
  line-height:.8;
  background:linear-gradient(180deg,var(--orange),var(--yellow));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  writing-mode:vertical-rl;transform:rotate(180deg)
}
.about-copy{max-width:820px}
.about-facts{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:14px;margin-top:34px
}
.about-facts div{
  padding:16px 0 0;
  border-top:1px solid var(--line)
}
.about-facts span,.about-facts strong{display:block}
.about-facts span{
  font-family:"DM Mono",monospace;font-size:.52rem;text-transform:uppercase;color:var(--muted)
}
.about-facts strong{margin-top:6px;font-size:.85rem}

/* CONTACT */
.contact{
  padding:104px 0;
  background:linear-gradient(135deg,var(--orange),#df6a45 42%, var(--orange2));
  color:white;position:relative;overflow:hidden
}
.contact::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(120deg, rgba(255,255,255,.08), transparent 36%, rgba(100,171,200,.16));
}
.contact::after{
  content:"";position:absolute;right:-80px;top:-120px;
  width:500px;height:500px;border-radius:50%;
  border:80px solid rgba(255,255,255,.10)
}
.contact-grid{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr 460px;gap:80px;align-items:start
}
.contact .mini.light{color:#fff4d0}
.contact h2{max-width:760px}
.contact p{color:#fff5ef}
.contact-panel{
  background:rgba(255,253,248,.84);color:var(--ink);
  padding:30px;box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.26);
  backdrop-filter:blur(14px)
}
.contact-panel span,.contact-panel strong,.contact-panel a{display:block}
.contact-panel span{
  margin-top:16px;
  font-family:"DM Mono",monospace;font-size:.52rem;text-transform:uppercase;color:var(--muted)
}
.contact-panel span:first-child{margin-top:0}
.big-phone{
  font-family:"Space Grotesk";font-size:2.7rem;line-height:1;color:var(--deep);margin:8px 0 18px
}
.contact-panel strong,.contact-panel>a:not(.big-phone){margin-top:6px;font-size:.9rem}

/* FOOTER */
footer{background:#101917;color:white;padding:48px 0 98px}
.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px}
.footer-brand strong{color:var(--sage2)}
.footer-grid>div:not(.brand){display:flex;flex-direction:column;gap:7px}
.footer-grid a,.footer-grid span{font-size:.78rem;color:#cbd6d1}
.credit{font-family:"DM Mono",monospace;font-size:.54rem!important;color:#7f918a!important}

.mobile-bar{display:none}

/* RESPONSIVE */
@media(max-width:1050px){
  nav{display:none}
  .hero-grid,.pigeon-grid,.zone-grid,.about-grid,.contact-grid{grid-template-columns:1fr}
  .hero-art{min-height:600px}
  .image-story{grid-template-columns:1fr}
  .story-image{min-height:520px}
  .about-label{writing-mode:initial;transform:none}
  .departments{grid-template-columns:repeat(5,1fr)}
  .pigeon-stage{min-height:500px}
}
@media(max-width:820px){
  .hero-ribbon{grid-template-columns:repeat(3,1fr)}
  .service-editorial{grid-template-columns:1fr}
  .service-block.large{grid-row:auto;min-height:360px}
  .manifesto-grid{grid-template-columns:1fr;gap:12px;padding:50px 0}
  .about-facts{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .pigeon-main-image{inset:44px 26px 150px 26px}
  .pigeon-detail-left{right:28px;top:auto;bottom:78px;width:150px;height:150px}
  .pigeon-detail-right{display:none}
  .chip-bottom{max-width:260px}
}
@media(max-width:640px){
  .wrap{width:min(var(--max),calc(100% - 26px))}
  .nav{min-height:70px;grid-template-columns:auto auto}
  .brand span{display:none}
  .nav-phone{padding:10px;font-size:.58rem}
  .hero{padding-top:58px}
  .hero h1{font-size:3.55rem}
  .hero-grid{gap:34px}
  .hero-meta{grid-template-columns:1fr}
  .hero-art{min-height:430px}
  .art-tag-top{left:10px}
  .hero-ribbon{grid-template-columns:1fr 1fr}
  .manifesto-number{font-size:6.8rem}
  .manifesto h2{font-size:2.4rem}
  .section,.about,.contact,.zone{padding:74px 0}
  .section h2,.image-story h2,.zone h2,.about h2,.contact h2{font-size:3rem}
  .story-image{min-height:360px}
  .story-copy{padding:54px 24px}
  .pigeon-stage{min-height:410px}
  .pigeon-main-image{
    inset:54px 16px 146px 16px;
    border-radius:130px 20px 130px 20px;
  }
  .pigeon-detail-left{
    right:18px;bottom:56px;width:118px;height:118px;border-radius:22px
  }
  .pigeon-chip{font-size:.5rem}
  .chip-top{left:16px;top:14px}
  .chip-bottom{left:16px;right:16px;bottom:14px;max-width:none}
  .departments{grid-template-columns:1fr 1fr}
  .departments div:nth-child(2n){border-right:0}
  .about-facts{grid-template-columns:1fr}
  .big-phone{font-size:2rem}
  .mobile-bar{
    position:fixed;left:10px;right:10px;bottom:10px;z-index:90;
    display:grid;grid-template-columns:1fr 1fr;
    background:#101917;padding:6px;box-shadow:0 18px 40px rgba(0,0,0,.28)
  }
  .mobile-bar a{
    padding:12px;text-align:center;color:white;
    font-family:"DM Mono",monospace;font-size:.64rem;text-transform:uppercase
  }
  .mobile-bar a:first-child{background:var(--green)}
}