
*{box-sizing:border-box}body{position:relative;margin:0;background:#fafafa;color:#111;font-family:'Inter Tight',sans-serif}
.grid{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 calc(25% - 1px),#ebebe8 calc(25% - 1px) 25%,transparent 25% calc(75% - 1px),#ebebe8 calc(75% - 1px) 75%,transparent 75%)}
.wrap{max-width:1280px;margin:0 auto;padding:0 40px;position:relative}
.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(250,249,246,0.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.site-header nav{display:flex;align-items:center;justify-content:space-between;padding:28px 40px;max-width:1280px;margin:0 auto}
.nav-links{display:flex;gap:32px;list-style:none;margin:0;padding:0;font-size:15px;font-weight:500}
.nav-links a{color:#111;text-decoration:none;transition:color .2s}.nav-links a:hover{color:#666}
.nav-dot{display:inline-block;width:6px;height:6px;background:#EAD428;border-radius:50%;margin-left:-6px;margin-right:6px;vertical-align:middle}
.nav-highlight{}
.nav-right{display:flex;align-items:center;gap:16px}
.nav-cta{display:inline-flex;align-items:center;gap:6px;background:#FFD400;color:#111;padding:12px 22px;border-radius:999px;font-weight:600;font-size:14px;text-decoration:none;transition:background .2s}.nav-cta:hover{background:#e6c000}
.lang{font-size:13px;letter-spacing:.04em}.lang em{color:#bbb;margin:0 5px;font-style:normal}.lang a{color:#888;text-decoration:none}.lang a:hover{color:#111}
.header-line{position:relative;height:1px;background:#111}
.header-line .mark-left,.header-line .mark-right{position:absolute;top:-12px;width:25px;height:25px}
.header-line .mark-left{left:calc(25% - 12.5px)}.header-line .mark-right{right:calc(25% - 12.5px)}
.header-line .mark-left:before,.header-line .mark-left:after,.header-line .mark-right:before,.header-line .mark-right:after{content:"";position:absolute;background:#FFD400}
.header-line .mark-left:before,.header-line .mark-right:before{left:11.5px;top:0;width:2px;height:25px}
.header-line .mark-left:after,.header-line .mark-right:after{top:11.5px;left:0;height:2px;width:25px}
.header-spacer{height:90px}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:8px;cursor:pointer}
.nav-toggle span{display:block;width:22px;height:2px;background:#111;transition:transform .2s}
#services,#how,#contact,#faq,#ai{scroll-margin-top:100px}
.sc{font-size:13px;color:#555;text-decoration:underline;text-underline-offset:3px}
.hero{padding:90px 0 70px}.kicker{font-size:13px;letter-spacing:.14em;text-transform:uppercase;display:flex;gap:24px;color:#555}
h1{font-size:150px;line-height:.92;letter-spacing:-.05em;font-weight:800;margin:40px 0 44px;max-width:1200px}
h1 i{font-family:'Instrument Serif',serif;font-weight:400;letter-spacing:-.02em}
.hl{background:linear-gradient(transparent 58%,#FFD400 58% 92%,transparent 92%);padding:0 6px}
.herorow{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end}.herorow p{font-size:16px;line-height:1.6;margin:0;max-width:560px;color:#555}.herorow .hero-subtitle{font-size:21px;font-weight:700;line-height:1.4;margin:0 0 14px;color:#111}
.ctas{display:flex;gap:14px;justify-content:flex-end}.btn{display:inline-flex;align-items:center;gap:12px;background:#111;color:#fff;padding:16px 24px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none}
.btn.y{background:#FFD400;color:#111}.btn.o{background:transparent;color:#111;box-shadow:inset 0 0 0 1.5px #111}
.arrow-doodle{position:absolute;right:120px;top:300px}
section{padding:90px 0;border-top:1px solid #111}.sh{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:50px}
.sh .lab{font-size:13px;letter-spacing:.14em;text-transform:uppercase}.sh h2{font-size:64px;line-height:1;letter-spacing:-.04em;margin:0;font-weight:700}.sh h2 i{font-family:'Instrument Serif';font-weight:400}
.sh p{font-size:18px;color:#444;max-width:640px;margin:18px 0 0}
.line{display:flex;align-items:baseline;gap:20px;margin:40px 0 18px}.line h3{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-size:40px;margin:0}.line span{font-size:13px;color:#777;letter-spacing:.1em}

/* Intro Band */
.intro-band{display:flex;align-items:flex-end;justify-content:space-between;padding:60px 0 70px;gap:60px}
.intro-band-content{flex:0 0 60%;max-width:700px}
.intro-subtitle{font-size:22px;font-weight:700;color:#111;line-height:1.4;margin:0 0 16px}
.intro-body{font-size:16px;color:#666;line-height:1.6;margin:0}
.intro-band-ctas{display:flex;gap:14px;flex-shrink:0}

/* Services Section - New Design */
.services-section{padding:90px 0 70px}
.services-header{text-align:center;max-width:800px;margin:0 auto 70px}
.services-header .lab{display:block;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#555;margin-bottom:32px}
.services-header h2{font-size:72px;line-height:1;letter-spacing:-.045em;margin:0 0 28px;font-weight:800}
.services-header h2 i{font-family:'Instrument Serif';font-weight:400;letter-spacing:-.02em}
.services-subtitle{font-size:21px;font-weight:600;color:#111;margin:0 0 18px;line-height:1.4}
.services-body{font-size:17px;line-height:1.6;color:#555;margin:0 0 32px;max-width:680px;margin-left:auto;margin-right:auto}
.services-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.services-ctas .arr-up{font-style:normal}

/* Services Grid - uses bento 4-column layout */

.service-card{background:#fff;border:1px solid #e3e1db;border-radius:20px;padding:32px 28px 28px;position:relative;display:flex;flex-direction:column;min-height:380px;color:#111;text-decoration:none;cursor:pointer;transition:all .25s ease}
.service-card .n{font-family:'Instrument Serif';font-style:italic;font-size:30px;line-height:1;margin-bottom:20px;display:block}
.service-card h4{font-size:22px;letter-spacing:-.02em;margin:14px 0 10px;line-height:1.15;font-weight:700}
.service-card.w2 h4{font-size:38px;letter-spacing:-.035em;max-width:480px}
.service-card .service-desc{font-size:14.5px;line-height:1.55;color:#444;margin:0;max-width:440px}
.service-card.w2 .service-desc{max-width:520px}

/* Service bullets */
.service-bullets{list-style:none;margin:24px 0 0;padding:0;flex-grow:1}
.service-bullets li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;color:#333;padding:6px 0}
.service-bullets .check{color:#111;font-weight:600;flex-shrink:0}

/* Learn more link */
.learn-more{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;margin-top:24px;color:#111}
.learn-more .arr{font-size:20px;font-style:normal;transition:transform .2s ease}

/* Yellow featured card */
.service-card.y{background:#FFD400;border-color:#FFD400}
.service-card.y .service-desc{color:#333}
.service-card.y .service-bullets li{color:#222}
.service-card.y .service-bullets .check{color:#111}

/* Black featured card */
.service-card.k{background:#111;color:#fff;border-color:#111}
.service-card.k .service-desc{color:#bbb}
.service-card.k .service-bullets li{color:#ccc}
.service-card.k .service-bullets .check{color:#fff}
.service-card.k .learn-more{color:#fff}

/* Hover states */
.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.1)}
.service-card:hover .learn-more .arr{transform:translateX(4px)}
.service-card:focus-visible{outline:3px solid #FFD400;outline-offset:3px}
.service-card.y:focus-visible{outline-color:#111}

/* Legacy bento support (keep for any remaining usage) */
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:66px}.bx{background:#fff;border:1px solid #e3e1db;border-radius:18px;padding:28px 26px 62px;position:relative;min-height:270px}.bx.w2{grid-column:span 2}.bx.y{background:#FFD400;border-color:#FFD400}.bx.k{background:#111;color:#fff;border-color:#111}.bx.k p{color:#bbb}.bx .n{font-family:'Instrument Serif';font-style:italic;font-size:30px}.bx h4{font-size:22px;letter-spacing:-.02em;margin:14px 0 10px;line-height:1.15}.bx.w2 h4{font-size:38px;letter-spacing:-.035em;max-width:460px}.bx p{font-size:14.5px;line-height:1.55;color:#444;margin:0;max-width:440px}.bx{display:block;color:#111;text-decoration:none;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.bx p,.bx h4,.bx .n,.bx .arr{transition:color .2s ease}
.bx:hover,.bx.hv{background:#111;border-color:#111;color:#fff}.bx:hover p,.bx.hv p{color:#ddd}
.bx.y:hover,.bx.y.hv{background:#111;border-color:#111;color:#FFD400}.bx.y:hover p,.bx.y.hv p{color:#FFD400}
.bx.k:hover,.bx.k.hv{background:#fff;border-color:#e3e1db;color:#111}.bx.k:hover h4,.bx.k.hv h4{color:#FFD400}.bx.k:hover p,.bx.k.hv p{color:#111}
.bx:focus-visible{outline:3px solid #FFD400;outline-offset:3px}.bx.y:focus-visible{outline-color:#111}.bx .arr{position:absolute;left:26px;bottom:22px;font-size:14px;font-weight:600}.bx.w4{grid-column:span 4;min-height:0}.bx.sec p{max-width:760px}.bx.sec .scn{margin:22px 0 18px;color:#111;font-weight:500}.bx .xs{position:absolute;right:18px;top:22px;width:132px;height:66px}
.bx-bullets{list-style:none;margin:18px 0 0;padding:0}.bx-bullets li{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.5;padding:5px 0}.bx-bullets .check{flex-shrink:0;font-weight:600}
.bx.k .bx-bullets li{color:#ccc}.bx.k .bx-bullets .check{color:#fff}.bx.y .bx-bullets li{color:#333}.bx.y .bx-bullets .check{color:#111}
.bx:hover .bx-bullets li,.bx:hover .bx-bullets .check,.bx.hv .bx-bullets li,.bx.hv .bx-bullets .check{color:#ddd}
.bx.y:hover .bx-bullets li,.bx.y:hover .bx-bullets .check,.bx.y.hv .bx-bullets li,.bx.y.hv .bx-bullets .check{color:#FFD400}
.bx.k:hover .bx-bullets li,.bx.k:hover .bx-bullets .check,.bx.k.hv .bx-bullets li,.bx.k.hv .bx-bullets .check{color:#111}
.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ddd}.step{padding:28px 24px 10px 0;border-right:1px solid #ddd;margin-right:24px}.step:last-child{border:0}
.step .n{font-family:'Instrument Serif';font-size:64px;line-height:1}.step h4{font-size:22px;margin:14px 0 8px}.step p{color:#444;line-height:1.5;margin:0}
.band{background:#111;color:#fff;border-radius:28px;padding:70px 60px;display:flex;justify-content:space-between;align-items:end;gap:40px;position:relative;overflow:hidden}
.band:after{content:"";position:absolute;left:-80px;bottom:-140px;width:420px;height:280px;border-radius:50%;border:2px solid #FFD400;opacity:.35}
.band h2{font-size:72px;letter-spacing:-.04em;line-height:1;margin:0;max-width:820px}.band h2 i{font-family:'Instrument Serif';font-weight:400;color:#FFD400}
.contact{max-width:680px;margin:0 auto}.csh{grid-template-columns:1fr!important}.csh h2{text-align:center}.cmail{text-align:center;font-size:15px;color:#555;margin:22px 0 0}.cmail a{color:#111}
.box{background:#fff;border-radius:20px;padding:34px;position:relative;overflow:hidden;box-shadow:0 1px 0 #e7e7e4,0 10px 30px rgba(0,0,0,.04)}
.box.geo:before{content:"";position:absolute;right:0;bottom:0;width:0;height:0;border-left:220px solid transparent;border-bottom:160px solid rgba(255,212,0,.14)}
.form label{display:block;font-size:13px;font-weight:600;margin-bottom:14px}.form input,.form select,.form textarea{display:block;width:100%;margin-top:6px;border:1px solid #ddd;border-radius:12px;padding:13px;font:inherit;font-weight:400;background:#fff}
.form .btn{margin-top:8px}.form .btn i{font-style:normal}
.addr h4{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#777;margin:0 0 8px}.addr p{font-size:20px;line-height:1.45;margin:0 0 22px}
.map{display:block;position:relative;border-radius:16px;overflow:hidden;margin-top:10px}.map img{display:block;width:100%;height:240px;object-fit:cover}
.map span{position:absolute;left:12px;bottom:12px;background:#fff;color:#111;font-size:13px;padding:6px 12px;border-radius:999px}
footer{border-top:1px solid #111;padding:40px 0 60px;display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#555}
footer .big{font-size:13px}
/* Tablet: 1024px and below */
@media(max-width:1024px){
.bento{grid-template-columns:repeat(2,1fr)}
.bx.w2{grid-column:span 2}
.services-header h2{font-size:56px}
}

/* Mobile: 768px and below */
@media(max-width:768px){
.services-header{margin-bottom:50px}
.services-header h2{font-size:44px}
.services-subtitle{font-size:18px}
.services-body{font-size:16px}
.services-ctas{flex-direction:column;align-items:stretch}
.services-ctas .btn{justify-content:center}
}

@media(max-width:1520px){.header-line .mark-left,.header-line .mark-right{display:none}}
@media(max-width:700px){.wrap{padding:0 18px}.site-header nav{padding:14px 18px;gap:12px}.nav-links{display:none}.lang{display:none}.nav-toggle{display:flex;order:3}.nav-cta{padding:10px 16px;font-size:13px;white-space:nowrap;flex-shrink:0}.nav-right{gap:10px}.header-line .mark-left{left:calc(50% - 12.5px)}.header-line .mark-right{display:none}.header-spacer{height:70px}h1{font-size:56px}.herorow,.sh,.contact{grid-template-columns:1fr}.ctas{justify-content:flex-start;flex-wrap:wrap}.intro-band{flex-direction:column;gap:30px;padding:40px 0 50px}.intro-band-content{flex:none;max-width:none}.intro-subtitle{font-size:19px}.intro-body{font-size:15px}.intro-band-ctas{flex-wrap:wrap}
.nav-open .nav-links{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:rgba(250,249,246,0.98);padding:20px;gap:16px;border-bottom:1px solid #ddd}
.nav-open .lang{display:block;padding:10px 0}
.cards,.steps{grid-template-columns:1fr}.sh h2{font-size:40px}.band{padding:40px 26px;flex-direction:column;align-items:flex-start}.band h2{font-size:40px}.arrow-doodle{display:none}
.step{border-right:0;border-bottom:1px solid #ddd;margin:0}.bento{grid-template-columns:1fr;margin-top:44px}.bx.w2,.bx.w4{grid-column:auto}.bx{min-height:0}.bx.w2 h4{font-size:28px}.kicker{flex-wrap:wrap;gap:10px}footer{flex-direction:column;gap:14px;align-items:flex-start}.grid{background:none}
.services-section{padding:60px 0 50px}
}
.xsec{position:relative}.xm{position:absolute;top:-12px;left:calc(50% - 50vw);width:100vw;height:25px;pointer-events:none;z-index:2}.xm i{position:absolute;top:0;width:25px;height:25px;margin-left:-12px}.xm i:before,.xm i:after{content:"";position:absolute;background:#F2C200}.xm i:before{left:11.5px;top:0;width:1.5px;height:25px}.xm i:after{top:11.5px;left:0;height:1.5px;width:25px}@media(max-width:700px){.xm i:nth-child(1),.xm i:nth-child(3){display:none}}.scb{display:flex;align-items:center;justify-content:space-between;gap:40px;border:1px solid #111;border-radius:22px;padding:44px 48px;background:#fff}.scb h2{font-size:48px;letter-spacing:-.04em;line-height:1;margin:14px 0 14px}.scb h2 i{font-family:"Instrument Serif";font-weight:400;letter-spacing:-.02em}.scb p{font-size:17px;line-height:1.5;color:#444;margin:0;max-width:640px}.scb .btn{flex:none}.scb>div{flex:1}.scb .lab{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#555}@media(max-width:700px){.scb{flex-direction:column;align-items:flex-start;padding:30px 24px}.scb h2{font-size:36px}}nav ul a{color:inherit;text-decoration:none}section[id]{scroll-margin-top:24px}

/* Equivalents of the approved inline styles, plus controls the static mock does not have. */
.brand{display:inline-flex;align-items:center;gap:8px}
.lang a{text-decoration:none}
.xm i:nth-child(1){left:25%}
.xm i:nth-child(2){left:50%}
.xm i:nth-child(3){left:75%}
section.security-band{padding:70px 0}
.sh.tight{margin-bottom:10px}
section.cta-band{border:0;padding-top:20px;padding-bottom:80px}
.cta-band-inner{background:#111;color:#fff;border-radius:28px;padding:60px;display:flex;justify-content:space-between;align-items:center;gap:40px}
.cta-band-inner h2{font-size:48px;line-height:1.1;letter-spacing:-.035em;font-weight:700;margin:0 0 16px;max-width:500px}
.cta-band-inner p{font-size:16px;line-height:1.5;color:#bbb;margin:0;max-width:480px}
.cta-band-inner .btn{flex-shrink:0;display:inline-flex;align-items:center;gap:10px}
.cta-band-inner .arr-up{font-style:normal}
@media(max-width:1024px){.cta-band-inner{padding:48px}.cta-band-inner h2{font-size:36px}}
@media(max-width:700px){.cta-band-inner{flex-direction:column;align-items:flex-start;padding:36px 24px;gap:28px}.cta-band-inner h2{font-size:28px}.cta-band-inner p{font-size:15px}section.cta-band{padding-bottom:50px}}
button.btn{border:0;cursor:pointer;font-family:inherit;line-height:normal;letter-spacing:inherit;appearance:none;margin:0}
/* The closed control's text sits 1px lower than the approved page at 1440. The box height stays the same. */
.form select{padding-top:12px;padding-bottom:14px}
.hp{position:fixed;left:0;top:0;width:0;height:0;overflow:hidden;opacity:0;pointer-events:none}
html.has-consent .cookie{display:none}
.cookie{position:fixed;z-index:30;left:16px;right:16px;bottom:16px;background:#111;color:#fff;border-radius:18px;padding:18px 20px;display:flex;gap:16px;align-items:center;justify-content:space-between;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.cookie p{margin:0;font-size:14px;line-height:1.45;max-width:760px}
.cookie .actions{display:flex;gap:8px;flex:none}
.cookie .btn{padding:12px 18px;font-size:14px}.cookie .btn.o{color:#fff;box-shadow:inset 0 0 0 1.5px #fff}
.err{display:block;color:#8a1f1f;font-size:12px;font-weight:600;margin-top:4px}
@media(max-width:700px){.cookie{flex-direction:column;align-items:flex-start}}
.ai{border:0;padding:20px 0 60px}
.aib{background:#111;color:#fff;border-radius:28px;padding:72px 64px;display:grid;grid-template-columns:5fr 5fr;gap:72px}
.ai-left{display:flex;flex-direction:column}
.ai-eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#FFD400;margin-bottom:24px}
.ai-line{width:24px;height:1px;background:#FFD400}
.ai h2{font-size:48px;line-height:1.08;letter-spacing:-.03em;margin:0 0 28px;font-weight:800;color:#fff}
.ai h2 i{font-family:"Instrument Serif";font-weight:400;font-style:italic;letter-spacing:-.01em;color:#FFD400}
.ai-body{font-size:16px;line-height:1.65;color:#a0a0a0;margin:0 0 24px;max-width:480px}
.ai-bold{font-size:16px;line-height:1.5;color:#fff;font-weight:600;margin:0 0 32px;max-width:440px}
.ai-ctas{display:flex;align-items:center;gap:24px;margin-top:auto}
.ai-link{color:#fff;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.ai-link span{transition:transform .2s}.ai-link:hover span{transform:translateX(4px)}
.ai-right{display:flex;align-items:center}
.ai-list{list-style:none;margin:0;padding:0;width:100%}
.ai-list li{display:grid;grid-template-columns:32px 110px 1fr;gap:16px;padding:20px 0;border-top:1px solid #333;align-items:baseline}
.ai-list li:last-child{border-bottom:1px solid #333}
.ai-num{font-size:14px;color:#666;font-style:italic;font-family:"Instrument Serif"}
.ai-list b{font-size:17px;letter-spacing:-.01em;font-weight:700}
.ai-list span{font-size:15px;line-height:1.5;color:#999}
@media(max-width:900px){.aib{grid-template-columns:1fr;gap:48px}.ai-right{margin-top:20px}}
@media(max-width:700px){.aib{padding:44px 24px;border-radius:22px}.ai h2{font-size:34px}.ai-body,.ai-bold{font-size:15px}.ai-list li{grid-template-columns:28px 90px 1fr;gap:12px;padding:16px 0}.ai-list b{font-size:15px}.ai-list span{font-size:14px}}

/* FAQ Section */
.faq-section{padding:80px 0;border-top:1px solid #e3e1db}
.faq-layout{display:grid;grid-template-columns:280px 1fr;gap:80px;align-items:start}
.faq-title{font-size:44px;line-height:1.08;letter-spacing:-.035em;font-weight:800;margin:0}
.faq-accordion{border-top:1px solid #ddd}
.faq-item{border-bottom:1px solid #ddd}
.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;background:none;border:none;cursor:pointer;text-align:left;font:inherit;font-size:18px;font-weight:600;letter-spacing:-.02em;color:#111}
.faq-question:hover{color:#555}
.faq-chevron{width:20px;height:20px;flex-shrink:0;color:#888;transition:transform .2s ease}
.faq-chevron.rotate{transform:rotate(180deg)}
.faq-answer{overflow:hidden}
.faq-answer p{margin:0;padding:0 0 24px;font-size:16px;line-height:1.6;color:#555;max-width:640px}
[x-cloak]{display:none!important}
@media(max-width:900px){.faq-layout{grid-template-columns:1fr;gap:40px}.faq-title{font-size:36px}}
@media(max-width:700px){.faq-section{padding:50px 0}.faq-title{font-size:32px}.faq-question{font-size:16px;padding:20px 0}.faq-answer p{font-size:15px;padding-bottom:20px}}

/* Contact Section - Two Column Layout */
.contact-section{padding:90px 0 100px;border-top:1px solid #111}
.contact-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;max-width:1200px;margin:0 auto}
.contact-intro{padding-right:40px}
.contact-label{display:block;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#555;margin-bottom:28px}
.contact-title{font-size:56px;line-height:1.05;letter-spacing:-.04em;font-weight:800;margin:0 0 28px}
.contact-title i{font-family:'Instrument Serif',serif;font-weight:400;font-style:italic;letter-spacing:-.02em}
.contact-body{font-size:17px;line-height:1.6;color:#555;margin:0 0 32px;max-width:420px}
.contact-rule{border:none;border-top:1px solid #ddd;margin:0 0 32px}
.contact-steps{list-style:none;margin:0 0 36px;padding:0}
.contact-steps li{display:flex;align-items:baseline;gap:14px;font-size:15px;line-height:1.5;color:#333;padding:8px 0}
.step-num{font-family:'Instrument Serif',serif;font-style:italic;font-size:20px;color:#111;min-width:18px}
.contact-email-btn{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#111;padding:14px 22px;border-radius:999px;font-size:14px;font-weight:500;text-decoration:none;border:1px solid #e3e1db;transition:background .2s,border-color .2s}
.contact-email-btn:hover{background:#f5f5f5;border-color:#ccc}
.contact-email-btn svg{flex-shrink:0}

/* Contact Card */
.contact-card{background:#fff;border-radius:24px;padding:40px;position:relative;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.02),0 8px 24px rgba(0,0,0,.06)}
.contact-card:before{content:"";position:absolute;right:0;bottom:0;width:0;height:0;border-style:solid;border-width:0 0 200px 200px;border-color:transparent transparent rgba(255,212,0,.18) transparent}

/* Contact Form */
.contact-form{position:relative;z-index:1}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.form-group{margin-bottom:20px}
.form-row .form-group{margin-bottom:0}
.form-group label{display:block;font-size:13px;font-weight:600;color:#111;margin-bottom:8px}
.label-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.label-row label{margin-bottom:0}
.label-optional{font-size:12px;color:#888;font-weight:400}
.contact-form input[type="text"],.contact-form input[type="email"],.contact-form textarea{display:block;width:100%;border:1px solid #e5e5e5;border-radius:12px;padding:14px 16px;font:inherit;font-size:15px;font-weight:400;background:#fff;color:#111;transition:border-color .2s,box-shadow .2s}
.contact-form input[type="text"]:focus,.contact-form input[type="email"]:focus,.contact-form textarea:focus{outline:none;border-color:#FFD400;box-shadow:0 0 0 3px rgba(255,212,0,.15)}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#999}
.contact-form textarea{resize:vertical;min-height:120px}
.form-error{display:block;color:#a33;font-size:12px;font-weight:600;margin-top:6px}

/* Interest Chips */
.interest-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.chip{display:inline-flex;cursor:pointer}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-block;padding:10px 18px;border:1px solid #e3e1db;border-radius:999px;font-size:14px;font-weight:500;color:#333;background:#fff;transition:all .15s ease}
.chip:hover span{border-color:#bbb}
.chip input:checked + span{background:#111;color:#fff;border-color:#111}
.chip input:focus-visible + span{outline:2px solid #FFD400;outline-offset:2px}

/* Form Footer */
.form-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}
.submit-btn{display:inline-flex;align-items:center;gap:10px;background:#FFD400;color:#111;padding:16px 28px;border-radius:999px;font-weight:600;font-size:15px;border:none;cursor:pointer;transition:background .2s}
.submit-btn:hover{background:#e6c000}
.submit-btn .arr{font-style:normal;transition:transform .2s}
.submit-btn:hover .arr{transform:translateX(3px)}
.privacy-note{font-size:12px;color:#888;line-height:1.4;max-width:200px;text-align:right}
.privacy-note a{color:#666;text-decoration:underline}
.privacy-note a:hover{color:#111}

/* Success Message */
.success-message{text-align:center;font-size:15px;color:#2a7a2a;font-weight:600;margin:20px 0 0;padding:16px;background:#e8f5e8;border-radius:12px}

/* Contact Section Responsive */
@media(max-width:1024px){
.contact-layout{gap:50px}
.contact-intro{padding-right:0}
.contact-title{font-size:44px}
}
@media(max-width:768px){
.contact-section{padding:60px 0 70px}
.contact-layout{grid-template-columns:1fr;gap:48px}
.contact-intro{max-width:none}
.contact-title{font-size:40px}
.contact-body{max-width:none}
.contact-card{padding:28px 24px}
.form-row{grid-template-columns:1fr;gap:0}
.form-row .form-group{margin-bottom:20px}
.form-footer{flex-direction:column;align-items:stretch;gap:16px}
.privacy-note{text-align:center;max-width:none}
}

/* Privacy Page */
.privacy-page .privacy-hero{padding:90px 0 50px}
.privacy-page .privacy-hero h1{font-size:56px;font-weight:800;letter-spacing:-.03em;margin:0 0 20px}
.privacy-page .privacy-hero .intro{font-size:18px;line-height:1.6;color:#444;max-width:700px}
.privacy-page .privacy-content{padding:0 0 80px;max-width:700px}
.privacy-page .privacy-content section{margin-bottom:40px}
.privacy-page .privacy-content h2{font-size:18px;font-weight:700;margin:0 0 12px;letter-spacing:-.01em}
.privacy-page .privacy-content p{font-size:15px;line-height:1.7;color:#444;margin:0}
@media(max-width:768px){
.privacy-page .privacy-hero{padding:60px 0 40px}
.privacy-page .privacy-hero h1{font-size:36px}
.privacy-page .privacy-content{padding:0 0 60px}
}
