*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#20262B;background:#F8F6F0;font-family:"DM Sans",Arial,sans-serif;line-height:1.65}a{text-decoration:none;color:inherit}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.narrow{max-width:780px;text-align:center}.site-header,header{position:sticky;top:0;z-index:20;background:rgba(255,253,249,.95);backdrop-filter:blur(12px);border-bottom:1px solid #D9D5CB}.nav{height:76px;display:flex;align-items:center;gap:32px}.logo{display:flex;align-items:center;gap:10px;margin-right:auto}.logo>span{width:39px;height:39px;border:1px solid #12304A;display:grid;place-items:center;font:700 15px "Playfair Display",serif;color:#12304A}.logo b,.logo small{display:block;line-height:1}.logo b{font-size:14px}.logo small{font-size:8px;letter-spacing:.25em;color:#12304A;margin-top:5px}.nav nav{display:flex;gap:26px;font-size:14px}.mini-cta,.cta{background:#12304A;color:white;padding:12px 18px;font-size:13px;font-weight:700}.mini-cta{padding:9px 14px}.hero{background:#F8F6F0;padding:78px 0}.hero-grid{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center}.eyebrow{font-size:11px;letter-spacing:.2em;color:#12304A;font-weight:700;margin:0 0 16px}.hero h1,h2{font-family:"Playfair Display",serif;line-height:1.02;letter-spacing:-.025em}.hero h1{font-size:clamp(52px,7vw,84px);margin:0 0 22px}.hero h1 em,h2 em{font-style:italic;color:#12304A}.hero-copy{font-size:20px;color:#5E6870;max-width:560px}.actions{display:flex;gap:25px;align-items:center;margin:30px 0}.link{font-size:12px;font-weight:700}.stats{display:flex;gap:34px;margin-top:40px}.stats div{display:flex;flex-direction:column}.stats b{font-size:16px}.stats span{font-size:12px;color:#5E6870}.visual{min-height:490px;background:#12304A;color:#fff;padding:25px;position:relative;overflow:hidden}.visual:after{content:"";position:absolute;inset:0;opacity:.08;background-image:radial-gradient(#fff .6px,transparent .7px);background-size:7px 7px}.visual-top,.visual-bottom{position:relative;z-index:2;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.18em}.visual-title{position:absolute;z-index:2;left:28px;bottom:62px;font:700 49px/0.9 "Playfair Display",serif}.visual-title em{color:#D4A84F}.visual-bottom{position:absolute;bottom:25px;left:25px;right:25px}.needle{position:absolute;left:50%;top:43%;width:210px;height:150px;transform:translate(-50%,-50%);z-index:2}.needle i{position:absolute;width:88px;height:88px;border:1px solid #D4A84F;border-radius:50%;left:15px;top:25px}.needle b{position:absolute;width:175px;height:1px;background:#fff;transform:rotate(-33deg);top:72px;left:27px}.intro{padding:105px 0}.intro h2,.heading h2,.about h2,.dark h2,.contact h2{font-size:clamp(40px,5vw,60px);margin:0 0 20px}.intro .narrow>p:last-child{font-size:20px;color:#5E6870}.section{padding:90px 0}.heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px}.heading>p{max-width:350px;color:#5E6870;font-size:16px}.cards{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #D9D5CB;border-bottom:1px solid #D9D5CB}.cards article{padding:27px 22px 32px;border-right:1px solid #D9D5CB}.cards article:last-child{border:0}.cards small{color:#D4A84F;font-weight:700}.cards h3{font:700 23px/1.15 "Playfair Display",serif;margin:31px 0 13px}.cards p{font-size:15px;color:#5E6870;margin:0}.dark{background:#12304A;color:#fff;padding:82px 0}.bulk-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}.light{color:#D4A84F}.dark h2 em{color:#D4A84F}.dark p:not(.eyebrow){color:#E7E2D8;max-width:650px}.light-btn{display:inline-block;background:#fff;color:#12304A;padding:15px 20px;font-size:12px;font-weight:700}.bulk-grid>div:last-child span{display:block;color:#D4A84F;font-size:10px;letter-spacing:.12em;margin-top:15px}.paper{background:#F8F6F0}.about-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:center}.experience{min-height:430px;background:#12304A;color:#fff;display:flex;align-items:flex-end;padding:28px;gap:14px}.experience span{font:700 145px/.7 "Playfair Display",serif;color:#D4A84F}.experience small{font-size:12px;letter-spacing:.15em;line-height:1.4}.lead{font-size:20px;color:#5E6870;max-width:650px}.principles{margin-top:30px;border-top:1px solid #D9D5CB}.principles div{display:grid;grid-template-columns:40px 1fr;border-bottom:1px solid #D9D5CB}.principles b{padding-top:18px;color:#D4A84F;font-size:11px}.principles p{margin:14px 0;font-size:15px}.principles strong{display:block;margin-bottom:3px}.contact{padding:90px 0}.contact-grid{display:grid;grid-template-columns:1fr .75fr;gap:80px}.contact p:not(.eyebrow){color:#5E6870;max-width:560px}.details{border-top:1px solid #D9D5CB;margin-top:30px}.details>*{display:block;padding:15px 0;border-bottom:1px solid #D9D5CB;font-size:15px}.details small{display:block;color:#12304A;font-size:11px;letter-spacing:.18em;font-weight:700;margin-bottom:4px}.contact-box{background:#F8F6F0;padding:38px;display:flex;flex-direction:column;justify-content:flex-end;min-height:390px}.contact-box>span{color:#12304A;font-size:12px;letter-spacing:.18em;font-weight:700}.contact-box strong{font:700 46px/1.0 "Playfair Display",serif;margin:22px 0 35px}.contact-box .cta{align-self:flex-start}footer{background:#20262B;color:#D8DCE0;padding:22px 0;font-size:12px;letter-spacing:.03em}footer .wrap{display:flex;justify-content:space-between}
@media(max-width:900px){.nav nav{display:none}.hero-grid,.about-grid,.contact-grid,.bulk-grid{grid-template-columns:1fr;gap:45px}.cards{grid-template-columns:1fr 1fr}.cards article:nth-child(2){border-right:0}.cards article:nth-child(-n+2){border-bottom:1px solid #D9D5CB}.heading{align-items:flex-start;flex-direction:column}.experience{min-height:340px}}@media(max-width:600px){.wrap{width:calc(100% - 28px)}.nav{height:68px}.mini-cta{font-size:10px;padding:8px 11px}.hero{padding:58px 0}.hero h1{font-size:51px}.hero-copy{font-size:16px}.actions{align-items:flex-start;flex-direction:column;gap:17px}.stats{gap:18px;flex-wrap:wrap}.visual{min-height:365px}.visual-title{font-size:38px;bottom:53px}.section,.contact,.dark{padding:65px 0}.intro{padding:70px 0}.cards{grid-template-columns:1fr}.cards article{border-right:0!important;border-bottom:1px solid #D9D5CB!important}.cards article:last-child{border-bottom:0!important}.experience{min-height:290px}.experience span{font-size:100px}.contact-box strong{font-size:40px}footer .wrap{flex-direction:column;gap:7px}}

/* Signature scroll interaction: a small ball of thread rolls with the page. */
.thread-scroll{
  position:fixed;
  top:11vh;
  right:24px;
  z-index:30;
  width:58px;
  height:58px;
  transform:translateY(-50%);
  pointer-events:none;
  filter:drop-shadow(0 7px 12px rgba(18,48,74,.18));
}
.thread-scroll::before{
  content:"";
  position:absolute;
  left:50%;
  top:-30px;
  width:1px;
  height:30px;
  background:linear-gradient(to bottom, transparent, rgba(212,168,79,.55));
}
.thread-scroll::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-30px;
  width:1px;
  height:30px;
  background:linear-gradient(to top, transparent, rgba(212,168,79,.55));
}
.thread-ball{
  width:58px;
  height:58px;
  will-change:transform;
}
.thread-ball svg{
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
}
.thread-core{
  fill:#12304A;
  stroke:#D4A84F;
  stroke-width:2.5;
}
.thread-line{
  fill:none;
  stroke:#D4A84F;
  stroke-width:3.2;
  stroke-linecap:round;
  opacity:.96;
}
.thread-line-2{stroke:#F8F6F0;stroke-width:1.8;opacity:.85}
.thread-line-3{stroke:#168C8C;stroke-width:2.8;opacity:.95}
.thread-line-4{stroke:#D4A84F;stroke-width:2.2;opacity:.82}
.thread-line-5{stroke:#F8F6F0;stroke-width:1.7;opacity:.72}

@media(max-width:600px){
  .thread-scroll{right:10px;width:44px;height:44px}
  .thread-ball{width:44px;height:44px}
  .thread-scroll::before,.thread-scroll::after{height:18px}
  .thread-scroll::before{top:-18px}
  .thread-scroll::after{bottom:-18px}
}

@media(prefers-reduced-motion:reduce){
  .thread-scroll{top:50vh}
  .thread-ball{transform:none!important}
}

/* Craft image gallery */
.craft-gallery{padding:95px 0;background:#F8F6F0}
.craft-heading{margin-bottom:42px}
.craft-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:270px 270px;gap:18px}
.craft-card{position:relative;overflow:hidden;margin:0;background:#12304A;min-height:0}
.craft-card-wide{grid-row:1 / span 2}
.craft-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.25,1),filter .7s ease}
.craft-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,48,74,.02) 35%,rgba(18,48,74,.82) 100%)}
.craft-card figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:20px;color:#fff;display:grid;grid-template-columns:30px 1fr;column-gap:10px;align-items:start}
.craft-card figcaption span{color:#D4A84F;font-size:10px;font-weight:700;padding-top:3px}
.craft-card figcaption strong{font:700 23px/1.05 "Playfair Display",serif}
.craft-card figcaption small{grid-column:2;color:#F2EEE5;font-size:11px;line-height:1.45;margin-top:7px;max-width:360px}
@media (hover:hover) and (pointer:fine){.craft-card:hover img{transform:scale(1.045);filter:saturate(1.05)}}
@media(max-width:900px){.craft-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 300px}.craft-card-wide{grid-column:1 / span 2;grid-row:auto}}
@media(max-width:600px){.craft-gallery{padding:70px 0}.craft-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:14px}.craft-card,.craft-card-wide{grid-column:auto;grid-row:auto;height:310px}.craft-card-wide{height:360px}.craft-card figcaption strong{font-size:20px}}


/* Subtle tailoring-inspired background motion */
.hero,.intro,.section,.craft-gallery,.contact{position:relative;overflow:hidden}
.hero::before,.intro::before,.section::before,.craft-gallery::before,.contact::before{
  content:"";position:absolute;pointer-events:none;z-index:0;opacity:.18;
  width:180px;height:180px;border:1px dashed #168C8C;border-radius:50%;
  right:-55px;top:22%;animation:threadOrbit 16s linear infinite;
}
.hero::after,.intro::after,.section::after,.craft-gallery::after,.contact::after{
  content:"";position:absolute;pointer-events:none;z-index:0;
  left:-40px;bottom:16%;width:240px;height:1px;
  background:repeating-linear-gradient(90deg,#D4A84F 0 8px,transparent 8px 15px);
  transform:rotate(-9deg);opacity:.28;animation:stitchSlide 7s linear infinite;
}
.hero-grid,.intro .narrow,.section .wrap,.craft-gallery .wrap,.contact .wrap{position:relative;z-index:1}

/* Animated needle / stitch motif */
.intro::marker{content:""}
.section:nth-of-type(2)::before{width:240px;height:240px;right:-85px;top:8%;border-style:dotted;animation-duration:20s}
.craft-gallery::before{left:auto;right:-75px;top:12%;border-color:#D4A84F;animation-direction:reverse}
.contact::before{right:auto;left:-75px;top:35%;border-color:#168C8C}
@keyframes threadOrbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes stitchSlide{0%{transform:translateX(-80px) rotate(-9deg)}100%{transform:translateX(100vw) rotate(-9deg)}}
@media(prefers-reduced-motion:reduce){.hero::before,.intro::before,.section::before,.craft-gallery::before,.contact::before,.hero::after,.intro::after,.section::after,.craft-gallery::after,.contact::after{animation:none}}
@media(max-width:600px){
 body{font-size:16px}
 .nav nav{font-size:14px}
 .hero-copy{font-size:18px}
 .cards p{font-size:15px}
 .heading>p,.craft-card figcaption small{font-size:14px}
 .lead{font-size:18px}
 .details>*{font-size:15px}
 .hero::before,.intro::before,.section::before,.craft-gallery::before,.contact::before{width:120px;height:120px;right:-70px}
 .hero::after,.intro::after,.section::after,.craft-gallery::after,.contact::after{width:170px}
}

/* Top visual banner — kept separate from text for maximum readability. */
.top-banner{width:100%;height:245px;overflow:hidden;background:#12304A;position:relative}
.top-banner img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:saturate(.88) contrast(.98)}
.top-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,48,74,.18),rgba(18,48,74,.03) 50%,rgba(18,48,74,.16));pointer-events:none}
.malayalam-kicker,.malayalam-line,.service-malayalam{font-family:"Noto Sans Malayalam","Noto Sans",sans-serif}
.malayalam-kicker{margin:-6px 0 14px;color:#168C8C;font-size:15px;font-weight:600;letter-spacing:.01em}
.malayalam-line{font-size:16px;color:#5E6870;line-height:1.8;margin:0;max-width:590px}
.service-malayalam{display:block;color:#168C8C;font-size:14px;font-weight:600;line-height:1.5;margin:-3px 0 10px}
.contact-malayalam{margin-top:-4px}
@media(max-width:600px){
  .top-banner{height:175px}
  .top-banner img{object-position:center 52%}
  .malayalam-kicker{font-size:13px;line-height:1.7}
  .malayalam-line{font-size:15px;line-height:1.8}
  .service-malayalam{font-size:13px;margin-top:-2px}
}
