:root{--navy:#0a1628;--navy-mid:#111d33;--navy-card:#14213a;--slate:#3a4a6b;--steel:#6b7a99;--silver:#9aa5b8;--cloud:#c8ced9;--ice:#e8ebf0;--white:#f6f7f9;--pure-white:#fff;--accent:#2a6db5;--accent-light:#3a82d1;--accent-subtle:#2a6db514;--serif:"DM Serif Display",Georgia,serif;--sans:"DM Sans",-apple-system,BlinkMacSystemFont,sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;overflow-x:hidden}body{font-family:var(--sans);color:var(--navy);background:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.7}a{color:inherit;text-decoration:none}html{scroll-behavior:smooth;font-size:16px}section{padding:6rem 3rem;position:relative}nav{z-index:100;-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--ice);background:#f6f7f9d9;justify-content:space-between;align-items:center;height:72px;padding:0 3rem;transition:all .3s;display:flex;position:fixed;top:0;left:0;right:0}.nav--scrolled{box-shadow:0 1px 12px #0a16280f}.nav__brand{font-family:var(--serif);color:var(--slate);letter-spacing:-.01em;align-items:center;font-size:1rem;font-weight:400;text-decoration:none;display:flex}.nav__links{gap:2.5rem;list-style:none;display:flex}.nav__links a{color:var(--slate);letter-spacing:.01em;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s}.nav__links a:hover{color:var(--navy)}.nav__toggle{cursor:pointer;background:0 0;border:none;padding:.5rem;display:none}.nav__toggle span{background:var(--navy);width:20px;height:2px;margin:4px 0;transition:all .3s;display:block}.hero{background:var(--white);justify-content:center;align-items:center;min-height:100vh;padding:6rem 3rem;display:flex;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(circle,#2a6db50a 0%,#0000 70%);border-radius:50%;width:700px;height:700px;position:absolute;top:-30%;right:-15%}.hero:after{content:"";background:linear-gradient(90deg,transparent 0%,var(--ice)20%,var(--ice)80%,transparent 100%);height:1px;position:absolute;bottom:0;left:0;right:0}.hero__content{text-align:center;z-index:1;max-width:720px;position:relative}.hero h1{font-family:var(--serif);color:var(--navy);letter-spacing:-.01em;opacity:0;margin-bottom:1.5rem;font-size:clamp(2.2rem,4.5vw,3.4rem);font-weight:400;line-height:1.2;animation:.8s .2s forwards fadeUp}.hero p{color:var(--slate);opacity:0;max-width:500px;margin:0 auto;font-size:1.1rem;font-weight:300;line-height:1.8;animation:.8s .4s forwards fadeUp}.section__inner{max-width:960px;margin:0 auto}.section__label{letter-spacing:.14em;text-transform:uppercase;color:var(--silver);margin-bottom:2rem;font-size:.75rem;font-weight:600}.section__heading{font-family:var(--serif);letter-spacing:-.005em;margin-bottom:1.5rem;font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:400;line-height:1.25}.portfolio{background:var(--navy);color:var(--pure-white)}.portfolio .section__label{color:var(--steel)}.portfolio .section__heading{color:var(--pure-white)}.portfolio__intro{color:var(--silver);max-width:560px;margin-bottom:3.5rem;font-size:1.05rem;font-weight:300;line-height:1.8}.portfolio__card{border:1px solid #ffffff14;border-radius:12px;grid-template-columns:1fr 1fr;align-items:center;gap:3rem;padding:3rem;transition:border-color .3s;display:grid}.portfolio__card:hover{border-color:#ffffff29}.card__badge{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-light);background:#2a6db526;border-radius:100px;margin-bottom:1.25rem;padding:.35rem .85rem;font-size:.7rem;font-weight:600;display:inline-block}.card__title{font-family:var(--serif);color:var(--pure-white);margin-bottom:1rem;font-size:1.75rem;line-height:1.3}.card__description{color:var(--silver);margin-bottom:1.75rem;font-size:.95rem;font-weight:300;line-height:1.75}.card__link{color:var(--pure-white);letter-spacing:.01em;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:gap .2s;display:inline-flex}.card__link:hover{gap:.75rem}.card__link svg{width:16px;height:16px}.card__visual{justify-content:center;align-items:center;min-height:220px;display:flex}.card__visual img{width:80%;max-width:220px;height:auto}.portfolio__future{border:1px dashed #ffffff1a;border-radius:12px;align-items:center;gap:1rem;margin-top:1.5rem;padding:1.75rem 3rem;display:flex}.portfolio__future__icon{width:36px;height:36px;color:var(--steel);background:#ffffff0a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.portfolio__future p{color:var(--steel);font-size:.875rem;font-weight:400}.contact{background:var(--white)}.contact__grid{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;display:grid}.contact__info{padding-top:0}.contact__info h3{font-family:var(--serif);color:var(--navy);margin-bottom:.5rem;font-size:1.1rem;font-weight:400}.contact__info p,.contact__info a{color:var(--slate);font-size:.95rem;font-weight:300;line-height:1.75;text-decoration:none}.contact__info a:hover{color:var(--accent)}.contact__detail{margin-bottom:2rem}.contact__form{padding-top:1.2rem}.contact__form__error{color:#e1302a;font-size:12px;font-weight:500;position:relative;top:-10px}.contact__form input,.contact__form textarea{width:100%;font-family:var(--sans);color:var(--navy);background:var(--pure-white);border:1px solid var(--cloud);border-radius:8px;outline:none;margin-bottom:1rem;padding:.9rem 1.1rem;font-size:.9rem;font-weight:400;transition:border-color .2s,box-shadow .2s;display:block}.contact__form input::placeholder,.contact__form textarea::placeholder{color:var(--silver)}.contact__form input:focus,.contact__form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.contact__form textarea{resize:vertical;min-height:120px}.contact__form button{background:var(--navy);color:var(--pure-white);font-family:var(--sans);letter-spacing:.02em;cursor:pointer;border:none;border-radius:8px;padding:.85rem 2rem;font-size:.875rem;font-weight:500;transition:background .2s,transform .1s,box-shadow .2s;display:inline-block}.contact__form button:hover{background:var(--navy-mid);box-shadow:1px 3px 1px #0a162880}.contact__form button:active{transform:scale(.98)}footer{border-top:1px solid var(--ice);background:var(--white);justify-content:space-between;align-items:center;padding:2.5rem 3rem;display:flex}.footer__left{color:var(--silver);font-size:.8rem;font-weight:400}.footer__links{gap:1.75rem;list-style:none;display:flex}.footer__links a{color:var(--silver);font-size:.8rem;font-weight:400;text-decoration:none;transition:color .2s}.footer__links a:hover{color:var(--slate)}.privacy{padding-top:70px}.privacy__container{max-width:80%;margin:0 auto}.privacy__header{text-align:center;margin:16px 0}.privacy__header h2{margin-top:8px}.privacy__section__header{margin:16px 0}.privacy__list{margin-left:48px;list-style:outside}section[aria-label="Notifications alt+T"]{padding:0!important}@media (max-width:768px){nav{padding:0 1.5rem}.nav__links{display:none}.nav__toggle{display:block}.nav--open .nav__toggle span{margin:0}.nav--open .nav__toggle span:first-child{transform:rotate(45deg)}.nav--open .nav__toggle span:nth-child(2){opacity:0}.nav--open .nav__toggle span:nth-child(3){transform:translate(0)translateY(-4px)rotate(-45deg)}.nav--open .nav__links{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--ice);background:#f6f7f9f7;flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex;position:absolute;top:72px;left:0;right:0}section{padding:4rem 1.5rem}.hero{padding:5rem 1.5rem}.contact__grid{grid-template-columns:1fr;gap:2.5rem}.portfolio__card{grid-template-columns:1fr;padding:2rem}.card__visual{min-height:160px}.portfolio__future{padding:1.25rem 1.5rem}footer{text-align:center;flex-direction:column;gap:1rem;padding:2rem 1.5rem}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.observer-wrapper{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(24px)}.observer-wrapper.visible{opacity:1;transform:translateY(0)}
@font-face{font-family:DM Serif Display;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8dd8a3188b79fd8f-s.a45bde5b.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Serif Display;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0c8f209abc35ee02-s.p.a4b9a15b.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Serif Display Fallback;src:local(Times New Roman);ascent-override:94.37%;descent-override:30.51%;line-gap-override:0.0%;size-adjust:109.78%}.dm_serif_display_d6399a83-module__YyrcHa__className{font-family:DM Serif Display,DM Serif Display Fallback;font-style:normal;font-weight:400}.dm_serif_display_d6399a83-module__YyrcHa__variable{--font-primary:"DM Serif Display","DM Serif Display Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/c3cb240f9c892514-s.d8e4bce2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.a62025f2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c3cb240f9c892514-s.d8e4bce2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.a62025f2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c3cb240f9c892514-s.d8e4bce2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.a62025f2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c3cb240f9c892514-s.d8e4bce2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.a62025f2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_88b5459b-module__ZUMMXW__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_88b5459b-module__ZUMMXW__variable{--font-secondary:"DM Sans","DM Sans Fallback"}
@font-face{font-family:Montserrat;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/b5e37d11b304fc7d-s.de3dacd9.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/178d5fd8ddb5ce59-s.83ef81a4.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/45b63fe037c60d0d-s.d2ca58db.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/f12c927eaf7b23c0-s.b6492805.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/a3264cb69f626630-s.p.952f628b.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat Fallback;src:local(Arial);ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.0%;size-adjust:112.83%}.montserrat_b0aa0f78-module__lBZ78a__className{font-family:Montserrat,Montserrat Fallback;font-style:italic}.montserrat_b0aa0f78-module__lBZ78a__variable{--font-montserrat:"Montserrat","Montserrat Fallback"}
