
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');

:root{
  --coral:#FA7667;
  --orange:#F97D5F;
  --pink:#FB6A76;
  --peach:#FFB45A;
  --rose:#FC637E;
  --ink:#28182B;
  --muted:#756875;
  --cream:#FFF9F7;
  --white:#fff;
  --line:rgba(40,24,43,.12);
  --shadow:0 22px 70px rgba(40,24,43,.10);
  --radius:28px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--cream);
  overflow-x:hidden;line-height:1.65;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1160px,92%);margin:auto}
.site-header{
  position:fixed;top:0;left:0;width:100%;z-index:50;
  background:rgba(255,249,247,.82);backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(40,24,43,.08);
}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:.04em}
.brand img{width:34px;height:52px;object-fit:contain;background:transparent}
.brand span{font-size:15px}
.nav-links{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:600}
.nav-links a{position:relative;padding:7px 0}
.nav-links a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:linear-gradient(90deg,var(--orange),var(--pink));transition:.3s}
.nav-links a:hover:after,.nav-links a.active:after{width:100%}
.nav-cta{padding:11px 18px;border-radius:999px;background:var(--ink);color:#fff!important}
.nav-cta:after{display:none}
.menu-btn{display:none;border:0;background:transparent;font-size:25px;cursor:pointer;color:var(--ink)}

main{padding-top:78px}
.hero,.page-hero{position:relative;overflow:hidden}
.hero{min-height:calc(100vh - 78px);display:grid;place-items:center}
.page-hero{padding:115px 0 85px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:60px}
.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--rose);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;margin-bottom:18px}
.eyebrow:before{content:"";width:28px;height:2px;background:linear-gradient(90deg,var(--orange),var(--pink))}
h1,h2,h3{line-height:1.08}
h1{font-family:"Playfair Display",serif;font-size:clamp(48px,7vw,88px);letter-spacing:-.04em}
.page-hero h1{font-size:clamp(48px,7vw,76px)}
h2{font-family:"Playfair Display",serif;font-size:clamp(35px,5vw,58px);letter-spacing:-.035em}
h3{font-size:22px}
.gradient-text{background:linear-gradient(110deg,var(--orange),var(--rose));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:18px;color:var(--muted);max-width:650px;margin:25px 0 32px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 21px;border-radius:999px;font-weight:700;font-size:14px;transition:.3s;cursor:pointer;border:1px solid var(--ink)}
.btn-primary{background:var(--ink);color:#fff}
.btn-secondary{background:transparent}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(40,24,43,.13)}
.hero-art{position:relative;min-height:520px;display:grid;place-items:center}
.hero-art .orb{
  width:min(430px,80vw);height:min(430px,80vw);border-radius:50%;
  background:linear-gradient(145deg,#fff,#ffe9e2);
  box-shadow:var(--shadow);position:relative;
}

.hero-art img{position:absolute;z-index:2;width:190px;height:330px;object-fit:contain;filter:drop-shadow(0 30px 35px rgba(40,24,43,.14))}
.float-note{position:absolute;z-index:3;background:#fff;border:1px solid var(--line);padding:14px 17px;border-radius:18px;box-shadow:var(--shadow);font-size:13px;font-weight:700}
.note-one{top:12%;left:2%}.note-two{right:0;bottom:16%}
.visual{min-height:420px;position:relative;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow)}
.visual img{width:100%;height:100%;min-height:420px;object-fit:cover}
.visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(40,24,43,.25))}
.section{padding:105px 0}
.section-soft{background:#fff}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.section-head{max-width:760px;margin-bottom:55px}
.section-head p{color:var(--muted);margin-top:18px;font-size:17px}
.split-line{border-top:1px solid var(--line)}
.editorial{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.gradient-text {
  background: linear-gradient(110deg, var(--orange), var(--rose));

  -webkit-background-clip: text;
  background-clip: text;

  -webkit-text-fill-color: transparent;
  color: transparent;
}
.text-list{list-style:none;margin-top:26px}
.text-list li{padding:17px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:25px}
.text-list strong{font-size:16px}.text-list span{color:var(--muted);font-size:14px;text-align:right}
.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.feature{padding:30px 30px 30px 0;border-right:1px solid var(--line)}
.feature:not(:first-child){padding-left:30px}
.feature:last-child{border-right:0}
.feature p{color:var(--muted);font-size:14px;margin-top:10px}

/* =========================================================
   FASHION FAD - QUALITY PAGE IMAGE SECTION
========================================================= */

.photo-band {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr;
    gap: 22px;

    margin-top: 20px;
    margin-bottom: 100px;

    padding: 22px;

    background: #ffffff;

    border: 1px solid rgba(198, 197, 243, 0.35);

    border-radius: 28px;

    box-shadow:
        0 20px 60px rgba(41, 38, 61, 0.08);

    overflow: hidden;
}


.photo-band img {
    width: 100%;
    height: 360px;

    display: block;

    object-fit: cover;

    border-radius: 20px;

    transition:
        transform 0.45s ease,
        filter 0.45s ease;
}


.photo-band img:first-child {
    height: 430px;
}


.photo-band img:hover {
    transform: scale(1.03);
    filter: brightness(1.03);
}


/* =========================================================
   QUALITY PAGE SECTION SPACING
========================================================= */

.section {
    position: relative;
}


.section-soft {
    padding-top: 100px;
    padding-bottom: 100px;
}


.section:not(.section-soft) {
    padding-top: 80px;
    padding-bottom: 110px;
}


/* =========================================================
   QUALITY PAGE HERO
========================================================= */

.page-hero {
    position: relative;

    min-height: 480px;

    display: flex;
    align-items: center;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(243, 161, 203, 0.32),
            transparent 30%
        ),
        radial-gradient(
            circle at 10% 80%,
            rgba(198, 197, 243, 0.42),
            transparent 32%
        ),
        #faf9ff;
}


.page-content {
    position: relative;
    z-index: 2;
}


.page-content h1 {
    max-width: 800px;

    margin: 0 0 25px;

    color: #29263d;

    font-size: clamp(44px, 6vw, 76px);

    line-height: 1.05;

    letter-spacing: -2px;
}


.page-content .lead {
    max-width: 680px;

    color: #666477;

    font-size: 18px;

    line-height: 1.8;
}


.gradient-text {
    color: #7774b9;

    background:
        linear-gradient(
            90deg,
            #7774b9,
            #F3A1CB
        );

    -webkit-background-clip: text;
    background-clip: text;

    -webkit-text-fill-color: transparent;
}


/* =========================================================
   QUALITY LIST
========================================================= */

.text-list {
    list-style: none;

    margin: 35px 0 0;
    padding: 0;
}


.text-list li {
    display: grid;

    grid-template-columns: 130px 1fr;

    gap: 20px;

    padding: 17px 0;

    border-bottom:
        1px solid rgba(119, 116, 185, 0.12);
}


.text-list li strong {
    color: #7774b9;

    font-size: 15px;
}


.text-list li span {
    color: #666477;

    line-height: 1.6;
}


/* =========================================================
   QUALITY VISUAL
========================================================= */

.visual {
    position: relative;

    overflow: hidden;

    min-height: 500px;

    border-radius: 30px;

    background:
        linear-gradient(
            135deg,
            #F3A1CB,
            #C6C5F3
        );

    padding: 12px;
}


.visual img {
    width: 100%;
    height: 100%;

    min-height: 476px;

    display: block;

    object-fit: cover;

    border-radius: 22px;
}


/* =========================================================
   FOOTER
========================================================= */

.footer {
    position: relative;

    margin-top: 0;

    padding-top: 70px;

    background: #29263d;

    color: #ffffff;
}


/*
   This makes it visually clear that the images
   belong to the Quality page, not the footer.
*/

.footer::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;
    right: 0;

    height: 5px;

    background:
        linear-gradient(
            90deg,
            #F3A1CB,
            #C6C5F3,
            #7774b9
        );
}


/* Footer grid */

.footer-grid {
    display: grid;

    grid-template-columns:
        1.4fr
        0.8fr
        1fr;

    gap: 70px;

    padding-bottom: 55px;
}


/* Footer brand */

.footer .brand {
    display: inline-flex;

    align-items: center;

    gap: 12px;

    color: #ffffff;

    text-decoration: none;

    font-weight: 800;

    letter-spacing: 1px;
}


.footer .brand img {
    width: 44px;
    height: 44px;

    object-fit: contain;
}


.footer .brand span {
    color: #ffffff;
}


.footer-grid > div > p {
    max-width: 450px;

    margin-top: 20px;

    color: rgba(255,255,255,0.68);

    line-height: 1.8;
}


/* Footer headings */

.footer h4 {
    margin: 0 0 20px;

    color: #F3A1CB;

    font-size: 15px;

    letter-spacing: 1px;
}


/* Footer links */

.footer-grid a {
    display: block;

    width: fit-content;

    margin-bottom: 12px;

    color: rgba(255,255,255,0.68);

    text-decoration: none;

    line-height: 1.6;

    transition:
        color 0.3s ease,
        transform 0.3s ease;
}


.footer-grid a:hover {
    color: #F3A1CB;

    transform: translateX(4px);
}


/* Footer bottom */

.footer-bottom {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    padding: 22px 0;

    border-top:
        1px solid rgba(198,197,243,0.15);

    color: rgba(255,255,255,0.50);

    font-size: 13px;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 900px) {

    .photo-band {
        grid-template-columns: 1fr 1fr;

        margin-bottom: 75px;
    }


    .photo-band img,
    .photo-band img:first-child {
        height: 320px;
    }


    .photo-band img:first-child {
        grid-column: 1 / -1;

        height: 400px;
    }


    .footer-grid {
        grid-template-columns: 1fr 1fr;

        gap: 45px;
    }

}


@media (max-width: 650px) {

    .page-hero {
        min-height: 420px;
    }


    .page-content h1 {
        font-size: 43px;

        letter-spacing: -1px;
    }


    .page-content .lead {
        font-size: 16px;
    }


    .section-soft {
        padding-top: 70px;
        padding-bottom: 70px;
    }


    .section:not(.section-soft) {
        padding-top: 60px;
        padding-bottom: 75px;
    }


    .text-list li {
        grid-template-columns: 1fr;

        gap: 5px;
    }


    .visual {
        min-height: 380px;
    }


    .visual img {
        min-height: 356px;
    }


    .photo-band {
        grid-template-columns: 1fr;

        padding: 12px;

        gap: 14px;

        margin-bottom: 70px;

        border-radius: 22px;
    }


    .photo-band img,
    .photo-band img:first-child {
        grid-column: auto;

        height: 300px;

        border-radius: 16px;
    }


    .footer {
        padding-top: 55px;
    }


    .footer-grid {
        grid-template-columns: 1fr;

        gap: 35px;
    }


    .footer-bottom {
        flex-direction: column;

        align-items: flex-start;

        line-height: 1.6;
    }

}


@media (max-width: 420px) {

    .page-content h1 {
        font-size: 38px;
    }


    .photo-band img,
    .photo-band img:first-child {
        height: 260px;
    }


    .footer-grid {
        gap: 30px;
    }

}

.quote{padding:65px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}
.quote p{font-family:"Playfair Display",serif;font-size:clamp(28px,4vw,46px);max-width:900px;margin:auto}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.team-member{position:relative}
.team-member img{width:100%;height:430px;object-fit:cover;border-radius:24px;filter:saturate(.95)}
.team-meta{padding:18px 4px}
.team-meta p{color:var(--rose);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-top:5px}
.team-meta small{display:block;color:var(--muted);margin-top:7px}
.team-intro{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:end;margin-bottom:55px}
.service-list{border-top:1px solid var(--line)}
.service-item{display:grid;grid-template-columns:90px 1fr 1.3fr;gap:30px;padding:28px 0;border-bottom:1px solid var(--line);align-items:center}
.service-no{font-family:"Playfair Display",serif;font-size:34px;color:var(--rose)}
.service-item p{color:var(--muted)}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}
.contact-info{display:grid;gap:25px}
.contact-info div{padding:20px 0;border-bottom:1px solid var(--line)}
.contact-info span{display:block;color:var(--rose);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin-bottom:6px}
.form{display:grid;gap:16px}
.form input,.form textarea{width:100%;padding:16px 17px;border:1px solid var(--line);background:#fff;border-radius:15px;font:inherit;color:var(--ink);outline:none}
.form textarea{min-height:170px;resize:vertical}
.form input:focus,.form textarea:focus{border-color:var(--rose);box-shadow:0 0 0 4px rgba(252,99,126,.09)}
.footer{background:var(--ink);color:#fff;padding:60px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px}
.footer .brand{color:#fff}.footer p{color:rgba(255,255,255,.68);margin-top:14px;max-width:420px}
.footer h4{margin-bottom:14px}.footer a{color:rgba(255,255,255,.7);display:block;margin:8px 0;font-size:14px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:45px;padding-top:18px;color:rgba(255,255,255,.55);font-size:12px;display:flex;justify-content:space-between}
.particle-field{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.particle{position:absolute;width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--orange),var(--pink));opacity:.32;animation:drift linear infinite}
@keyframes drift{0%{transform:translate3d(0,0,0) scale(.7)}50%{transform:translate3d(45px,-70px,0) scale(1.2)}100%{transform:translate3d(-20px,-150px,0) scale(.7)}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:none}
.parallax{transition:transform .2s ease-out}
.page-content{position:relative;z-index:1}
@media(max-width:900px){
 .nav-links{position:absolute;top:78px;left:0;width:100%;background:rgba(255,249,247,.98);padding:22px 4%;display:none;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}
 .nav-links.open{display:flex}.menu-btn{display:block}
 .nav-cta{width:100%;text-align:center}.hero-grid,.two-col,.editorial,.contact-layout,.team-intro{grid-template-columns:1fr}
 .hero{padding:70px 0}.hero-art{min-height:450px}.feature-row{grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid var(--line);padding:25px 0!important}
 .photo-band{height:auto;grid-template-columns:1fr}.photo-band img{height:300px}.team-grid{grid-template-columns:1fr 1fr}
 .service-item{grid-template-columns:60px 1fr}.service-item p{grid-column:2}.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:580px){
 h1{font-size:48px}.section{padding:75px 0}.page-hero{padding:85px 0 65px}
 .hero-art img{width:145px;height:270px}.hero-art .orb{width:320px;height:320px}.float-note{font-size:11px}.team-grid{grid-template-columns:1fr}
 .footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}
 .brand span{font-size:13px}
}
