@font-face {
                font-family: "proxima-n-w01-reg";
                src: url("../fonts/Proxima%20N%20W01%20Reg.woff2") format("woff2"), url("../fonts/Proxima%20N%20W01%20Reg.woff") format("woff");
                font-weight: 400;
                font-style: normal;
                font-display: swap;
            }

            :root {
                --gold: rgb(203,161,110);
                --h2: rgb(227,187,138);
                --dark: rgb(39,38,36);
                --paper: #edebeb;
                --max: 820px;
                --line: rgba(0,0,0,.18);
            }

            * {
                box-sizing: border-box;
            }

            html,body {
                height: 100%;
            }

            body {
                margin: 0;
                color: var(--dark);
                background: #fff;
                font-family: "Palatino Linotype", Palatino, "Times New Roman", serif;
                -webkit-font-smoothing: antialiased;
                -moz-osx-font-smoothing: grayscale;
                text-rendering: optimizeLegibility;
            }

            a {
                color: inherit;
            }

            img {
                display: block;
                max-width: 100%;
                height: auto;
            }

            .container {
                max-width: var(--max);
                margin: 0 auto;
                padding: 0 24px;
            }

            header {
                height: 239px;
                background: #fff;
                border-bottom: 1px solid var(--line);
                display: flex;
                align-items: center;
            }

            .header-inner {
                display: flex;
                align-items: center;
                justify-content: flex-start;
                gap: 71px;
            }

            .logo {
                width: 149px;
                height: 148px;
                flex: 0 0 auto;
            }

            h1 {
                margin: 0;
                color: var(--gold);
                font: normal normal normal 30px/1.4em "Palatino Linotype", serif;
                font-size: 54px;
                letter-spacing: .02em;
                text-transform: uppercase;
                white-space: nowrap;
            }

            .hero {
                background: var(--dark);
                color: #fff;
            }

            .hero-inner {
                max-width: var(--max);
                margin: 0 auto;
                padding: 110px 24px;
            }

            .hero-text {
                margin: 0;
                color: #fff;
                font: normal normal normal 60px/1.4em "Palatino Linotype", serif;
                font-size: 60px;
                text-align: start;
            }

            @media (min-width: 820px) {
                .hero-inner {
                    height:574px;
					max-width:680px;
                    padding: 0 24px;
                    display: flex;
                    align-items: center;
                }
            }

            section {
                padding: 92px 0;
                background: #fff;
            }

            .paper {
                background: var(--paper);
            }

            .dark {
                background: var(--dark);
                color: #fff;
            }

            h2 {
                margin: 0 0 28px;
                color: var(--h2);
                letter-spacing: 0.25em;
                line-height: 1.6em;
                font: normal normal normal 16px/1.4em "proxima-n-w01-reg", sans-serif;
                font-size: 16px;
                text-align: start;
                text-transform: uppercase;
				max-width: 350px;
            }
			
			h2.term {max-width: 100%}
			
			h3, .home a {
                margin-top: 40px;
                color: var(--h2);
                                line-height: 1.6em;
                
                font-size: 16px;
                text-align: start;
                
            }

            .text {
                letter-spacing: normal;
                font-size: 16px;
                line-height: 1.6em;
                text-align: justify;
                font: normal normal normal 16px/1.4em "Palatino Linotype", serif;
                color: var(--dark);
            }

            .dark .text {
                color: #fff;
            }

            .divider {
                padding: 0;
                height: 140px;
                background: var(--dark);
                position: relative;
            }

            .divider::after {
                content: "";
                position: absolute;
                left: 0;
                right: 0;
                bottom: 0;
                height: 28px;
                background: repeating-linear-gradient( 135deg, #dadada 0, #dadada 12px, #7a7a7a 12px, #7a7a7a 24px );
                opacity: .95;
            }

            .adv-list {
                margin: 18px 0 0;
                padding-left: 22px;
            }

            .adv-list li {
                margin: 14px 0;
            }

            .service {
                margin: 0 0 26px;
            }

            .service-title {
                font-weight: 700;
                margin: 0 0 8px;
                font-size: 16px;
                line-height: 1.6em;
                text-align: start;
            }

            .contact-grid {
                display: grid;
                grid-template-columns: 1fr 1fr;
                gap: 64px;
            }

            .contact-col-title {
                margin: 0 0 18px;
                font: normal normal normal 16px/1.4em "proxima-n-w01-reg", sans-serif;
                letter-spacing: 0.25em;
                text-transform: uppercase;
                text-align: start;
                color: var(--dark);
            }

            .contact .box {
                text-align: start;
            }

            .contact .box, .contact .box a {
                font: normal normal normal 16px/1.4em "Palatino Linotype", serif;
                font-size: 16px;
                line-height: 1.6em;
            }

            @media (min-width: 821px) {
                .contact-grid > div:last-child {
                    justify-self: end;
                }

                .contact-grid > div:last-child .box, .contact-grid > div:last-child .contact-col-title {
                    text-align: start;
                }
            }

            .bottom-bar {
                padding: 18px 0 22px;
                background: #fff;
            }

            .bottom-bar .container {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 18px;
            }

            .backtop {
                text-align: start;
                font: normal normal normal 16px/1.4em "Palatino Linotype", serif;
                font-size: 14px;
                color: rgba(0,0,0,.55);
            }

            .copyright {
                text-align: end;
                font: normal normal normal 16px/1.4em "Palatino Linotype", serif;
                font-size: 14px;
                letter-spacing: .08em;
                color: rgba(203, 161, 110,1);
                white-space: nowrap;
            }

            @media (max-width: 820px) {
                header {
                    height:auto;
                    padding: 22px 0;
                }

                .container {
                    padding: 0 18px;
                }

                h1 {
                    font-size: 42px;
                }

                section {
                    padding: 72px 0;
                }

                .contact-grid {
                    grid-template-columns: 1fr;
                    gap: 32px;
                }

                .bottom-bar .container {
                    flex-direction: column;
                    align-items: flex-start;
                }

                .copyright {
                    text-align: start;
                }
            }

            @media (max-width: 520px) {
                .header-inner {
                    gap:28px;
                }

                .logo {
                    width: 110px;
                    height: 109px;
                }

                h1 {
                    font-size: 34px;
                }

                .hero-inner {
                    padding: 72px 18px;
                }

                .hero-text {
                    font-size: 34px;
                }
            }

            /* Link underline rules */
            .box a, #backToTop {
                text-decoration: none;
                text-underline-offset: 2px;
            }

            .box a:hover, #backToTop:hover {
                text-decoration: underline;
            }

            .policy a {
                text-decoration: underline;
            }

            .policy a:hover {
                text-decoration: none;
            }